Appearance : X3DAppearanceNode {
** SFNode [in,out] acousticProperties NULL [AcousticProperties]**
[ snip ]
}
snippet:
{ "Shape":
{
"-geometry":
{ "Box":
{
}
},
"-appearance":
{ "Appearance":
{
** "-acousticProperties":[**
{ "AcousticProperties":
{
"@description":"Testing of X3D4 nodes demonstrating W3C Audio API in progress",
"@diffuse":0.25,
"@refraction":0.5,
"@specular":1
}
}
],
"-material":
{ "Material":
{
}
}
}
}
}
}
-acousticProperties should be an SFNode, according to the standard, a JSON object, not an array.
Here's the acousticProperties in X3DUOM:
<ConcreteNode name="Appearance">
[snip]
<field name="acousticProperties" **="" type="SFNode" accesstype="inputOutput" default="NULL" acceptablenodetypes="AcousticProperties" description="Single contained acousticProperties node that can specify additional acoustic attributes applied to associated surface geometry.">
<componentinfo name="Shape" level="5">
</componentinfo></field>
Diff:
Can we get this looked at sooner than later? This is delaying acceptance testing of x3dvalidate.
Since X3DUOM is correctly defined, and specification is correctly defined, exactly what is the problem you are referring to? Processing by X3dToJson.xslt stylesheet?
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":
{
"-acousticProperties":
{ "AcousticProperties":
{
"@description":"Testing of X3D4 nodes demonstrating W3C Audio API in
progress",
"@diffuse":0.25,
"@refraction":0.5,
"@specular":1
}
},
"-material":
{ "Material":
{
}
}
}
}
}
}
On Thu, Feb 19, 2026 at 10:54 AM Don Brutzman brutzman@users.sourceforge.net wrote:
Related
Tickets:
#51I located and added the missing type assignment of SFNode for AcousticProperties in X3dToJson.xslt stylesheet. Now converting correctly. Thanks for noting this issue.
Last edit: Don Brutzman 2026-02-19
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:
Related
Tickets:
#51