[x3d-public] Viewpoint (clipBoundary); missing from X3DUOM view on iPhone via google drive

Holger Seelig holger.seelig at yahoo.de
Sun Jan 4 13:20:08 PST 2026


Please not that this Viewport.x3d test is from the freewrl tests directory and will look same in freewrl.

https://create3000.github.io/Library/Tests/Components/Layering/Viewport.x3d

https://freewrl.sourceforge.io/tests/35_Layering/

Best regards,
Holger

—
Holger Seelig
holger.seelig at yahoo.de


> Am 04.01.2026 um 21:52 schrieb John Carlson <yottzumm at gmail.com>:
> 
> Holger’s example here has a rich use of clipBoundary!
> 
> https://github.com/create3000/Library/blob/main/Tests/Components/Layering/Viewport.x3d
> 
> Hopefully, you’ll get a donation!
> 
> 
> John 
> 
> On Sun, Jan 4, 2026 at 12:14 PM Don Brutzman <don.brutzman at gmail.com <mailto:don.brutzman at gmail.com>> wrote:
>> Appreciate your offer of a sophisticated example, but that is not what the archives and implementer community need right now.
>> 
>> In addition to LayerSet Layer Viewport, you have prototypes (which overly complicate a simple test) and Script code (which is not well supported by all X3D browsers).
>> 
>> ComposedCubeMapTexture and ComposedShader and ShaderPart add further complications that are not widely supported.
>> 
>> The request remains, for anyone: simple example demonstrating Viewport (perhaps with Layer LayerSet and no other more-complex nodes).
>> 
>> I recently sent everyone a long explanation of why simple examples are important, especially for issue requests.
>> [x3d-public] Request for X3D encoding comment output from X3DPSAIL
>> https://web3d.org/pipermail/x3d-public_web3d.org/2025-December/022165.html
>> Hope this helps.
>> 
>> all the best, Don
>> -- 
>> X3D Graphics, Maritime Robotics, Distributed Simulation
>> Relative Motion Consulting  https://RelativeMotion.info <https://relativemotion.info/>
>> 
>> On Sun, Jan 4, 2026 at 9:48 AM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com>> wrote:
>>> You can use this example of clipBoundary, in the archives, if you replace the shaders and images:
>>> 
>>> https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/data/bumpyx_itesliders.x3d
>>> 
>>> I was working on a version with different shaders and no images.  The sliders didn’t work in FreeWRL, so I shelved it.  It’s available on this page, and you can use in the archives.
>>> 
>>> https://coderextreme.net/X3DJSONLD/src/main/html/bumpyrefs.html
>>> 
>>> I don’t know if the sliders work on these as I am on my phone.   Try dragging the grey/white letters next to the = sign with the mouse.
>>> 
>>> Again, much of this is Christoph Valentin and Doug Sanden’s work, with a new face!
>>> 
>>> John
>>> 
>>> On Sun, Jan 4, 2026 at 10:42 AM Don Brutzman <don.brutzman at gmail.com <mailto:don.brutzman at gmail.com>> wrote:
>>>> John, we do not have a simple example demonstrating proper use of the Viewport node in the X3D Example Archives, and so it is difficult to test what you are reporting.
>>>> 
>>>> all the best, Don
>>>> -- 
>>>> X3D Graphics, Maritime Robotics, Distributed Simulation
>>>> Relative Motion Consulting  https://RelativeMotion.info <https://relativemotion.info/>
>>>> 
>>>> On Sun, Jan 4, 2026 at 8:31 AM John Carlson via x3d-public <x3d-public at web3d.org <mailto:x3d-public at web3d.org>> wrote:
>>>> 
>>>>> One of the gotchas in adding strict mode to Ajv JSON schema validation is Viewport.clipBoundary:
>>>>> 
>>>>> Viewport : X3DViewportNode, X3DBoundedObject {
>>>>>   MFNode  [in]     addChildren             [X3DChildNode]
>>>>>   MFNode  [in]     removeChildren          [X3DChildNode]
>>>>>   MFNode  [in,out] children       []       [X3DChildNode]
>>>>>   MFFloat [in,out] clipBoundary   0 1 0 1  [0,1]
>>>>>   SFBool  [in,out] bboxDisplay    FALSE
>>>>>   SFNode  [in,out] metadata       NULL     [X3DMetadataObject]
>>>>>   SFBool  [in,out] visible        TRUE
>>>>>   SFVec3f []       bboxCenter     0 0 0    (-∞,∞)
>>>>>   SFVec3f []       bboxSize       -1 -1 -1 [0,∞) or -1 -1 -1
>>>>> }
>>>>> I don’t recall if this was discussed on the mailing list before.
>>>>> 
>>>>> The error reported was:
>>>>> 
>>>>> strict mode: "prefixItems" is 4-tuple, but minItems or maxItems/items are not specified or different at path "#/oneOf/1/properties/%40clipBoundary"
>>>>> 
>>>>> I don’t know if # prefixItems = 4 is appropriate here, since clipBoundary is an MFFloat.  I don’t know how to set a default for MFFloat without prefixItems.  I could set minItems = 0
>>>>> 
>>>>> The JSON schema says: 
>>>>> 
>>>>> "@clipBoundary": {
>>>>> "$comment": "MFFloat inputOutput",
>>>>> "type": "array",
>>>>> "prefixItems": [
>>>>> {
>>>>> "default": 0,
>>>>> "maximum": 1,
>>>>> "minimum": 0,
>>>>> "type": "number"
>>>>> },
>>>>> {
>>>>> "default": 1,
>>>>> "maximum": 1,
>>>>> "minimum": 0,
>>>>> "type": "number"
>>>>> },
>>>>> {
>>>>> "default": 0,
>>>>> "maximum": 1,
>>>>> "minimum": 0,
>>>>> "type": "number"
>>>>> },
>>>>> {
>>>>> "default": 1,
>>>>> "maximum": 1,
>>>>> "minimum": 0,
>>>>> "type": "number"
>>>>> }
>>>>> ],
>>>>> "items": {
>>>>> "maximum": 1,
>>>>> "minimum": 0,
>>>>> "type": "number"
>>>>> }
>>>>> },
>>>>> 
>>>>> 
>>>>> X3DUOM 4.0 says: 
>>>>> 
>>>>> ConcreteNode name="Viewport">
>>>>> <InterfaceDefinition specificationUrl="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/layering.html#Viewport"
>>>>> appinfo="Viewport is a Grouping node that can contain most nodes.">
>>>>> <componentInfo name="Layering" level="1"/>
>>>>> <Inheritance baseType="X3DViewportNode"/>
>>>>> [snip]
>>>>> <field name="clipBoundary"
>>>>> type="MFFloat"
>>>>> accessType="inputOutput"
>>>>> default="0 1 0 1"
>>>>> minInclusive="0"
>>>>> maxInclusive="1"
>>>>> description="clipBoundary is specified in fractions of the normal render surface in the sequence left/right/bottom/top."/>
>>>>> [snip]
>>>>> 
>>>>> An addition, such as min/max length, if needed, would be a welcome addition to X3DUOM.
>>>>> 
>>>>> Also X3DUOM 4.0 XML ConcreteNode Viewport wasn’t viewable on my iPhone in Google drive as downloaded from web3d.org <http://web3d.org/> (there was no way to view the full XML in safari, chrome or on sourceforge or drive).  I probably could have downloaded from sourceforge.
>>>>> 
>>>>> So I used my old copy on GitHub.
>>>>> 
>>>>> John
>>>>> 
>>>>> 
>>>> 
>>>>> _______________________________________________
>>>>> 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/20260104/ec4895d2/attachment-0003.html>


More information about the x3d-public mailing list