[x3d-public] Experimental support for InlineGeometry in X_ITE
Don Brutzman
don.brutzman at gmail.com
Mon Feb 23 10:34:44 PST 2026
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
<../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
On Mon, Feb 23, 2026 at 1:28 AM Holger Seelig <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
>
>
> Am 23.02.2026 um 05:06 schrieb Don Brutzman <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> 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
>>
>>
>> _______________________________________________
>> x3d-public mailing list
>> 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/377d47a2/attachment-0001.html>
More information about the x3d-public
mailing list