[x3d-public] X3DJSAIL update: improved output when exporting ClassicVRML/VRML97 models

John Carlson yottzumm at gmail.com
Sat Jul 6 18:10:34 PDT 2024


Also searching for “roundtrip” crashes my browser as well.

Probably I’ll drop to the file system or build.xml to see how you are doing
roundtrip.  I see evidence of cleanup at this point.

Maybe I downloaded too many files to my phone.

John

On Sat, Jul 6, 2024 at 7:44 PM John Carlson <yottzumm at gmail.com> wrote:

> Note that if you search for “StackOverflow” in the logs, your browser may
> crash.  Mine did.  I think “Stack” may be sufficient.  Or just scroll.
>
> On Sat, Jul 6, 2024 at 7:39 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> Don,
>>
>> Looking a the logs, I see some stackoverflow errors.  I don’t have the
>> build.xml handy, but Terry N. suggested using <jvmarg> or <jvmargs> to set
>> the stack space of a java program.  I use value=“-Xss1g” for 1GB stack
>> space in x3dschema/build.xml.  If you have enough system resources
>> available, that might get you through some sticky points.  That’s pretty
>> much the maximum value.  This got me past some stack overflows in Core Java
>> (pattern matching) and HAnim validation.
>>
>> My build.xml is here:
>> https://github.com/coderextreme/x3dschema/blob/main/build.xml
>>
>> Please thank Terry again for solving this for me!
>>
>> John
>>
>> On Sat, Jul 6, 2024 at 5:44 PM Brutzman, Donald (Don) (CIV) via
>> x3d-public <x3d-public at web3d.org> wrote:
>>
>>> Am happy to report further progress in X3DJSAIL quality assurance (QA).
>>>
>>>
>>>    - X3D Java Scene Access Interface Library (X3DJSAIL)
>>>    - X3D Java Scene Access Interface Library (X3DJSAIL) supports
>>>    programmers with standards-based X3D Java interfaces and objects, all as
>>>    open source.
>>>    - https://www.web3d.org/specifications/java/X3DJSAIL.html
>>>
>>>
>>>  For each Java-language conversion of all 4000 models in the X3D
>>> Examples Archives, the build scripts are now testing both export and
>>> validation of .x3d XML and .x3dv ClassicVRML exports.
>>>
>>> This testing has led to further improvements in X3DJSAIL export, with
>>> ongoing improvements and bugfixes expected.  Build logs are maintained
>>> online.
>>>
>>>
>>> ========================================================================================
>>> processScenes.java for all of the example archives
>>> ...
>>> X3dForAdvancedModeling,X3dForWebAuthors,Vrml2Sourcebook,HumanoidAnimation,ConformanceNist,Basic,Savage
>>> ... results maintained at
>>> http://www.web3d.org/x3d/content/examples/build.java.all.log.txt
>>>
>>> ========================================================================================
>>>
>>> As ever, Javadoc for the example archives is also generated.
>>>
>>>
>>>    - X3D Resources, X3D Examples: Scene Archives for X3D
>>>    -
>>>    https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples
>>>
>>>
>>>
>>>    - https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/javadoc
>>>    -
>>>    https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/javadoc
>>>    - https://www.web3d.org/x3d/content/examples/Basic/javadoc
>>>    - https://www.web3d.org/x3d/content/examples/ConformanceNist/javadoc
>>>    -
>>>    https://www.web3d.org/x3d/content/examples/HumanoidAnimation/javadoc
>>>    - https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/javadoc
>>>
>>>
>>> Acknowledgements:
>>>
>>>
>>>    - Trouble report by John Carlson with testable example, which
>>>    enabled further sleuthing and correction
>>>    - Ticket 33, joints (USE) listed before skeleton (DEF)
>>>    - https://sourceforge.net/p/x3d/tickets/33
>>>
>>>
>>>
>>>    - Castle Model Converter (formerly tovrmlx3d)
>>>    - https://castle-engine.io/castle-model-converter
>>>
>>>
>>> Have fun with X3D using Java and X3DJSAIL!  8)
>>>
>>>
>>>
>>> all the best, Don
>>>
>>> --
>>>
>>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>>> brutzman at nps.edu
>>>
>>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>>> +1.831.656.2149
>>>
>>> X3D graphics, virtual worlds, navy robotics
>>> https://faculty.nps.edu/brutzman
>>>
>>>
>>>
>>> ------------------------------
>>> *From:* Brutzman, Donald (Don) (CIV)
>>> *Sent:* Saturday, June 22, 2024 1:28 AM
>>> *To:* X3D Public Mailing List (x3d-public at web3d.org)
>>> *Cc:* x3d at web3d.org; brutzman at nps.edu
>>> *Subject:* X3DJSAIL update: improved output when exporting
>>> ClassicVRML/VRML97 models
>>>
>>> Am happy to report an X3DJSAIL update: improved output when exporting
>>> ClassicVRML/VRML97 models.
>>>
>>>
>>>
>>>    - X3D Java Scene Access Interface Library (X3DJSAIL)
>>>    - X3D Java Scene Access Interface Library (X3DJSAIL) supports
>>>    programmers with standards-based X3D Java interfaces and objects, all as
>>>    open source.
>>>    - https://www.web3d.org/specifications/java/X3DJSAIL.html
>>>
>>>
>>>
>>> Motivating problem: excellent sleuthing and a well-stated issue report
>>> by John Carlson revealed a significant issue with the ClassicVRML export.
>>>
>>>
>>>
>>>    - X3DJSAIL: VRML head and Scene out of order
>>>    - https://sourceforge.net/p/x3d/tickets/27
>>>
>>>
>>>
>>> To improve quality assurance (QA) of ClassicVRML and VRML97 output by
>>> X3DJSAIL.  I applied command-line validation of the ClassicVRML .x3dv
>>> output using the *castle-model-converter* application by Michalis
>>> Kamburelis, all to good effect.  Troubleshooting led to fixes of the
>>> original reported problem and perhaps a dozen other errors also.  This
>>> validation is now part of the build scripts so that further regression
>>> testing is always produced as part of X3DJSAIL library development.
>>>
>>>
>>>
>>>    - Castle Model Converter (formerly tovrmlx3d)
>>>    - https://castle-engine.io/castle-model-converter
>>>
>>>
>>>
>>> Test program and output:
>>>
>>>
>>>
>>>    - HelloWorldProgram.java
>>>    - Description:  Example "smoke test" program to create a highly
>>>    detailed X3D model using the X3D Java Scene Access Interface Library
>>>    (X3DJSAIL).
>>>    -
>>>    https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java/examples/HelloWorldProgram.java
>>>
>>>
>>>
>>>    - HelloWorldProgram output, ClassicVRML and VRML97
>>>    -
>>>    https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java/examples/HelloWorldProgramOutput.x3dv
>>>    -
>>>    https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java/examples/HelloWorldProgramOutput.wrl
>>>    - note that other outputs are also provided:  XML .x3d, pretty-print
>>>    .html, Java, Python.py, compressed .exi, X_ITE and X3DOM html, etc.
>>>
>>>
>>>
>>>    - Build test log is in version control to track improvements and
>>>    avoid backsliding:
>>>    -
>>>    https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java/build.test.X3DJSAIL.txt
>>>    - Excerpt showing castle-model-converter validation:
>>>
>>>
>>>
>>> ClassicVRML validation: castle-model-converter.exe C:\x3d-code\
>>> www.web3d.org\x3d\stylesheets\java\examples/HelloWorldProgramOutput.x3dv
>>> --validate --enable-downloads
>>>
>>> castle-model-converter: Warning: X3D: Invalid X3D file: Invalid sequence
>>> in a string: "\n". Backslash must be followed by another backslash or
>>> double quote, for SFString and MFString (in X3D classic (VRML) encoding)
>>> and for MFString (in X3D XML encoding).
>>>
>>> castle-model-converter: Warning: VRML/X3D: Prototype "ArtDeco02"
>>> referenced by external prototype "ArtDeco02" doesn't have field
>>> "description"
>>>
>>> castle-model-converter: Warning: VRML/X3D: Inline node name
>>> "inlineScene" not found (or nothing was EXPORTed from it), cannot IMPORT
>>>
>>> castle-model-converter: Warning: X3D: Invalid X3D file: Invalid sequence
>>> in a string: "\n". Backslash must be followed by another backslash or
>>> double quote, for SFString and MFString (in X3D classic (VRML) encoding)
>>> and for MFString (in X3D XML encoding).
>>>
>>> castle-model-converter: Warning: X3D: Node "Anchor" is not allowed in
>>> the field "watchList" of the node "LoadSensor"
>>>
>>> castle-model-converter: Warning: X3D: Node "GeoMetadata" is not allowed
>>> in the field "watchList" of the node "LoadSensor"
>>>
>>> Exception "Exception":
>>>
>>> Validation failed (consult the warnings above), exiting with non-zero
>>> status
>>>
>>>
>>>
>>> Michalis was informed of the last two watchlist errors and reportedly
>>> has already fixed them.  Many of the other warnings are also fixable if the
>>> test program is improved to use actual file addresses instead of
>>> pseudo-urls.  Progress steadily continues…  the only “really bad errors”
>>> are the ones you don’t know about!
>>>
>>>
>>>
>>> Javadoc documentation for X3DJSAIL programmers:
>>>
>>>    - https://www.web3d.org/specifications/java/javadoc
>>>
>>>
>>>
>>> Over 4000 examples using X3DJSAIL, converted automatically from .x3d to
>>> .java in the X3D Example Models Archives:
>>>
>>>    - https://www.web3d.org/specifications/java/X3DJSAIL.html#Examples
>>>
>>>
>>>
>>> So X3DJSAIL is excellent for plain-old Java handling of X3D, and keeps
>>> getting better.  Again thanks to John and Michalis for their contributions
>>> to identify problems that are now fixed.
>>>
>>>
>>>
>>> Have fun with X3D Java!  😊
>>>
>>>
>>>
>>> all the best, Don
>>>
>>> --
>>>
>>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>>> brutzman at nps.edu
>>>
>>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>>> +1.831.656.2149
>>>
>>> X3D graphics, virtual worlds, navy robotics
>>> https://faculty.nps.edu/brutzman
>>>
>>>
>>> _______________________________________________
>>> 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/20240706/4f9e830b/attachment-0001.html>


More information about the x3d-public mailing list