Thanks for excellent report. I will look at defaults for other X3D statements, and other converters as well.
level field of component statement not emitted in XML output
level property of component statement not emitted in XML output
X3D Tidy insert leading zero prior to decimal point, omit trailing zeros, 4 significant digits past decimal point
X3D Tidy insert leading zero prior to decimal point, omit trailing zeros
description, loa=4
X3D Tidy insert leading zero prior to decimal point
remove cruft
remove cruft
initial pattern for collecting pose information from interpolator sets
finish capitalization corrections of Bones filenames
X3D Tidy updated all names from v1 to v2
sort
Viewpoints initial cleanup
renamed files to match local versions
fix name
update metadata
c14n canonicalization of whitespace
Joe Williams original model in .x3dv, converted to .x3d by Castle online converter, unmodified
editorial
additional timeouts for lengthy conversions
additional timeouts for lengthy conversions
InlineGeometry inheritance baseType X3DGeometryNode
InlineGeometry inheritance baseType X3DGeometryNode
NetBeans 29 release
omit duplicate meta
improved snapshot showing more of scene graph in tool
CleatClamp STL loaded by InlineGeometry with Appearance applied, viewed in Sunrize
Castle conversion
add InlineGeometry
add InlineGeometry, various tooltips updated
add InlineGeometry for X3D v4.1, included in LoadSensor content model and Full Profile
add InlineGeometry for X3D v4.1, included in LoadSensor content model and Full Profile
updated version saxon-he-12.9.jar
updated versions copied from masters
updated versions copied from masters
update saxon library
update saxon library
add InlineGeometry for X3D v4.1, included in LoadSensor content model and Full Profile
add InlineGeometry, various tooltips updated
-acousticProperties should be a JSON object, not a JSON array in X3D JSON
PhysicalMaterial.baseTexture should be an object in JSON, not an JSON array
add InlineGeometry, note allowed children of LoadSensor
increased functionality for handling url relay links, e.g. https://create3000.github.io/x_ite/playground/?url=https://create3000.github.io/media/examples/Networking/InlineGeometry/InlineGeometry.x3d
add .stl version
meta update
meta update
add .stl version
add .stl version
add .stl version
Thanks for the great efforts, I will download the stylesheets soon. Yay! John On Thu, Feb 19, 2026 at 11:59 PM Don Brutzman brutzman@users.sourceforge.net wrote: The problem is that X3dToJson.xslt was not handling these as SFNode types. Now fixed. Excerpt: <xsl:variable name="SFNodeType" select=" ($fieldName = 'acousticProperties') or ($fieldName = 'baseTexture') or ($fieldName = 'emissiveTexture') or ($fieldName = 'normalTexture') or ($fieldName = 'occlusionTexture') or ($fieldName = 'metallicRoughnessTexture')...
additional corrections for SFNode type assignments for PhysicalMaterial and UnlitMaterial fields.
The problem is that X3dToJson.xslt was not handling these as SFNode types. Now fixed. Excerpt: <xsl:variable name="SFNodeType" select=" ($fieldName = 'acousticProperties') or ($fieldName = 'baseTexture') or ($fieldName = 'emissiveTexture') or ($fieldName = 'normalTexture') or ($fieldName = 'occlusionTexture') or ($fieldName = 'metallicRoughnessTexture') or etc. Various examples re-converted and uploaded to X3D Example Archives.
adjust significant digits, more-detailed description
adjusting for 4 significant digits
Sure, -acousticProperties is an SFNode (JSON object), but X3dToJson.xslt treats it as an MFNode (JSON array). If you look at the online JSON object (I saved a snippet before for you to look at--pardon the bolding), you will see that it;'s an MFNode. Please remove the [] around the property value for the property name "-acousticProperties", such that the property value becomes an object, and not an array. What it should look like: { "Shape": { "-geometry": { "Box": { } }, "-appearance": { "Appearance":...
Just got your email. Thanks. Please close when ready. John On Thu, Feb 19, 2026 at 11:11 AM Don Brutzman brutzman@users.sourceforge.net wrote: I located and added the missing type assignment of SFNode for AcousticPropertis in X3dToJson.xslt stylesheet. Now converting correctly. Thanks for noting this issue. - https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/AllAudioGraphNodesTest.json https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/AllAudioGraphNodesTest.json...
Can we do the same thing for this that we did for #51, -acousticProperties? Change X3dToJson.xslt. See online example that is wrong. This: "-baseTexture":[ { "ImageTexture": { [snip] } } ], [ should become ] "-baseTexture": { "ImageTexture": { [snip] } } ======================
Can we do the same thing for this that we did for #51, -acousticProperties? Change X3dToJson.xslt. See online example that is wrong. This: "-baseTexture":[ { "ImageTexture": { [snip] } } ], ================================= Should become this: ~~~ "-baseTexture": { "ImageTexture": { [snip] } } ~~~ ======================
PhysicalMaterial.baseTexture should be an object in JSON, not an JSON array
Can we do the same thing for this that we did for #51, -acousticProperties? Change X3dToJson.xslt. See online example that is wrong. This: "-baseTexture": { "ImageTexture": { [snip } } ], ================================= Should become this: "-baseTexture": { "ImageTexture": { [snip] } } ======================
I located and added the missing type assignment of SFNode for AcousticProperties in X3dToJson.xslt stylesheet. Now converting correctly. Thanks for noting this issue. https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/AllAudioGraphNodesTest.json "-appearance": { "Appearance": { "-acousticProperties": { "AcousticProperties": { "@DEF":"TestAcousticProperties", "@absorption":0.11, "@description":"hello AcousticProperties", "@diffuse":0.22, "@enabled":false, "@refraction":0.33,...
Appearance acousticProperties field is SFNodeType
I located and added the missing type assignment of SFNode for AcousticPropertis in X3dToJson.xslt stylesheet. Now converting correctly. Thanks for noting this issue. https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/AllAudioGraphNodesTest.json "-appearance": { "Appearance": { "-acousticProperties": { "AcousticProperties": { "@DEF":"TestAcousticProperties", "@absorption":0.11, "@description":"hello AcousticProperties", "@diffuse":0.22, "@enabled":false, "@refraction":0.33,...
Since X3DUOM is correctly defined, and specification is correctly defined, exactly what is the problem you are referring to? Processing by X3dToJson.xslt stylesheet?
-acousticProperties should be a JSON object, not a JSON array in X3D JSON
Can we get this looked at sooner than later? This is delaying acceptance testing of x3dvalidate.
support appendTrailingZeros
numeric-precision test case
further page description
further page description
Planned Progress for JSON Schema
converter adjustments
X_ITE converter
add Web3D 202 reference paper by Yanshen Sun and Nicholas Polys
add "quote marks" around MetadataString values, reduce numeric precision using X3D Tidy
add "quote marks" around MetadataString values, reduce numeric precision using X3D Tidy
add "quote marks" around MetadataString values, reduce numeric precision using X3D Tidy
add "quote marks" around MetadataString values, reduce numeric precision using X3D Tidy
meta links cleat_clamp.thing and CleatClampConversionCastle.stl
do not reduce numeric precision for @version or Metadata* fields
reduce numeric precision with X3D Tidy, 187->105 KB; update TODO
X3D-Tidy reduce floating-point precision
X3D-Tidy reduce floating-point precision
X3D-Tidy reduce floating-point precision, 147KB-84KB
update links and settings
properly round off truncated floating-point values, positive and negative; output message adjust
finalize numeric-precision description following successful test cases
numeric-precision test case
numeric-precision test case
styling, append /latest to regex101 links
significant digits: note no roundoff, trailing zeroes are retained
TODO eliminate trailing zeroes and decimal point, if any
description revision