[x3d-public] Experimental support for InlineGeometry in X_ITE

Holger Seelig holger.seelig at yahoo.de
Mon Feb 23 11:02:32 PST 2026


This sounds good and consistent. Besides EXTERNPROTO URLs there is also the initial URL where one can make a hash like „https://example.comt/workd.x3d#viewpointDEFname“, which should bind the named viewpoint on load of the X3D file.

Best regards,
Holger

—
Holger Seelig
holger.seelig at yahoo.de


> Am 23.02.2026 um 19:34 schrieb Don Brutzman <don.brutzman at gmail.com>:
> 
> Sounds excellent.  Have added the following prose to draft spec.  All improvements always welcome.
> X3D Tooltips, draft v4.1: InlineGeometry <https://www.web3d.org/x3d/tooltips/X3dTooltips.html#InlineGeometry>
> https://www.web3d.org/x3d/tooltips/X3dTooltips.html#InlineGeometry
> If the url field refers to an X3D file or a VRML97 file, the first geometry node found in that file (excluding prototypes) is used to provide the InlineGeometry contents. X3D browsers shall recognize such url fields that end with "#DEFname" to mean the geometry node with DEF DEFname in the given X3D file.
> EXAMPLES 
> 
>    [...]
>     Shape {
>         geometry InlineGeometry { url [ "HelloWorld.x3d#TextMessage" ] }
> 
>         appearance USE FancyPaintAppearance # previously defined
>     }
> Editors notes.
> The "#DEFname" syntax directly matches EXTERNPROTO URL semantics <x-msg://4/concepts.html#EXTERNPROTOURLSemantics> considerations. Not requiring IMPORT/EXPORT statements provides greater backwards compatibility with legacy models, avoiding unnecessary complications and possible ambiguity.
> 
> Next... For X3D 4.1, may I also propose we consider "required support" of STL/PLY formats rather than "recommended support" since numerous open-source conversion implementations are available, no IPR considerations pertain, and STL/PLY formats are the primary use case.  If anyone has objections or further considerations, please raise them.
> 
> all the best, Don
> -- 
> X3D Graphics, Maritime Robotics, Distributed Simulation
> Relative Motion Consulting  https://RelativeMotion.info <https://relativemotion.info/>
> 
> On Mon, Feb 23, 2026 at 1:28 AM Holger Seelig <holger.seelig at yahoo.de <mailto:holger.seelig at yahoo.de>> wrote:
>> Yes, that's a good idea, which I had already thought of.
>> 
>> If a hash exists, the exported node with this name is used, otherwise the first X3DGeometryNode from the file is used.
>> 
>> I have implemented this, but a new version will not be available until Sunday.
>> 
>> Best regards,
>> Holger
>> 
>>>> Holger Seelig
>> holger.seelig at yahoo.de <mailto:holger.seelig at yahoo.de>
>> 
>> 
>>> Am 23.02.2026 um 05:06 schrieb Don Brutzman <don.brutzman at gmail.com <mailto:don.brutzman at gmail.com>>:
>>> 
>>> Holger, thanks for sharing an excellent example.  Glad it works!
>>> 
>>> For your example, it certainly is convenient to load the first geometry node in an X3D model... but I am wondering if it might be better to encourage Inline with a regular EXPORT/IMPORT combination... I guess InlineGeometry load of first Shape saves loading a full X3D Inline, and possibly needing to hide it under a Switch (or use visible='false') to avoid rendering.
>>> 
>>> Building on your example, perhaps we might extend the syntax of InlineGeometry url to point to an EXPORTed node, i.e. change your
>>> <InlineGeometry DEF='InlinePoints'
>>>                 url='"assets/Points.x3d"'/>
>>> to something like
>>> <InlineGeometry DEF='InlinePoints'
>>>                 url='"assets/Points.x3d#ExportedPointSet"'/>
>>> Such a url extension is similar to how we handle external prototypes, and gives more flexibility regarding what to extract from the remote scene.  Also less error-prone in the future if someone shuffles the geometry around in an external .x3d file.  Nevertheless, it might also leave more opportunity for error if the EXPORT node is not geometry.  Hmmm... seems like we need to be careful here.  Wondering what people think.
>>> 
>>> I have added another example that shows Sunrize successfully loading an STL file via InlineGeometry.
>>> X3D Example Archives: X3D4AM, X3D for Advanced Modeling, Additive Manufacturing, Cleat Clamp Inline Geometry
>>> CleatClamp STL loaded by InlineGeometry with Appearance applied.
>>> https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AdditiveManufacturing/CleatClampInlineGeometryIndex.html
>>> https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AdditiveManufacturing/CleatClampInlineGeometrySunrize.png
>>> Additional progress:  I have added InlineGeometry to v4.1 drafts for X3D Tooltips, XML DTD and Schema, X3DUOM, X3DJSAIL Java, X3DPSAIL Python, and X3D Ontology for Semantic Web.  Node-aware links for each of these (and to X3D spec) are found at the top of each tooltip.
>>> X3D Tooltips, draft v4.1: InlineGeometry <https://www.web3d.org/x3d/tooltips/X3dTooltips.html#InlineGeometry>
>>> https://www.web3d.org/x3d/tooltips/X3dTooltips.html#InlineGeometry
>>> Again thanks for super demonstration of progress, and contributing to our thinking through InlineGeometry possibilities fully.
>>> 
>>> all the best, Don
>>> -- 
>>> X3D Graphics, Maritime Robotics, Distributed Simulation
>>> Relative Motion Consulting  https://RelativeMotion.info <https://relativemotion.info/>
>>> 
>>> On Sun, Feb 22, 2026 at 3:34 AM Holger Seelig via x3d-public <x3d-public at web3d.org <mailto:x3d-public at web3d.org>> wrote:
>>>> The new version of X_ITE, which has just been released, now comes with experimental support for InlineGeometry. 
>>>> 
>>>> The implementation of InlineGeometry loads a model and searches for the first X3DGeometryNode it finds. This is then taken and displayed.
>>>> 
>>>> There is already an example showing three InlineGeometry nodes with a box, lines, and points, where the load field can be toggled with a switch button and the color of all geometries can be changed:
>>>> https://create3000.github.io/x_ite/playground/?url=https://create3000.github.io/media/examples/Networking/InlineGeometry/InlineGeometry.x3d
>>>> 
>>>> The loaded files are very normal X3D or converted glTF, OBJ, STL, or PLY files in which an X3DGeometryNode is searched for.
>>>> 
>>>> Of course, InlineGeometry will work with any other node that expects an X3DGeometryNode or an X3DUrlObject.
>>>> 
>>>> Have fun trying out InlineGeometry, it works. 😃
>>>> 
>>>> Best regards,
>>>> Holger
>>>> 
>>>>>>>> Holger Seelig
>>>> holger.seelig at yahoo.de <mailto:holger.seelig at yahoo.de>
>>>> 
>>>> 
>>>> _______________________________________________
>>>> x3d-public mailing list
>>>> x3d-public at web3d.org <mailto:x3d-public at web3d.org>
>>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20260223/e0dd5931/attachment-0001.html>


More information about the x3d-public mailing list