ant -f C:\\x3d-code\\www.web3d.org\\x3d\\stylesheets test.X3DJSAIL versions: ANT_HOME=C:\apache-ant-1.10.14 JAVA_HOME=C:\Program Files\Java\openjdk\jdk-21 PYTHONHOME=C:\Program Files\Python312 PYTHONPATH=C:\x3d-code\www.web3d.org\x3d\stylesheets\python; Check CLASSPATH for X3DJSAIL X3DJSAIL.4.0.full.jar or X3DJSAIL.4.0.classes.jar CLASSPATH=C:\x3d-code\www.web3d.org\x3d\stylesheets\java\jars\X3DJSAIL.4.0.full.jar; javac source/target $java.source=17 $java.target=17 Java/JVM version $ant.java.version=21 Java/JVM detail version $java.version=21 Saxon directory $saxon.dir=C:\x3d-code\www.web3d.org\x3d\stylesheets\java\lib Saxon jar $saxon.jar=saxon-he-12.1.jar Ant version $ant.version=Apache Ant(TM) version 1.10.14 compiled on August 16 2023 ant -version Apache Ant(TM) version 1.10.14 compiled on August 16 2023 java -version openjdk version "21" 2023-09-19 OpenJDK Runtime Environment (build 21+35-2513) OpenJDK 64-Bit Server VM (build 21+35-2513, mixed mode, sharing) python -version Python 3.12.0 saxon -? help SaxonJ-HE 12.1 from Saxonica Usage: see http://www.saxonica.com/documentation/index.html#!using-xsl/commandline Format: net.sf.saxon.Transform options params Options available: -? -a -catalog -config -cr -diag -dtd -ea -expand -explain -export -ext -im -init -it -jit -json -l -lib -license -nogo -now -ns -o -opt -or -outval -p -quit -r -relocate -repeat -s -sa -scmin -strip -t -T -target -threads -TJ -Tlevel -Tout -TP -TPxsl -traceout -tree -u -val -versionmsg -warnings -x -xi -xmlversion -xsd -xsdversion -xsiloc -xsl -y --? Use -XYZ:? for details of option XYZ Params: param=value Set stylesheet string parameter +param=filename Set stylesheet document parameter ?param=expression Set stylesheet parameter using XPath !param=value Set serialization parameter Check for node.js installation from https://nodejs.org v21.0.0 X3DJSAIL.4.0.full.jar -version X3DJSAIL version date: 21 November 2023 Configuration settings: https://savage.nps.edu/Savage/developers.html =========================================== test.X3DJSAIL.clean: =========================================== Preliminary cleanups Could not find file C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples\CleatClamp_MeshLabLauncher.MeshLab.log.txt to delete. Could not find file C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples\CleatClamp_MeshLabLauncher.stl to delete. Could not find file C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples\CleatClamp_MeshLabLauncher.x3d to delete. Could not find file C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples\CleatClamp_MeshLabRoundTrip.log.txt to delete. Could not find file C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples\CleatClamp_RoundTrip.stl to delete. Could not find file C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples\CleatClamp_RoundTrip.MeshLab.log.txt to delete. Deleting C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples\CleatClamp.java Deleting C:\x3d-code\www.web3d.org\x3d\stylesheets\test\CameraExamples.java Deleting C:\x3d-code\www.web3d.org\x3d\stylesheets\test\HelloWorld.java Deleting C:\x3d-code\www.web3d.org\x3d\stylesheets\test\arc.java Deleting C:\x3d-code\www.web3d.org\x3d\stylesheets\test\flowers4.java test.mkdir: compile.examples.java: delete *.class bytecode... Deleting C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples\HelloWorldProgram.class compile HelloWorldProgram.java source... Compiling 1 source file to C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples Note: Annotation processing is enabled because one or more processors were found on the class path. A future release of javac may disable annotation processing unless at least one processor is specified by name (-processor), or a search path is specified (--processor-path, --processor-module-path), or annotation processing is enabled explicitly (-proc:only, -proc:full). Use -Xlint:-options to suppress this message. Use -proc:none to disable annotation processing. test.X3DJSAIL: =========================================== helpful invocations for CommandLine debugging org.web3d.x3d.jsail.CommandLine -version -help Usage: java [-classpath X3DJSAIL.*.jar] org.web3d.x3d.jsail.CommandLine [-help | -version | -home | -javadoc | -resources | -hints | -regexes | -tooltips | -X3DUOM] [-properties [propertiesFile]] [sourceModel.x3d | sourceModel.exi [-fromEXI] | sourceModel.gz [-fromGZIP] | sourceModel.zip [-fromZIP]] [-canonical] [-validate] [-EXIFICIENT | -OpenEXI] [-Tidy | -toX3D | -toXML | -toClassicVrml | -toJava | -toJSON | -toPython | -toVRML97] [-toHTML | -toX3DOM | -toX_ITE | -toMarkdown | -toEXI | -toGZIP | -toZIP] [-tofile [resultFile.*]] [-toImage [snapshotName.*]] -classpath X3DJSAIL.*.jar # optional classpath, can be set as environment variable org.web3d.x3d.jsail.CommandLine # invoke CommandLine application ==================================#====== informational ====================== -help # provide this help message -version # version date when this X3DJSAIL build was autogenerated -home # launch X3DJSAIL home page -javadoc # launch X3DJSAIL javadoc page -resources # launch X3D Resources page -hints # launch X3D Scene Authoring Hints page -regex # launch X3D Regular Expressions page -tooltips # launch X3D Tooltips page -X3DUOM # launch X3D Unified Object Model (X3DUOM) page =================================#====== properties, inputs ================= -properties [propertiesFile] # override X3DJSAIL properties (default file: X3DJSAIL.properties) -EXIFICIENT # use Exificient (default) as EXI_ENGINE -OpenEXI # use OpenEXI (Nagasena) as EXI_ENGINE (testing in progress) sourceModel.x3d # source model file name, X3D format sourceModel.exi [-fromEXI] # source model file name, EXI format sourceModel.gz [-fromGZIP] # source model file name, GZIP format sourceModel.zip [-fromZIP] # source model file name, ZIP format ==================================#====== operations ========================= -canonical # canonical XML output using X3D Canonicalization (c14n) -validate # validate correctness of loaded model -Tidy # X3D-Tidy cleanup in .x3d (XML) format -toX3D # output in .x3d (XML) format -toXML # output in .xml (X3D) format -toClassicVrml # output in .x3dv (ClassicVrml) X3D format -toJava # output in .java source code using X3DJSAIL -toJSON # output in .json (JavaScript Object Notation) format -toPython # output in .py Python source code -toVRML97 # output in .wrl (VRML97) format -toHTML # output in .html pretty-print documentation -toX3DOM # output in .xhtml page with X3DOM display of X3D model -toX_ITE # output in .html page with X_ITE display of X3D model -toMarkdown # output document metadata (meta tags) in .md (Markdown) format -toEXI # output in .exi (Efficient XML Interchange) compressed-XML format -toGZIP # output in .gz (X3D XML) format, with gzip compression -toZIP # output in .zip (X3D XML) format, with zip compression ==================================#====== outputs ============================ -tofile [resultFile.*] # specify output filename (otherwise original name with extension) -toImage [snapshotName.*] # create output images for each Viewpoint using Blender =========================================== org.web3d.x3d.jsail.CommandLine -properties C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples/X3DJSAIL.properties CommandLine parameter: "-properties" "C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples/X3DJSAIL.properties" for properties file name root C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples/X3DJSAIL C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples/X3DJSAIL.properties includes 13 properties: -- listing properties -- deleteIntermediateFiles=true BLENDER_PATH= XSLT_ENGINE=SAXON overwriteExistingFiles=true EXI_ENGINE=EXIFICIENT SFImagePixelOutputHexadecimal=true stripTrailingZeroes=true normalizeCommentWhitespace=true indentCharacter=SPACE MESHLAB_PATH= indentIncrement=2 validationExceptionAllowed=false stripDefaultAttributes=true ------------------------ C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples/X3DJSAIL.properties loading complete. =========================================== compile.X3DJSAIL.tests: Compiling java/tests classes test.X3DJSAIL.FieldObjectTests: Unit testing org.web3d.x3d.tests.FieldObjectTests FieldObjectTests start... FieldObjectTests.fieldObjectInitializationsTest() start... Preliminary tests... SFBoolTests... MFBoolTests... SFImageTests... MFImageTests... SFInt32Tests... MFInt32Tests... SFFloatTests... SFDoubleTests... SFTimeTests... MFFloatTests... MFDoubleTests... MFTimeTests... SFVec2fTests... SFVec2dTests... MFVec2fTests... MFVec2dTests... SFVec3fTests... SFVec3fBboxSizeTests for bounding box (bbox) constraints... SFVec3dTests... MFVec3fTests... MFVec3dTests... SFVec4fTests... SFVec4dTests... MFVec4fTests... MFVec4dTests... SFColorTests... MFColorTests... SFColorRGBATests... MFColorRGBATests... SFRotationTests... MFRotationTests... SFMatrix3fTests... SFMatrix3dTests... MFMatrix3fTests... MFMatrix3dTests... SFMatrix4fTests... SFMatrix4dTests... MFMatrix4fTests... MFMatrix4dTests... FieldObjectTests.fieldObjectInitializationsTest() complete FieldObjectTests complete =========================================== compile.examples.java: delete *.class bytecode... Deleting C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples\HelloWorldProgram.class compile HelloWorldProgram.java source... Compiling 1 source file to C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples Note: Annotation processing is enabled because one or more processors were found on the class path. A future release of javac may disable annotation processing unless at least one processor is specified by name (-processor), or a search path is specified (--processor-path, --processor-module-path), or annotation processing is enabled explicitly (-proc:only, -proc:full). Use -Xlint:-options to suppress this message. Use -proc:none to disable annotation processing. =========================================== test execution and self-validation of HelloWorldProgram and other examples: compile.examples.java: delete *.class bytecode... Deleting C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples\HelloWorldProgram.class compile HelloWorldProgram.java source... Compiling 1 source file to C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples Note: Annotation processing is enabled because one or more processors were found on the class path. A future release of javac may disable annotation processing unless at least one processor is specified by name (-processor), or a search path is specified (--processor-path, --processor-module-path), or annotation processing is enabled explicitly (-proc:only, -proc:full). Use -Xlint:-options to suppress this message. Use -proc:none to disable annotation processing. test.HelloWorldProgram.java: =========================================== SpecialTest section: fontStyle1 getStyle()=BOLD getCssStyle()=CSS Style; screenFontStyle3 getStyle()=BOLD getCssStyle()=CSS Style; fontStyle1 justify="BEGIN" "MIDDLE" fontStyle2 justify="END" "MIDDLE" justify field independence test #1 pass = true justify field independence test #2 pass = true pixelTexture.getImage=[0, 0, 0], getWidth=0, getHeight=0, getNumberComponents=0, getPixelsString()= pixelTexture.getImage=[1, 3, 4, -16777080, 16711816, 65416], getWidth=1, getHeight=3, getNumberComponents=4, getPixelsString()=0xFF000088 0x00FF0088 0x0000FF88, isValid()=true, validate() diagnostic='' =========================================== ConfigurationProperties.getClassPath()=C:\x3d-code\www.web3d.org\x3d\stylesheets\java\examples;C:\x3d-code\www.web3d.org\x3d\stylesheets\java\jars\X3DJSAIL.4.0.full.jar =========================================== X3DUnifiedObjectModelJaxbTests.x3duomInspectionsTest() start... X3DUnifiedObjectModelJaxbTests.x3duomInspectionsTest() complete =========================================== X3DJSAIL version date: 21 November 2023 =========================================== HelloWorldProgram() Constructor =========================================== buildModelSceneGraph(); // construct this model, testing many variations =========================================== showSceneResults(); // test all serializer outputs ConfigurationProperties.getPropertiesFileName()=X3DJSAIL.properties X3DJSAIL.properties includes 13 properties: -- listing properties -- deleteIntermediateFiles=true BLENDER_PATH= XSLT_ENGINE=SAXON overwriteExistingFiles=true EXI_ENGINE=EXIFICIENT SFImagePixelOutputHexadecimal=true stripTrailingZeroes=true normalizeCommentWhitespace=true indentCharacter=SPACE MESHLAB_PATH= indentIncrement=2 validationExceptionAllowed=false stripDefaultAttributes=true ------------------------ X3DJSAIL.properties loading complete. HelloWorldProgramOutput.java console output =========================================== HelloWorldProgram validation results for resulting scene graph: no errors detected. =========================================== x3dModel.toStringX3D()