From yottzumm at gmail.com Sun Apr 1 02:04:09 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 05:04:09 -0400 Subject: [x3d-public] possible issue with X_ITE with Edge; CDATA sections not showing up inEdge XML textareas. In-Reply-To: <5abfe972.ce30ed0a.5c2f2.f286@mx.google.com> References: <5abfe972.ce30ed0a.5c2f2.f286@mx.google.com> Message-ID: <5ac0a088.90d4370a.7e2fb.ea0b@mx.google.com> More info. When I load flowers2.x3d XML without converted JSON -> XML (comment out call to updateFromJson()). 1. XML Parser Error: Couldn't create IS reference: Field 'diffuseColor' and 'diffuseColor' in PROTO have different types. x_ite.min.js (17,13252) 2. XML Parser Error: Couldn't create IS reference: Field 'specularColor' and 'specularColor' in PROTO have different types. x_ite.min.js (17,13252) 3. XML Parser Error: Unknown named or imported node 'Clock'. x_ite.min.js (17,15070) 4. XML Parser Error: Unknown named or imported node 'OrbitPath'. The display comes up in X_ITE XML with no color and no animation. So likely there?s a problem with my XML and CDATA. But I think the JSON may be okay (the conversion from JSON -> XML), at least for JSON parsing and X3DOM. John Sent from Mail for Windows 10 From: John Carlson Sent: Saturday, March 31, 2018 4:02 PM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: possible issue with X_ITE with Edge; CDATA sections not showing up inEdge XML textareas. Holger, Andreas, files converted JSON -> XML in Chrome and Firefox have CDATA sections, but Edge doesn?t have CDATA sections when looking at serialized XML text, from my several time look.?? We need a better hack below in X3DJSONLD for Edge, I think, but investigate below: function CDATACreateFunction(document, element, str) { ??????? var y = str.replace(/\\"/g, "\\\"") ??????????????? .replace(/</g, "<") ??????????????? .replace(/>/g, ">") ??????????????? .replace(/&/g, "&"); ??????? do { ??????????????? str = y; ??????????????? y = str.replace(/'([^'\r\n]*)\n([^']*)'/g, "'$1\\n$2'"); ??????????????? if (str !== y) { ??????????????????????? // console.error("CDATA Replacing",str,"with",y); ??????????????? } ??????? } while (y != str); ?????? ?var domParser = new DOMParser(); ??????? var cdataStr = ''; // has to be wrapped into an element ??????? var scriptDoc = domParser .parseFromString (cdataStr, 'application/xml'); ??????? var cdata = scriptDoc .children[0] .childNodes[1]; // space after script is childNode[0] ??????? element .appendChild(cdata); } Holger, there may be an issue with: ??????????????? browser.replaceWorld(browser.createX3DFromString(content));? // where content is XML in the Edge browser for X_ITE.? No problems with Chrome or Firefox in that regard. This is with 4.1.5. You can see it online here:? https://coderextreme.net/X3DJSONLD/src/main/html/index.html Select ../data/flowers2.json from the upper left selection (this is converted to XML (not DOM, although I could) and loaded into X_ITE).? If you paste flowers2.x3d into the XML section, you might see that the flowers aren?t colored, but black and white for some reason (PROTOs?).? Note that you may have to reload because failed replaceWorlds will freeze the canvas, I think. Also ../data/force.json has no animation with Edge and the XML version.? I feel this may be the CDATA above, but it also may be due to an initializeOnly field on an Extrusion (spine). These errors may be due to initializeOnly fields (modifying Extrusion spline, IFS coordIndexes) which aren?t tested with browser.importJS??? (not sure?may want to check).? Note that X3DJSAIL does not validate flowers2.json (converted to flowers2.java), so likely there?s an issue with that file.? I?m also getting XML5656: Illegal qualified name character. And [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:204:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (http://localhost:3000/node/loaderJQuery.js:202:2) at loadXmlBrowsers (http://localhost:3000/node/loaderJQuery.js:80:4) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:290:8) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:438:3)"} Again, all this is working fine in Chrome and Firefox as far as I know.? Well X3DOM isn?t currently working in Chrome. Sigh! Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 1 02:06:23 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 05:06:23 -0400 Subject: [x3d-public] where is the constructor for MFVec3f standardized? In-Reply-To: References: <5abff6e2.559d370a.d5e45.6cb3@mx.google.com> Message-ID: <5ac0a10d.17e1370a.1e9ef.bf12@mx.google.com> Looks my way is non-standard. It?s basically how I got it to work however. John Sent from Mail for Windows 10 From: GPU Group Sent: Saturday, March 31, 2018 6:26 PM To: John Carlson Cc: x3d-public at web3d.org Subject: Re: [x3d-public] where is the constructor for MFVec3f standardized? http://www.web3d.org/documents/specifications/19777-1/V3.3/Part1/functions.html#MFVec3f PS I did get the list parameter working with duktape javascript engine - will take me a few days or weeks to publish the freewrl executable .msi - but basically the list [] is an object and the internal code can use the javscript api to test if its an array type or has length > 1 or some other way to inspect the key,values, and if so and the SAI function parameter list is variable or some other set of conditions, then I can split the list up to use like regular varargs. C = new MFVec3f(A,B);? //the old conventional varargs way C = new MFVec3f( [A,B] ); //Carlson's new 1 param list way, got working with duktape in freewrl On Sat, Mar 31, 2018 at 3:00 PM, John Carlson wrote: Where is the constructor for MFVec3f standardized? ? Thanks, ? John ? Sent from Mail for Windows 10 ? _______________________________________________ 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: From yottzumm at gmail.com Sun Apr 1 02:51:57 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 05:51:57 -0400 Subject: [x3d-public] possible issue with X_ITE with Edge; CDATA sections not showingup inEdge XML textareas. In-Reply-To: <5ac0a088.90d4370a.7e2fb.ea0b@mx.google.com> References: <5abfe972.ce30ed0a.5c2f2.f286@mx.google.com> <5ac0a088.90d4370a.7e2fb.ea0b@mx.google.com> Message-ID: <5ac0abbc.aa24c80a.974af.009d@mx.google.com> The only issue now is the color of the ProtoInstances (passed as parameters to the Protos) in the XML. I will put into a URL and test. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:04 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingup inEdge XML textareas. More info.? When I load flowers2.x3d XML without converted JSON -> XML (comment out call to updateFromJson()).?? 1. XML Parser Error: Couldn't create IS reference: Field 'diffuseColor' and 'diffuseColor' in PROTO have different types. x_ite.min.js (17,13252) 2. XML Parser Error: Couldn't create IS reference: Field 'specularColor' and 'specularColor' in PROTO have different types. x_ite.min.js (17,13252) 3. XML Parser Error: Unknown named or imported node 'Clock'. x_ite.min.js (17,15070) 4. XML Parser Error: Unknown named or imported node 'OrbitPath'. The display comes up in X_ITE XML with no color and no animation. So likely there?s a problem with my XML and CDATA.? But I think the JSON may be okay (the conversion from JSON -> XML), at least for JSON parsing and X3DOM. John Sent from Mail for Windows 10 From: John Carlson Sent: Saturday, March 31, 2018 4:02 PM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: possible issue with X_ITE with Edge; CDATA sections not showing up inEdge XML textareas. Holger, Andreas, files converted JSON -> XML in Chrome and Firefox have CDATA sections, but Edge doesn?t have CDATA sections when looking at serialized XML text, from my several time look.?? We need a better hack below in X3DJSONLD for Edge, I think, but investigate below: function CDATACreateFunction(document, element, str) { ??????? var y = str.replace(/\\"/g, "\\\"") ??????????????? .replace(/</g, "<") ??????????????? .replace(/>/g, ">") ??????????????? .replace(/&/g, "&"); ??????? do { ??????????????? str = y; ??????????????? y = str.replace(/'([^'\r\n]*)\n([^']*)'/g, "'$1\\n$2'"); ??????????????? if (str !== y) { ??????????????????????? // console.error("CDATA Replacing",str,"with",y); ??????????????? } ??????? } while (y != str); ?????? ?var domParser = new DOMParser(); ??????? var cdataStr = ''; // has to be wrapped into an element ??????? var scriptDoc = domParser .parseFromString (cdataStr, 'application/xml'); ??????? var cdata = scriptDoc .children[0] .childNodes[1]; // space after script is childNode[0] ??????? element .appendChild(cdata); } Holger, there may be an issue with: ??????????????? browser.replaceWorld(browser.createX3DFromString(content));? // where content is XML in the Edge browser for X_ITE.? No problems with Chrome or Firefox in that regard. This is with 4.1.5. You can see it online here:? https://coderextreme.net/X3DJSONLD/src/main/html/index.html Select ../data/flowers2.json from the upper left selection (this is converted to XML (not DOM, although I could) and loaded into X_ITE).? If you paste flowers2.x3d into the XML section, you might see that the flowers aren?t colored, but black and white for some reason (PROTOs?).? Note that you may have to reload because failed replaceWorlds will freeze the canvas, I think. Also ../data/force.json has no animation with Edge and the XML version.? I feel this may be the CDATA above, but it also may be due to an initializeOnly field on an Extrusion (spine). These errors may be due to initializeOnly fields (modifying Extrusion spline, IFS coordIndexes) which aren?t tested with browser.importJS??? (not sure?may want to check).? Note that X3DJSAIL does not validate flowers2.json (converted to flowers2.java), so likely there?s an issue with that file.? I?m also getting XML5656: Illegal qualified name character. And [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:204:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (http://localhost:3000/node/loaderJQuery.js:202:2) at loadXmlBrowsers (http://localhost:3000/node/loaderJQuery.js:80:4) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:290:8) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:438:3)"} Again, all this is working fine in Chrome and Firefox as far as I know.? Well X3DOM isn?t currently working in Chrome. Sigh! Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 1 03:05:58 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 06:05:58 -0400 Subject: [x3d-public] possible issue with X_ITE with Edge; CDATA sections not showingupinEdge XML textareas. In-Reply-To: <5ac0abbc.aa24c80a.974af.009d@mx.google.com> References: <5abfe972.ce30ed0a.5c2f2.f286@mx.google.com> <5ac0a088.90d4370a.7e2fb.ea0b@mx.google.com> <5ac0abbc.aa24c80a.974af.009d@mx.google.com> Message-ID: <5ac0af04.0bd6e90a.90918.bdf2@mx.google.com> The color has been fixed by changing the type from SFVec3f to SFColor (whew). https://coderextreme.net/X3DJSONLD/src/main/html/x_ite.xhtml Thanks! John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:51 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingupinEdge XML textareas. The only issue now is the color of the ProtoInstances (passed as parameters to the Protos) in the XML.? I will put into a URL and test. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:04 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingup inEdge XML textareas. More info.? When I load flowers2.x3d XML without converted JSON -> XML (comment out call to updateFromJson()).?? 1. XML Parser Error: Couldn't create IS reference: Field 'diffuseColor' and 'diffuseColor' in PROTO have different types. x_ite.min.js (17,13252) 2. XML Parser Error: Couldn't create IS reference: Field 'specularColor' and 'specularColor' in PROTO have different types. x_ite.min.js (17,13252) 3. XML Parser Error: Unknown named or imported node 'Clock'. x_ite.min.js (17,15070) 4. XML Parser Error: Unknown named or imported node 'OrbitPath'. The display comes up in X_ITE XML with no color and no animation. So likely there?s a problem with my XML and CDATA.? But I think the JSON may be okay (the conversion from JSON -> XML), at least for JSON parsing and X3DOM. John Sent from Mail for Windows 10 From: John Carlson Sent: Saturday, March 31, 2018 4:02 PM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: possible issue with X_ITE with Edge; CDATA sections not showing up inEdge XML textareas. Holger, Andreas, files converted JSON -> XML in Chrome and Firefox have CDATA sections, but Edge doesn?t have CDATA sections when looking at serialized XML text, from my several time look.?? We need a better hack below in X3DJSONLD for Edge, I think, but investigate below: function CDATACreateFunction(document, element, str) { ??????? var y = str.replace(/\\"/g, "\\\"") ??????????????? .replace(/</g, "<") ??????????????? .replace(/>/g, ">") ??????????????? .replace(/&/g, "&"); ??????? do { ??????????????? str = y; ??????????????? y = str.replace(/'([^'\r\n]*)\n([^']*)'/g, "'$1\\n$2'"); ??????????????? if (str !== y) { ??????????????????????? // console.error("CDATA Replacing",str,"with",y); ??????????????? } ??????? } while (y != str); ?????? ?var domParser = new DOMParser(); ??????? var cdataStr = ''; // has to be wrapped into an element ??????? var scriptDoc = domParser .parseFromString (cdataStr, 'application/xml'); ??????? var cdata = scriptDoc .children[0] .childNodes[1]; // space after script is childNode[0] ??????? element .appendChild(cdata); } Holger, there may be an issue with: ??????????????? browser.replaceWorld(browser.createX3DFromString(content));? // where content is XML in the Edge browser for X_ITE.? No problems with Chrome or Firefox in that regard. This is with 4.1.5. You can see it online here:? https://coderextreme.net/X3DJSONLD/src/main/html/index.html Select ../data/flowers2.json from the upper left selection (this is converted to XML (not DOM, although I could) and loaded into X_ITE).? If you paste flowers2.x3d into the XML section, you might see that the flowers aren?t colored, but black and white for some reason (PROTOs?).? Note that you may have to reload because failed replaceWorlds will freeze the canvas, I think. Also ../data/force.json has no animation with Edge and the XML version.? I feel this may be the CDATA above, but it also may be due to an initializeOnly field on an Extrusion (spine). These errors may be due to initializeOnly fields (modifying Extrusion spline, IFS coordIndexes) which aren?t tested with browser.importJS??? (not sure?may want to check).? Note that X3DJSAIL does not validate flowers2.json (converted to flowers2.java), so likely there?s an issue with that file.? I?m also getting XML5656: Illegal qualified name character. And [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:204:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (http://localhost:3000/node/loaderJQuery.js:202:2) at loadXmlBrowsers (http://localhost:3000/node/loaderJQuery.js:80:4) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:290:8) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:438:3)"} Again, all this is working fine in Chrome and Firefox as far as I know.? Well X3DOM isn?t currently working in Chrome. Sigh! Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: flowers2.x3d Type: application/octet-stream Size: 6211 bytes Desc: not available URL: From yottzumm at gmail.com Sun Apr 1 04:44:47 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 07:44:47 -0400 Subject: [x3d-public] possible issue with X_ITE with Edge; CDATA sections notshowingupinEdge XML textareas. Problem with other browsers. In-Reply-To: <5ac0af04.0bd6e90a.90918.bdf2@mx.google.com> References: <5abfe972.ce30ed0a.5c2f2.f286@mx.google.com> <5ac0a088.90d4370a.7e2fb.ea0b@mx.google.com> <5ac0abbc.aa24c80a.974af.009d@mx.google.com> <5ac0af04.0bd6e90a.90918.bdf2@mx.google.com> Message-ID: <5ac0c62d.ef32c80a.ca4cb.6ec9@mx.google.com> 1. XML5656: Illegal qualified name character. 2. [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:203:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:201:2) at loadXmlBrowsers (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:80:4) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:289:8) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:437:3)"} Still having an issue or two with createX3DFromString in Edge, but either the initial XML load works, or the XML -> My JSON -> XML conversion works, but the JSON -> XML conversion does not work. The JSON load (of Don?s JSON) does not produces a good XML string for createX3DFromString or something. I will verify, but there?s no issue loading JSON with importJS that I can tell?it?s the best at loading ?. Or URLs work too. Don?s XML is attached as don.txt and my XML is attached as john.txt. So I think the don.txt is failing. I will test them as URLs. However the file doesn?t load in the other browsers besides web browser, and I?m wondering why. I think it?s because coordIndex cannot be initialized from a script, or the MFVec3f constructor ? Can some tell me how to add an SFVec3f to an MFVec3f in the general case? Should I add the SFVec3f to MFVec3f after creating it by doing a push()? Other vendors, let me know. Attached is the file. I now believe the JSON file produces the above error I?m thinking the standard may not be flexible enough for non-declarative graphics, which is unfortunate?but I didn?t look at MF field methods in general. Doug, also see if you can get this file working in FreeWRL. I do recall an older version of this file working with other browsers, so I know it?s possible! Thanks, John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 6:05 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections notshowingupinEdge XML textareas. The color has been fixed by changing the type from SFVec3f to SFColor (whew). https://coderextreme.net/X3DJSONLD/src/main/html/x_ite.xhtml Thanks! John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:51 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingupinEdge XML textareas. The only issue now is the color of the ProtoInstances (passed as parameters to the Protos) in the XML.? I will put into a URL and test. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:04 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingup inEdge XML textareas. More info.? When I load flowers2.x3d XML without converted JSON -> XML (comment out call to updateFromJson()).?? 1. XML Parser Error: Couldn't create IS reference: Field 'diffuseColor' and 'diffuseColor' in PROTO have different types. x_ite.min.js (17,13252) 2. XML Parser Error: Couldn't create IS reference: Field 'specularColor' and 'specularColor' in PROTO have different types. x_ite.min.js (17,13252) 3. XML Parser Error: Unknown named or imported node 'Clock'. x_ite.min.js (17,15070) 4. XML Parser Error: Unknown named or imported node 'OrbitPath'. The display comes up in X_ITE XML with no color and no animation. So likely there?s a problem with my XML and CDATA.? But I think the JSON may be okay (the conversion from JSON -> XML), at least for JSON parsing and X3DOM. John Sent from Mail for Windows 10 From: John Carlson Sent: Saturday, March 31, 2018 4:02 PM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: possible issue with X_ITE with Edge; CDATA sections not showing up inEdge XML textareas. Holger, Andreas, files converted JSON -> XML in Chrome and Firefox have CDATA sections, but Edge doesn?t have CDATA sections when looking at serialized XML text, from my several time look.?? We need a better hack below in X3DJSONLD for Edge, I think, but investigate below: function CDATACreateFunction(document, element, str) { ??????? var y = str.replace(/\\"/g, "\\\"") ??????????????? .replace(/</g, "<") ??????????????? .replace(/>/g, ">") ??????????????? .replace(/&/g, "&"); ??????? do { ??????????????? str = y; ??????????????? y = str.replace(/'([^'\r\n]*)\n([^']*)'/g, "'$1\\n$2'"); ??????????????? if (str !== y) { ??????????????????????? // console.error("CDATA Replacing",str,"with",y); ??????????????? } ??????? } while (y != str); ?????? ?var domParser = new DOMParser(); ??????? var cdataStr = ''; // has to be wrapped into an element ??????? var scriptDoc = domParser .parseFromString (cdataStr, 'application/xml'); ??????? var cdata = scriptDoc .children[0] .childNodes[1]; // space after script is childNode[0] ??????? element .appendChild(cdata); } Holger, there may be an issue with: ??????????????? browser.replaceWorld(browser.createX3DFromString(content));? // where content is XML in the Edge browser for X_ITE.? No problems with Chrome or Firefox in that regard. This is with 4.1.5. You can see it online here:? https://coderextreme.net/X3DJSONLD/src/main/html/index.html Select ../data/flowers2.json from the upper left selection (this is converted to XML (not DOM, although I could) and loaded into X_ITE).? If you paste flowers2.x3d into the XML section, you might see that the flowers aren?t colored, but black and white for some reason (PROTOs?).? Note that you may have to reload because failed replaceWorlds will freeze the canvas, I think. Also ../data/force.json has no animation with Edge and the XML version.? I feel this may be the CDATA above, but it also may be due to an initializeOnly field on an Extrusion (spine). These errors may be due to initializeOnly fields (modifying Extrusion spline, IFS coordIndexes) which aren?t tested with browser.importJS??? (not sure?may want to check).? Note that X3DJSAIL does not validate flowers2.json (converted to flowers2.java), so likely there?s an issue with that file.? I?m also getting XML5656: Illegal qualified name character. And [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:204:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (http://localhost:3000/node/loaderJQuery.js:202:2) at loadXmlBrowsers (http://localhost:3000/node/loaderJQuery.js:80:4) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:290:8) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:438:3)"} Again, all this is working fine in Chrome and Firefox as far as I know.? Well X3DOM isn?t currently working in Chrome. Sigh! Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: flowers2.json Type: application/json Size: 16923 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: flowers2.x3d Type: application/octet-stream Size: 6474 bytes Desc: not available URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: don.txt URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: john.txt URL: From yottzumm at gmail.com Sun Apr 1 05:09:55 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 08:09:55 -0400 Subject: [x3d-public] possible issue with X_ITE with Edge; CDATA sectionsnotshowingupinEdge XML textareas. Problem with other browsers. In-Reply-To: <5ac0c62d.ef32c80a.ca4cb.6ec9@mx.google.com> References: <5abfe972.ce30ed0a.5c2f2.f286@mx.google.com> <5ac0a088.90d4370a.7e2fb.ea0b@mx.google.com> <5ac0abbc.aa24c80a.974af.009d@mx.google.com> <5ac0af04.0bd6e90a.90918.bdf2@mx.google.com> <5ac0c62d.ef32c80a.ca4cb.6ec9@mx.google.com> Message-ID: <5ac0cc12.042aed0a.b6b06.59df@mx.google.com> Both serialized XML versions load work from URLs after adding CDATA sections to XML. Otherwise, the script isn?t run in Edge. Andreas, do you have some magic for adding CDATA sections in Edge? Thanks! I also replaced the < when hand editing the CDATA sections. So that may be an issue as well Attached. Getting closer. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 7:44 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge; CDATA sectionsnotshowingupinEdge XML textareas. Problem with other browsers. 1. XML5656: Illegal qualified name character. 2. [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:203:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:201:2) at loadXmlBrowsers (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:80:4) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:289:8) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:437:3)"} Still having an issue or two with createX3DFromString in Edge, but either the initial XML load works, or the XML -> My JSON -> XML conversion works, but the JSON -> XML conversion does not work.? The JSON load (of Don?s JSON) does not produces a good XML string for createX3DFromString or something.? I will verify, but there?s no issue loading JSON with importJS that I can tell?it?s the best at loading ?. Or URLs work too. Don?s XML is attached as don.txt and my XML is attached as john.txt.? So I think the don.txt is failing.? I will test them as URLs. However the file doesn?t load in the other browsers besides web browser, and I?m wondering why.? I think it?s because coordIndex cannot be initialized from a script, or the MFVec3f constructor ?? Can some tell me how to add an SFVec3f to an MFVec3f in the general case?? Should I add the SFVec3f to MFVec3f after creating it by doing a push()? Other vendors, let me know.? Attached is the file.? I now believe the JSON file produces the above error I?m thinking the standard may not be flexible enough for non-declarative graphics, which is unfortunate?but I didn?t look at MF field methods in general. Doug, also see if you can get this file working in FreeWRL. I do recall an older version of this file working with other browsers, so I know it?s possible! Thanks, John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 6:05 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections notshowingupinEdge XML textareas. The color has been fixed by changing the type from SFVec3f to SFColor (whew). https://coderextreme.net/X3DJSONLD/src/main/html/x_ite.xhtml Thanks! John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:51 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingupinEdge XML textareas. The only issue now is the color of the ProtoInstances (passed as parameters to the Protos) in the XML.? I will put into a URL and test. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:04 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingup inEdge XML textareas. More info.? When I load flowers2.x3d XML without converted JSON -> XML (comment out call to updateFromJson()).?? 1. XML Parser Error: Couldn't create IS reference: Field 'diffuseColor' and 'diffuseColor' in PROTO have different types. x_ite.min.js (17,13252) 2. XML Parser Error: Couldn't create IS reference: Field 'specularColor' and 'specularColor' in PROTO have different types. x_ite.min.js (17,13252) 3. XML Parser Error: Unknown named or imported node 'Clock'. x_ite.min.js (17,15070) 4. XML Parser Error: Unknown named or imported node 'OrbitPath'. The display comes up in X_ITE XML with no color and no animation. So likely there?s a problem with my XML and CDATA.? But I think the JSON may be okay (the conversion from JSON -> XML), at least for JSON parsing and X3DOM. John Sent from Mail for Windows 10 From: John Carlson Sent: Saturday, March 31, 2018 4:02 PM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: possible issue with X_ITE with Edge; CDATA sections not showing up inEdge XML textareas. Holger, Andreas, files converted JSON -> XML in Chrome and Firefox have CDATA sections, but Edge doesn?t have CDATA sections when looking at serialized XML text, from my several time look.?? We need a better hack below in X3DJSONLD for Edge, I think, but investigate below: function CDATACreateFunction(document, element, str) { ??????? var y = str.replace(/\\"/g, "\\\"") ??????????????? .replace(/</g, "<") ??????????????? .replace(/>/g, ">") ??????????????? .replace(/&/g, "&"); ??????? do { ??????????????? str = y; ??????????????? y = str.replace(/'([^'\r\n]*)\n([^']*)'/g, "'$1\\n$2'"); ??????????????? if (str !== y) { ??????????????????????? // console.error("CDATA Replacing",str,"with",y); ??????????????? } ??????? } while (y != str); ?????? ?var domParser = new DOMParser(); ??????? var cdataStr = ''; // has to be wrapped into an element ??????? var scriptDoc = domParser .parseFromString (cdataStr, 'application/xml'); ??????? var cdata = scriptDoc .children[0] .childNodes[1]; // space after script is childNode[0] ??????? element .appendChild(cdata); } Holger, there may be an issue with: ??????????????? browser.replaceWorld(browser.createX3DFromString(content));? // where content is XML in the Edge browser for X_ITE.? No problems with Chrome or Firefox in that regard. This is with 4.1.5. You can see it online here:? https://coderextreme.net/X3DJSONLD/src/main/html/index.html Select ../data/flowers2.json from the upper left selection (this is converted to XML (not DOM, although I could) and loaded into X_ITE).? If you paste flowers2.x3d into the XML section, you might see that the flowers aren?t colored, but black and white for some reason (PROTOs?).? Note that you may have to reload because failed replaceWorlds will freeze the canvas, I think. Also ../data/force.json has no animation with Edge and the XML version.? I feel this may be the CDATA above, but it also may be due to an initializeOnly field on an Extrusion (spine). These errors may be due to initializeOnly fields (modifying Extrusion spline, IFS coordIndexes) which aren?t tested with browser.importJS??? (not sure?may want to check).? Note that X3DJSAIL does not validate flowers2.json (converted to flowers2.java), so likely there?s an issue with that file.? I?m also getting XML5656: Illegal qualified name character. And [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:204:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (http://localhost:3000/node/loaderJQuery.js:202:2) at loadXmlBrowsers (http://localhost:3000/node/loaderJQuery.js:80:4) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:290:8) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:438:3)"} Again, all this is working fine in Chrome and Firefox as far as I know.? Well X3DOM isn?t currently working in Chrome. Sigh! Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: don.x3d Type: application/octet-stream Size: 6190 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: john.x3d Type: application/octet-stream Size: 9555 bytes Desc: not available URL: From yottzumm at gmail.com Sun Apr 1 05:13:01 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 08:13:01 -0400 Subject: [x3d-public] possible issue with X_ITE with Edge; CDATAsectionsnotshowingupinEdge XML textareas. Problem with other browsers. In-Reply-To: <5ac0cc12.042aed0a.b6b06.59df@mx.google.com> References: <5abfe972.ce30ed0a.5c2f2.f286@mx.google.com> <5ac0a088.90d4370a.7e2fb.ea0b@mx.google.com> <5ac0abbc.aa24c80a.974af.009d@mx.google.com> <5ac0af04.0bd6e90a.90918.bdf2@mx.google.com> <5ac0c62d.ef32c80a.ca4cb.6ec9@mx.google.com> <5ac0cc12.042aed0a.b6b06.59df@mx.google.com> Message-ID: <5ac0cccb.84d1370a.91202.d99d@mx.google.com> Loading JSON definitely prevents animation from happening in the X_ITE XML text section in Edge. That?s the CDATA section I think. Load bubs.json for example. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 8:09 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge; CDATAsectionsnotshowingupinEdge XML textareas. Problem with other browsers. Both serialized XML versions load work from URLs after adding CDATA sections to XML.? Otherwise, the script isn?t run in Edge. Andreas, do you have some magic for adding CDATA sections in Edge?? Thanks! I also replaced the < when hand editing the CDATA sections.? So that may be an issue as well Attached. Getting closer. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 7:44 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge; CDATA sectionsnotshowingupinEdge XML textareas. Problem with other browsers. 1. XML5656: Illegal qualified name character. 2. [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:203:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:201:2) at loadXmlBrowsers (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:80:4) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:289:8) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:437:3)"} Still having an issue or two with createX3DFromString in Edge, but either the initial XML load works, or the XML -> My JSON -> XML conversion works, but the JSON -> XML conversion does not work.? The JSON load (of Don?s JSON) does not produces a good XML string for createX3DFromString or something.? I will verify, but there?s no issue loading JSON with importJS that I can tell?it?s the best at loading ?. Or URLs work too. Don?s XML is attached as don.txt and my XML is attached as john.txt.? So I think the don.txt is failing.? I will test them as URLs. However the file doesn?t load in the other browsers besides web browser, and I?m wondering why.? I think it?s because coordIndex cannot be initialized from a script, or the MFVec3f constructor ?? Can some tell me how to add an SFVec3f to an MFVec3f in the general case?? Should I add the SFVec3f to MFVec3f after creating it by doing a push()? Other vendors, let me know.? Attached is the file.? I now believe the JSON file produces the above error I?m thinking the standard may not be flexible enough for non-declarative graphics, which is unfortunate?but I didn?t look at MF field methods in general. Doug, also see if you can get this file working in FreeWRL. I do recall an older version of this file working with other browsers, so I know it?s possible! Thanks, John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 6:05 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections notshowingupinEdge XML textareas. The color has been fixed by changing the type from SFVec3f to SFColor (whew). https://coderextreme.net/X3DJSONLD/src/main/html/x_ite.xhtml Thanks! John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:51 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingupinEdge XML textareas. The only issue now is the color of the ProtoInstances (passed as parameters to the Protos) in the XML.? I will put into a URL and test. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:04 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingup inEdge XML textareas. More info.? When I load flowers2.x3d XML without converted JSON -> XML (comment out call to updateFromJson()).?? 1. XML Parser Error: Couldn't create IS reference: Field 'diffuseColor' and 'diffuseColor' in PROTO have different types. x_ite.min.js (17,13252) 2. XML Parser Error: Couldn't create IS reference: Field 'specularColor' and 'specularColor' in PROTO have different types. x_ite.min.js (17,13252) 3. XML Parser Error: Unknown named or imported node 'Clock'. x_ite.min.js (17,15070) 4. XML Parser Error: Unknown named or imported node 'OrbitPath'. The display comes up in X_ITE XML with no color and no animation. So likely there?s a problem with my XML and CDATA.? But I think the JSON may be okay (the conversion from JSON -> XML), at least for JSON parsing and X3DOM. John Sent from Mail for Windows 10 From: John Carlson Sent: Saturday, March 31, 2018 4:02 PM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: possible issue with X_ITE with Edge; CDATA sections not showing up inEdge XML textareas. Holger, Andreas, files converted JSON -> XML in Chrome and Firefox have CDATA sections, but Edge doesn?t have CDATA sections when looking at serialized XML text, from my several time look.?? We need a better hack below in X3DJSONLD for Edge, I think, but investigate below: function CDATACreateFunction(document, element, str) { ??????? var y = str.replace(/\\"/g, "\\\"") ??????????????? .replace(/</g, "<") ??????????????? .replace(/>/g, ">") ??????????????? .replace(/&/g, "&"); ??????? do { ??????????????? str = y; ??????????????? y = str.replace(/'([^'\r\n]*)\n([^']*)'/g, "'$1\\n$2'"); ??????????????? if (str !== y) { ??????????????????????? // console.error("CDATA Replacing",str,"with",y); ??????????????? } ??????? } while (y != str); ?????? ?var domParser = new DOMParser(); ??????? var cdataStr = ''; // has to be wrapped into an element ??????? var scriptDoc = domParser .parseFromString (cdataStr, 'application/xml'); ??????? var cdata = scriptDoc .children[0] .childNodes[1]; // space after script is childNode[0] ??????? element .appendChild(cdata); } Holger, there may be an issue with: ??????????????? browser.replaceWorld(browser.createX3DFromString(content));? // where content is XML in the Edge browser for X_ITE.? No problems with Chrome or Firefox in that regard. This is with 4.1.5. You can see it online here:? https://coderextreme.net/X3DJSONLD/src/main/html/index.html Select ../data/flowers2.json from the upper left selection (this is converted to XML (not DOM, although I could) and loaded into X_ITE).? If you paste flowers2.x3d into the XML section, you might see that the flowers aren?t colored, but black and white for some reason (PROTOs?).? Note that you may have to reload because failed replaceWorlds will freeze the canvas, I think. Also ../data/force.json has no animation with Edge and the XML version.? I feel this may be the CDATA above, but it also may be due to an initializeOnly field on an Extrusion (spine). These errors may be due to initializeOnly fields (modifying Extrusion spline, IFS coordIndexes) which aren?t tested with browser.importJS??? (not sure?may want to check).? Note that X3DJSAIL does not validate flowers2.json (converted to flowers2.java), so likely there?s an issue with that file.? I?m also getting XML5656: Illegal qualified name character. And [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:204:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (http://localhost:3000/node/loaderJQuery.js:202:2) at loadXmlBrowsers (http://localhost:3000/node/loaderJQuery.js:80:4) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:290:8) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:438:3)"} Again, all this is working fine in Chrome and Firefox as far as I know.? Well X3DOM isn?t currently working in Chrome. Sigh! Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 1 05:39:37 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 08:39:37 -0400 Subject: [x3d-public] CDATA sections not showing up in Edge. X3DJSONLD. In-Reply-To: <5ac0cccb.84d1370a.91202.d99d@mx.google.com> References: <5abfe972.ce30ed0a.5c2f2.f286@mx.google.com> <5ac0a088.90d4370a.7e2fb.ea0b@mx.google.com> <5ac0abbc.aa24c80a.974af.009d@mx.google.com> <5ac0af04.0bd6e90a.90918.bdf2@mx.google.com> <5ac0c62d.ef32c80a.ca4cb.6ec9@mx.google.com> <5ac0cc12.042aed0a.b6b06.59df@mx.google.com> <5ac0cccb.84d1370a.91202.d99d@mx.google.com> Message-ID: <5ac0d307.87a4370a.b5259.3187@mx.google.com> So it looks like: xmlDoc.createCDATASection("This is an element"); is the standard way of creating a CDATA section, and this works in X3DJSONLD server side. Can we use this in Edge with the other hack to get CDATA sections in place? Or will using the HTML document variable throw us off? I guess we should be using an XML document and definitely not the HTML document, eh? Looks like the way to get an XML document in the browser is: var documentType = document.implementation.createDocumentType(qualifiedNameStr, publicId, systemId) var xmlDoc = document.implementation.createDocument(namespaceURI, qualifiedNameStr, documentType); Can anyone confirm? I?d like to get this into X3DJSONLD GUI asap. It?s already in my server side code with xmldom. Probably I?ll start working on this now. I?m not sure what putting an xml document in HTML will do however, when I put it in a textarea, so?help! Thanks, John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 8:12 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge;CDATAsectionsnotshowingupinEdge XML textareas. Problem with other browsers. Loading JSON definitely prevents animation from happening in the X_ITE XML text section in Edge.? That?s the CDATA section I think.? Load bubs.json for example. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 8:09 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge; CDATAsectionsnotshowingupinEdge XML textareas. Problem with other browsers. Both serialized XML versions load work from URLs after adding CDATA sections to XML.? Otherwise, the script isn?t run in Edge. Andreas, do you have some magic for adding CDATA sections in Edge?? Thanks! I also replaced the < when hand editing the CDATA sections.? So that may be an issue as well Attached. Getting closer. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 7:44 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge; CDATA sectionsnotshowingupinEdge XML textareas. Problem with other browsers. 1. XML5656: Illegal qualified name character. 2. [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:203:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:201:2) at loadXmlBrowsers (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:80:4) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:289:8) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:437:3)"} Still having an issue or two with createX3DFromString in Edge, but either the initial XML load works, or the XML -> My JSON -> XML conversion works, but the JSON -> XML conversion does not work.? The JSON load (of Don?s JSON) does not produces a good XML string for createX3DFromString or something.? I will verify, but there?s no issue loading JSON with importJS that I can tell?it?s the best at loading ?. Or URLs work too. Don?s XML is attached as don.txt and my XML is attached as john.txt.? So I think the don.txt is failing.? I will test them as URLs. However the file doesn?t load in the other browsers besides web browser, and I?m wondering why.? I think it?s because coordIndex cannot be initialized from a script, or the MFVec3f constructor ?? Can some tell me how to add an SFVec3f to an MFVec3f in the general case?? Should I add the SFVec3f to MFVec3f after creating it by doing a push()? Other vendors, let me know.? Attached is the file.? I now believe the JSON file produces the above error I?m thinking the standard may not be flexible enough for non-declarative graphics, which is unfortunate?but I didn?t look at MF field methods in general. Doug, also see if you can get this file working in FreeWRL. I do recall an older version of this file working with other browsers, so I know it?s possible! Thanks, John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 6:05 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections notshowingupinEdge XML textareas. The color has been fixed by changing the type from SFVec3f to SFColor (whew). https://coderextreme.net/X3DJSONLD/src/main/html/x_ite.xhtml Thanks! John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:51 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingupinEdge XML textareas. The only issue now is the color of the ProtoInstances (passed as parameters to the Protos) in the XML.? I will put into a URL and test. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:04 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingup inEdge XML textareas. More info.? When I load flowers2.x3d XML without converted JSON -> XML (comment out call to updateFromJson()).?? 1. XML Parser Error: Couldn't create IS reference: Field 'diffuseColor' and 'diffuseColor' in PROTO have different types. x_ite.min.js (17,13252) 2. XML Parser Error: Couldn't create IS reference: Field 'specularColor' and 'specularColor' in PROTO have different types. x_ite.min.js (17,13252) 3. XML Parser Error: Unknown named or imported node 'Clock'. x_ite.min.js (17,15070) 4. XML Parser Error: Unknown named or imported node 'OrbitPath'. The display comes up in X_ITE XML with no color and no animation. So likely there?s a problem with my XML and CDATA.? But I think the JSON may be okay (the conversion from JSON -> XML), at least for JSON parsing and X3DOM. John Sent from Mail for Windows 10 From: John Carlson Sent: Saturday, March 31, 2018 4:02 PM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: possible issue with X_ITE with Edge; CDATA sections not showing up inEdge XML textareas. Holger, Andreas, files converted JSON -> XML in Chrome and Firefox have CDATA sections, but Edge doesn?t have CDATA sections when looking at serialized XML text, from my several time look.?? We need a better hack below in X3DJSONLD for Edge, I think, but investigate below: function CDATACreateFunction(document, element, str) { ??????? var y = str.replace(/\\"/g, "\\\"") ??????????????? .replace(/</g, "<") ??????????????? .replace(/>/g, ">") ??????????????? .replace(/&/g, "&"); ??????? do { ??????????????? str = y; ??????????????? y = str.replace(/'([^'\r\n]*)\n([^']*)'/g, "'$1\\n$2'"); ??????????????? if (str !== y) { ??????????????????????? // console.error("CDATA Replacing",str,"with",y); ??????????????? } ??????? } while (y != str); ?????? ?var domParser = new DOMParser(); ??????? var cdataStr = ''; // has to be wrapped into an element ??????? var scriptDoc = domParser .parseFromString (cdataStr, 'application/xml'); ??????? var cdata = scriptDoc .children[0] .childNodes[1]; // space after script is childNode[0] ??????? element .appendChild(cdata); } Holger, there may be an issue with: ??????????????? browser.replaceWorld(browser.createX3DFromString(content));? // where content is XML in the Edge browser for X_ITE.? No problems with Chrome or Firefox in that regard. This is with 4.1.5. You can see it online here:? https://coderextreme.net/X3DJSONLD/src/main/html/index.html Select ../data/flowers2.json from the upper left selection (this is converted to XML (not DOM, although I could) and loaded into X_ITE).? If you paste flowers2.x3d into the XML section, you might see that the flowers aren?t colored, but black and white for some reason (PROTOs?).? Note that you may have to reload because failed replaceWorlds will freeze the canvas, I think. Also ../data/force.json has no animation with Edge and the XML version.? I feel this may be the CDATA above, but it also may be due to an initializeOnly field on an Extrusion (spine). These errors may be due to initializeOnly fields (modifying Extrusion spline, IFS coordIndexes) which aren?t tested with browser.importJS??? (not sure?may want to check).? Note that X3DJSAIL does not validate flowers2.json (converted to flowers2.java), so likely there?s an issue with that file.? I?m also getting XML5656: Illegal qualified name character. And [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:204:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (http://localhost:3000/node/loaderJQuery.js:202:2) at loadXmlBrowsers (http://localhost:3000/node/loaderJQuery.js:80:4) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:290:8) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:438:3)"} Again, all this is working fine in Chrome and Firefox as far as I know.? Well X3DOM isn?t currently working in Chrome. Sigh! Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 1 07:37:37 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 10:37:37 -0400 Subject: [x3d-public] CDATA sections not showing up in Edge. X3DJSONLD. In-Reply-To: <5ac0d307.87a4370a.b5259.3187@mx.google.com> References: <5abfe972.ce30ed0a.5c2f2.f286@mx.google.com> <5ac0a088.90d4370a.7e2fb.ea0b@mx.google.com> <5ac0abbc.aa24c80a.974af.009d@mx.google.com> <5ac0af04.0bd6e90a.90918.bdf2@mx.google.com> <5ac0c62d.ef32c80a.ca4cb.6ec9@mx.google.com> <5ac0cc12.042aed0a.b6b06.59df@mx.google.com> <5ac0cccb.84d1370a.91202.d99d@mx.google.com> <5ac0d307.87a4370a.b5259.3187@mx.google.com> Message-ID: <5ac0eeaf.84d1370a.91202.e609@mx.google.com> Everything is working now, I replaced Andreas? hack with createCDATASection(); And my code is getting smaller, thank god! I can probably remove a lot of duplicated code! John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 8:39 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: CDATA sections not showing up in Edge. X3DJSONLD. So it looks like: xmlDoc.createCDATASection("This is an element"); is the standard way of creating a CDATA section, and this works in X3DJSONLD server side.? Can we use this in Edge with the other hack to get CDATA sections in place?? Or will using the HTML document variable throw us off? ?I guess we should be using an XML document and definitely not the HTML document, eh? Looks like the way to get an XML document in the browser is: var documentType = document.implementation.createDocumentType(qualifiedNameStr, publicId, systemId) var xmlDoc = document.implementation.createDocument(namespaceURI, qualifiedNameStr, documentType); Can anyone confirm?? I?d like to get this into X3DJSONLD GUI asap. It?s already in my server side code with xmldom. Probably I?ll start working on this now.? I?m not sure what putting an xml document in HTML will do however, when I put it in a textarea, so?help! Thanks, John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 8:12 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge;CDATAsectionsnotshowingupinEdge XML textareas. Problem with other browsers. Loading JSON definitely prevents animation from happening in the X_ITE XML text section in Edge.? That?s the CDATA section I think.? Load bubs.json for example. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 8:09 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge; CDATAsectionsnotshowingupinEdge XML textareas. Problem with other browsers. Both serialized XML versions load work from URLs after adding CDATA sections to XML.? Otherwise, the script isn?t run in Edge. Andreas, do you have some magic for adding CDATA sections in Edge?? Thanks! I also replaced the < when hand editing the CDATA sections.? So that may be an issue as well Attached. Getting closer. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 7:44 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge; CDATA sectionsnotshowingupinEdge XML textareas. Problem with other browsers. 1. XML5656: Illegal qualified name character. 2. [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:203:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:201:2) at loadXmlBrowsers (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:80:4) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:289:8) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:437:3)"} Still having an issue or two with createX3DFromString in Edge, but either the initial XML load works, or the XML -> My JSON -> XML conversion works, but the JSON -> XML conversion does not work.? The JSON load (of Don?s JSON) does not produces a good XML string for createX3DFromString or something.? I will verify, but there?s no issue loading JSON with importJS that I can tell?it?s the best at loading ?. Or URLs work too. Don?s XML is attached as don.txt and my XML is attached as john.txt.? So I think the don.txt is failing.? I will test them as URLs. However the file doesn?t load in the other browsers besides web browser, and I?m wondering why.? I think it?s because coordIndex cannot be initialized from a script, or the MFVec3f constructor ?? Can some tell me how to add an SFVec3f to an MFVec3f in the general case?? Should I add the SFVec3f to MFVec3f after creating it by doing a push()? Other vendors, let me know.? Attached is the file.? I now believe the JSON file produces the above error I?m thinking the standard may not be flexible enough for non-declarative graphics, which is unfortunate?but I didn?t look at MF field methods in general. Doug, also see if you can get this file working in FreeWRL. I do recall an older version of this file working with other browsers, so I know it?s possible! Thanks, John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 6:05 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections notshowingupinEdge XML textareas. The color has been fixed by changing the type from SFVec3f to SFColor (whew). https://coderextreme.net/X3DJSONLD/src/main/html/x_ite.xhtml Thanks! John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:51 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingupinEdge XML textareas. The only issue now is the color of the ProtoInstances (passed as parameters to the Protos) in the XML.? I will put into a URL and test. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:04 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingup inEdge XML textareas. More info.? When I load flowers2.x3d XML without converted JSON -> XML (comment out call to updateFromJson()).?? 1. XML Parser Error: Couldn't create IS reference: Field 'diffuseColor' and 'diffuseColor' in PROTO have different types. x_ite.min.js (17,13252) 2. XML Parser Error: Couldn't create IS reference: Field 'specularColor' and 'specularColor' in PROTO have different types. x_ite.min.js (17,13252) 3. XML Parser Error: Unknown named or imported node 'Clock'. x_ite.min.js (17,15070) 4. XML Parser Error: Unknown named or imported node 'OrbitPath'. The display comes up in X_ITE XML with no color and no animation. So likely there?s a problem with my XML and CDATA.? But I think the JSON may be okay (the conversion from JSON -> XML), at least for JSON parsing and X3DOM. John Sent from Mail for Windows 10 From: John Carlson Sent: Saturday, March 31, 2018 4:02 PM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: possible issue with X_ITE with Edge; CDATA sections not showing up inEdge XML textareas. Holger, Andreas, files converted JSON -> XML in Chrome and Firefox have CDATA sections, but Edge doesn?t have CDATA sections when looking at serialized XML text, from my several time look.?? We need a better hack below in X3DJSONLD for Edge, I think, but investigate below: function CDATACreateFunction(document, element, str) { ??????? var y = str.replace(/\\"/g, "\\\"") ??????????????? .replace(/</g, "<") ??????????????? .replace(/>/g, ">") ??????????????? .replace(/&/g, "&"); ??????? do { ??????????????? str = y; ??????????????? y = str.replace(/'([^'\r\n]*)\n([^']*)'/g, "'$1\\n$2'"); ??????????????? if (str !== y) { ??????????????????????? // console.error("CDATA Replacing",str,"with",y); ??????????????? } ??????? } while (y != str); ?????? ?var domParser = new DOMParser(); ??????? var cdataStr = ''; // has to be wrapped into an element ??????? var scriptDoc = domParser .parseFromString (cdataStr, 'application/xml'); ??????? var cdata = scriptDoc .children[0] .childNodes[1]; // space after script is childNode[0] ??????? element .appendChild(cdata); } Holger, there may be an issue with: ??????????????? browser.replaceWorld(browser.createX3DFromString(content));? // where content is XML in the Edge browser for X_ITE.? No problems with Chrome or Firefox in that regard. This is with 4.1.5. You can see it online here:? https://coderextreme.net/X3DJSONLD/src/main/html/index.html Select ../data/flowers2.json from the upper left selection (this is converted to XML (not DOM, although I could) and loaded into X_ITE).? If you paste flowers2.x3d into the XML section, you might see that the flowers aren?t colored, but black and white for some reason (PROTOs?).? Note that you may have to reload because failed replaceWorlds will freeze the canvas, I think. Also ../data/force.json has no animation with Edge and the XML version.? I feel this may be the CDATA above, but it also may be due to an initializeOnly field on an Extrusion (spine). These errors may be due to initializeOnly fields (modifying Extrusion spline, IFS coordIndexes) which aren?t tested with browser.importJS??? (not sure?may want to check).? Note that X3DJSAIL does not validate flowers2.json (converted to flowers2.java), so likely there?s an issue with that file.? I?m also getting XML5656: Illegal qualified name character. And [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:204:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (http://localhost:3000/node/loaderJQuery.js:202:2) at loadXmlBrowsers (http://localhost:3000/node/loaderJQuery.js:80:4) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:290:8) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:438:3)"} Again, all this is working fine in Chrome and Firefox as far as I know.? Well X3DOM isn?t currently working in Chrome. Sigh! Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Sun Apr 1 08:12:03 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 1 Apr 2018 08:12:03 -0700 Subject: [x3d-public] Which of these are necessary containerFields in XML? CADFace field 'shape' is irregular, Mantis issue submitted In-Reply-To: References: <5ab37b84.5448370a.f1133.1249@mx.google.com> <5ab3847a.1717c80a.3b83a.e034@mx.google.com> Message-ID: <9e2a0126-ef17-3b3e-867a-68a34572f2c7@nps.edu> Mantis issue regarding CADFace submitted for comment and resolution by Design Printing Scanning (CAD) working group. On 3/27/2018 8:37 PM, Don Brutzman wrote: > Hi John.? I took some time last year to work through all of the containerField variations, in order to offer only valid choices within X3D-Edit node editors. > > The summary of issues and ambiguous children (i.e. child nodes that might have varied relationships to parents) is online as follows.? If you see additional candidates, please advise. > > =========================================================================== > =========================================================================== > X3D Scene Authoring Hints: containerField > http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#containerField > [...] > > Of note, looking ahead to potential abstract specification improvements in X3D v4: > > a. we might make the special case of CADFace? go away in X3D v4 by sticking to conventional default 'children' field. http://www.web3d.org/member-only/mantis/view.php?id=1234 ======================================================== Summary 0001234: CADFace field 'shape' has unusual name and causes unnecessary complexity Description: CADFace node includes a field 'shape' which can contain either Shape or LOD. The name 'shape' is unusual and causes unnecessary complexity when handling children nodes. As with other nodes containing child nodes Shape and LOD, the field should get renamed as 'children'. This might be considered a correction to X3D v3 specification. Impact of this change on existing content and implementations is small, once changes to DTD and Schema defaults are made. XML .x3d scenes should change Shape or LOD nodes within a CADFace to containerField='children' or no containerField value. Use of the 'shape' field has (unsurprisingly) been inconsistent, so this modification might have a beneficial effect on making legacy content more valid. Additional Information CAD node functionality is a responsibility of the Design Printing Scanning (formerly CAD) Working Group. See thread "Which of these are necessary containerFields in XML?" http://web3d.org/pipermail/x3d-public_web3d.org/2018-March/008509.html ======================================================== 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 http://faculty.nps.edu/brutzman From brutzman at nps.edu Sun Apr 1 08:17:19 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 1 Apr 2018 08:17:19 -0700 Subject: [x3d-public] X3DJSAIL, null pointer exception, not sure if setting material containerField did this or not. I think this Java file has same error. In-Reply-To: <5a4bf721.c589370a.8438.1226@mx.google.com> References: <5a4bf721.c589370a.8438.1226@mx.google.com> Message-ID: <6796f9e0-f8dd-bd09-fbb7-54d0968be4a2@nps.edu> Thanks for an excellent .java test case John. The X3DJSAIL bug with findAncestor() handling is now fixed (antipattern occurred in 8 places), checked in and deployed. Attachment CameraExamples.java runs successfully. On 1/2/2018 1:18 PM, John Carlson wrote: > Exception in thread "main" java.lang.NullPointerException > > ??????? at org.web3d.x3d.jsail.Core.ProtoInstanceObject.getNodeType(ProtoInstanceObject.java:771) > > ??????? at org.web3d.x3d.jsail.Core.ProtoInstanceObject.validate(ProtoInstanceObject.java:1140) > > ??????? at org.web3d.x3d.jsail.Core.fieldValueObject.validate(fieldValueObject.java:971) > > ??????? at org.web3d.x3d.jsail.Core.ProtoInstanceObject.addFieldValue(ProtoInstanceObject.java:1222) > > ??????? at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$927$268435454A$CameraExamples_sail$cu1$restOf.:program$:split(../nashorn/net/coderextreme/data/CameraExamples.sail.js:333) > > ??????? at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$1$CameraExamples_sail.:program(../nashorn/net/coderextreme/data/CameraExamples.sail.js) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:652) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:517) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) > > ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) > > ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) 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 http://faculty.nps.edu/brutzman -------------- next part -------------- //package net.coderextreme.data; import org.web3d.x3d.jsail.*; import org.web3d.x3d.jsail.CADGeometry.*; import org.web3d.x3d.jsail.Core.*; import org.web3d.x3d.jsail.CubeMapTexturing.*; import org.web3d.x3d.jsail.DIS.*; import org.web3d.x3d.jsail.EnvironmentalEffects.*; import org.web3d.x3d.jsail.EnvironmentalSensor.*; import org.web3d.x3d.jsail.EventUtilities.*; import org.web3d.x3d.jsail.Followers.*; import org.web3d.x3d.jsail.Geometry2D.*; import org.web3d.x3d.jsail.Geometry3D.*; import org.web3d.x3d.jsail.Geospatial.*; import org.web3d.x3d.jsail.Grouping.*; import org.web3d.x3d.jsail.HAnim.*; import org.web3d.x3d.jsail.Interpolation.*; import org.web3d.x3d.jsail.KeyDeviceSensor.*; import org.web3d.x3d.jsail.Layering.*; import org.web3d.x3d.jsail.Layout.*; import org.web3d.x3d.jsail.Lighting.*; import org.web3d.x3d.jsail.NURBS.*; import org.web3d.x3d.jsail.Navigation.*; import org.web3d.x3d.jsail.Networking.*; import org.web3d.x3d.jsail.ParticleSystems.*; import org.web3d.x3d.jsail.Picking.*; import org.web3d.x3d.jsail.PointingDeviceSensor.*; import org.web3d.x3d.jsail.Rendering.*; import org.web3d.x3d.jsail.RigidBodyPhysics.*; import org.web3d.x3d.jsail.Scripting.*; import org.web3d.x3d.jsail.Shaders.*; import org.web3d.x3d.jsail.Shape.*; import org.web3d.x3d.jsail.Sound.*; import org.web3d.x3d.jsail.Text.*; import org.web3d.x3d.jsail.Texturing3D.*; import org.web3d.x3d.jsail.Texturing.*; import org.web3d.x3d.jsail.Time.*; import org.web3d.x3d.jsail.VolumeRendering.*; import org.web3d.x3d.jsail.fields.*; import org.web3d.x3d.sai.*; import org.web3d.x3d.sai.CADGeometry.*; import org.web3d.x3d.sai.Core.*; import org.web3d.x3d.sai.CubeMapTexturing.*; import org.web3d.x3d.sai.DIS.*; import org.web3d.x3d.sai.EnvironmentalEffects.*; import org.web3d.x3d.sai.EnvironmentalSensor.*; import org.web3d.x3d.sai.EventUtilities.*; import org.web3d.x3d.sai.Followers.*; import org.web3d.x3d.sai.Geometry2D.*; import org.web3d.x3d.sai.Geometry3D.*; import org.web3d.x3d.sai.Geospatial.*; import org.web3d.x3d.sai.Grouping.*; import org.web3d.x3d.sai.HAnim.*; import org.web3d.x3d.sai.Interpolation.*; import org.web3d.x3d.sai.KeyDeviceSensor.*; import org.web3d.x3d.sai.Layering.*; import org.web3d.x3d.sai.Layout.*; import org.web3d.x3d.sai.Lighting.*; import org.web3d.x3d.sai.NURBS.*; import org.web3d.x3d.sai.Navigation.*; import org.web3d.x3d.sai.Networking.*; import org.web3d.x3d.sai.ParticleSystems.*; import org.web3d.x3d.sai.Picking.*; import org.web3d.x3d.sai.PointingDeviceSensor.*; import org.web3d.x3d.sai.Rendering.*; import org.web3d.x3d.sai.RigidBodyPhysics.*; import org.web3d.x3d.sai.Scripting.*; import org.web3d.x3d.sai.Shaders.*; import org.web3d.x3d.sai.Shape.*; import org.web3d.x3d.sai.Sound.*; import org.web3d.x3d.sai.Text.*; import org.web3d.x3d.sai.Texturing3D.*; import org.web3d.x3d.sai.Texturing.*; import org.web3d.x3d.sai.Time.*; import org.web3d.x3d.sai.VolumeRendering.*; public class CameraExamples { public static void main(String[] args) { ConfigurationProperties.setShowDefaultAttributes(true); ConfigurationProperties.setXsltEngine(ConfigurationProperties.XSLT_ENGINE_NATIVE_JAVA); ConfigurationProperties.setDeleteIntermediateFiles(false); new CameraExamples().initialize().toFileJSON("CameraExamples.new.json"); } public X3DObject initialize() { ProtoInstanceObject ProtoInstance0 = null; ProtoInstanceObject ProtoInstance1 = null; ProtoInstanceObject ProtoInstance2 = null; ProtoInstanceObject ProtoInstance3 = null; ProtoInstanceObject ProtoInstance4 = null; ProtoInstanceObject ProtoInstance5 = null; ProtoInstanceObject ProtoInstance6 = null; ProtoInstanceObject ProtoInstance7 = null; ProtoInstanceObject ProtoInstance8 = null; ProtoInstanceObject ProtoInstance9 = null; ProtoInstanceObject ProtoInstance10 = null; ProtoInstanceObject ProtoInstance11 = null; ProtoInstanceObject ProtoInstance12 = null; ProtoInstanceObject ProtoInstance13 = null; ProtoInstanceObject ProtoInstance14 = null; ProtoInstanceObject ProtoInstance15 = null; ProtoInstanceObject ProtoInstance16 = null; ProtoInstanceObject ProtoInstance17 = null; ProtoInstanceObject ProtoInstance18 = null; ProtoInstanceObject ProtoInstance19 = null; ProtoInstanceObject ProtoInstance20 = null; ProtoInstanceObject ProtoInstance21 = null; ProtoInstanceObject ProtoInstance22 = null; ProtoInstanceObject ProtoInstance23 = null; ProtoInstanceObject ProtoInstance24 = null; ProtoInstanceObject ProtoInstance25 = null; ProtoInstanceObject ProtoInstance26 = null; ProtoInstanceObject ProtoInstance27 = null; ProtoInstanceObject ProtoInstance28 = null; ProtoInstanceObject ProtoInstance29 = null; ProtoInstanceObject ProtoInstance30 = null; ProtoInstanceObject ProtoInstance31 = null; ProtoInstanceObject ProtoInstance32 = null; ProtoInstanceObject ProtoInstance33 = null; ProtoInstanceObject ProtoInstance34 = null; X3DObject X3D0 = new X3DObject().setProfile("Immersive").setVersion("3.3") .setHead(new headObject() .addMeta(new metaObject().setName("title").setContent("CameraExamples.x3d")) .addMeta(new metaObject().setName("description").setContent("Camera, CameraShot and CameraMove examples that demonstrate storyboard capabilities and precise camera operation. This is a developmental effort for potential X3D Specification improvement.")) .addMeta(new metaObject().setName("documentation").setContent("Two demos are found in the scene, click the \"red text\"on left or right to start. (a) SimpleShotsTest shows Zoom in/out, Pan left/right, Boom up/down, Tilt left/right, with each is defined by a CameraShot collecting a series of CameraMovements. (b) AimPointTest gradually slews the camera view to look at the sliding cube, then follows it around before returning to original viewpoint.")) .addMeta(new metaObject().setName("creator").setContent("Don Brutzman and Jeff Weekley")) .addMeta(new metaObject().setName("created").setContent("18 June 2009")) .addMeta(new metaObject().setName("modified").setContent("12 January 2014")) .addMeta(new metaObject().setName("TODO").setContent("Schematron rules, backed up by initialize() checks")) .addMeta(new metaObject().setName("reference").setContent("BeyondViewpointCameraNodesWeb3D2009.pdf")) .addMeta(new metaObject().setName("MovingImage").setContent("CameraExamplesDemo.mp4")) .addMeta(new metaObject().setName("reference").setContent("http://www.web3d.org/x3d/specifications/ISO-IEC-FDIS-19775-1.2-X3D-AbstractSpecification/Part01/components/navigation.html")) .addMeta(new metaObject().setName("subject").setContent("Camera nodes for Viewpoint navigation control")) .addMeta(new metaObject().setName("reference").setContent("CameraPrototypes.x3d")) .addMeta(new metaObject().setName("reference").setContent("CameraExamplesConsoleLog.txt")) .addMeta(new metaObject().setName("reference").setContent("http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/development/CameraExamples.avi")) .addMeta(new metaObject().setName("reference").setContent("http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/gridBack.x3d")) .addMeta(new metaObject().setName("identifier").setContent("http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamples.x3d")) .addMeta(new metaObject().setName("identifier").setContent("http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/development/CameraExamples.x3d")) .addMeta(new metaObject().setName("generator").setContent("X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit")) .addMeta(new metaObject().setName("license").setContent("../license.html")) .addComments(new CommentsBlock("TODO warn if more than one identifier present"))) .setScene(new SceneObject() .addComments(new CommentsBlock("=============== Camera ==============")) .addChild(new ExternProtoDeclareObject().setName("Camera").setAppinfo("Camera node provides direct control of scene view to enable cinematic camera animation shot by shot and move by move along with still digital-photography settings for offline rendering of camera images").setUrl(new MFStringObject(new MFString0().getArray())) .addComments(new CommentsBlock("Viewpoint-related fields, NavigationInfo-related fields and Camera-unique fields")) .addField(new fieldObject().setType("SFString").setName("description").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Text description to be displayed for this Camera")) .addField(new fieldObject().setType("SFVec3f").setName("position").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Camera position in local transformation frame, which is default prior to first CameraShot initialPosition getting activated")) .addField(new fieldObject().setType("SFRotation").setName("orientation").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Camera rotation in local transformation frame, which is default prior to first CameraShot initialPosition getting activated")) .addField(new fieldObject().setType("SFFloat").setName("fieldOfView").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("pi/4")) .addField(new fieldObject().setType("SFFloat").setName("set_fraction").setAccessType(fieldObject.ACCESSTYPE_INPUTONLY).setAppinfo("input fraction drives interpolators")) .addField(new fieldObject().setType("SFBool").setName("set_bind").setAccessType(fieldObject.ACCESSTYPE_INPUTONLY).setAppinfo("input event binds or unbinds this Camera")) .addField(new fieldObject().setType("SFTime").setName("bindTime").setAccessType(fieldObject.ACCESSTYPE_OUTPUTONLY).setAppinfo("output event indicates when this Camera is bound")) .addField(new fieldObject().setType("SFBool").setName("isBound").setAccessType(fieldObject.ACCESSTYPE_OUTPUTONLY).setAppinfo("output event indicates whether this Camera is bound or unbound")) .addField(new fieldObject().setType("SFFloat").setName("nearClipPlane").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Vector distance to near clipping plane corresponds to NavigationInfo.avatarSize[0]")) .addField(new fieldObject().setType("SFFloat").setName("farClipPlane").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Vector distance to far clipping plane corresponds to NavigationInfo.visibilityLimit")) .addField(new fieldObject().setType("MFNode").setName("shots").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Array of CameraShot nodes which in turn contain CameraMovement nodes")) .addField(new fieldObject().setType("SFBool").setName("headlight").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Whether camera headlight is on or off")) .addField(new fieldObject().setType("SFColor").setName("headlightColor").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Camera headlight color")) .addField(new fieldObject().setType("SFFloat").setName("headlightIntensity").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Camera headlight intensity")) .addField(new fieldObject().setType("SFColor").setName("filterColor").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Camera filter color that modifies virtual lens capture")) .addField(new fieldObject().setType("SFFloat").setName("filterTransparency").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Camera filter transparency that modifies virtual lens capture")) .addField(new fieldObject().setType("SFVec3f").setName("upVector").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("upVector changes modify camera orientation (and possibly vice versa)")) .addField(new fieldObject().setType("SFFloat").setName("fStop").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Focal length divided effective aperture diameter indicating width of focal plane")) .addField(new fieldObject().setType("SFFloat").setName("focusDistance").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Distance to focal plane of sharpest focus")) .addField(new fieldObject().setType("SFBool").setName("isActive").setAccessType(fieldObject.ACCESSTYPE_OUTPUTONLY).setAppinfo("Mark start/stop with true/false output respectively useful to trigger external animations")) .addField(new fieldObject().setType("SFTime").setName("totalDuration").setAccessType(fieldObject.ACCESSTYPE_OUTPUTONLY).setAppinfo("Total duration of contained enabled CameraShot (and thus CameraMovement) move durations")) .addField(new fieldObject().setType("SFNode").setName("offlineRender").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("OfflineRender node")) .addField(new fieldObject().setType("SFBool").setName("traceEnabled").setAccessType(fieldObject.ACCESSTYPE_INITIALIZEONLY).setAppinfo("enable console output to trace script computations and prototype progress"))) .addComments(new CommentsBlock("=============== CameraShot ==============")) .addChild(new ExternProtoDeclareObject().setName("CameraShot").setAppinfo("CameraShot collects a specific set of CameraMovement animations that make up an individual shot").setUrl(new MFStringObject(new MFString1().getArray())) .addField(new fieldObject().setType("SFString").setName("description").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Text description to be displayed for this CameraShot")) .addField(new fieldObject().setType("SFBool").setName("enabled").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Whether this CameraShot can be activated")) .addField(new fieldObject().setType("MFNode").setName("moves").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Set of CameraMovement nodes") .addComments(new CommentsBlock("initializing CameraMovement nodes are inserted here by scene author using ProtoInstance"))) .addField(new fieldObject().setType("SFVec3f").setName("initialPosition").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Setup to reinitialize camera position for this shot")) .addField(new fieldObject().setType("SFRotation").setName("initialOrientation").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Setup to reinitialize camera rotation for this shot")) .addField(new fieldObject().setType("SFVec3f").setName("initialAimPoint").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Setup to reinitialize aimpoint (relative location for camera direction) for this shot")) .addField(new fieldObject().setType("SFFloat").setName("initialFieldOfView").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("pi/4")) .addField(new fieldObject().setType("SFFloat").setName("initialFStop").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Focal length divided effective aperture diameter indicating width of focal plane")) .addField(new fieldObject().setType("SFFloat").setName("initialFocusDistance").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Distance to focal plane of sharpest focus")) .addField(new fieldObject().setType("SFTime").setName("shotDuration").setAccessType(fieldObject.ACCESSTYPE_OUTPUTONLY).setAppinfo("Subtotal duration of contained CameraMovement move durations")) .addField(new fieldObject().setType("SFBool").setName("isActive").setAccessType(fieldObject.ACCESSTYPE_OUTPUTONLY).setAppinfo("Mark start/stop with true/false output respectively useful to trigger external animations")) .addField(new fieldObject().setType("SFBool").setName("traceEnabled").setAccessType(fieldObject.ACCESSTYPE_INITIALIZEONLY).setAppinfo("enable console output to trace script computations and prototype progress"))) .addComments(new CommentsBlock("=============== CameraMovement ==============")) .addChild(new ExternProtoDeclareObject().setName("CameraMovement").setAppinfo("CameraMovement defines a single camera movement animation").setUrl(new MFStringObject(new MFString2().getArray())) .addField(new fieldObject().setType("SFString").setName("description").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Text description to be displayed for this CameraMovement")) .addField(new fieldObject().setType("SFBool").setName("enabled").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Whether this CameraMovement can be activated")) .addField(new fieldObject().setType("SFFloat").setName("duration").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Duration in seconds for this move")) .addField(new fieldObject().setType("SFVec3f").setName("goalPosition").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Goal camera position for this move")) .addField(new fieldObject().setType("SFRotation").setName("goalOrientation").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Goal camera rotation for this move")) .addField(new fieldObject().setType("SFBool").setName("tracking").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Whether or not camera direction is tracking towards the aimPoint")) .addField(new fieldObject().setType("SFVec3f").setName("goalAimPoint").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Goal aimPoint for this move, ignored if tracking=false")) .addField(new fieldObject().setType("SFFloat").setName("goalFieldOfView").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Goal fieldOfView for this move")) .addField(new fieldObject().setType("SFFloat").setName("goalFStop").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Focal length divided effective aperture diameter indicating width of focal plane")) .addField(new fieldObject().setType("SFFloat").setName("goalFocusDistance").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Distance to focal plane of sharpest focus")) .addField(new fieldObject().setType("SFBool").setName("isActive").setAccessType(fieldObject.ACCESSTYPE_OUTPUTONLY).setAppinfo("Mark start/stop with true/false output respectively useful to trigger external animations")) .addField(new fieldObject().setType("SFBool").setName("traceEnabled").setAccessType(fieldObject.ACCESSTYPE_INITIALIZEONLY).setAppinfo("enable console output to trace script computations and prototype progress"))) .addComments(new CommentsBlock("=============== OfflineRender ==============")) .addChild(new ExternProtoDeclareObject().setName("OfflineRender").setAppinfo("OfflineRender defines a parameters for offline rendering of Camera animation output to a movie file (or possibly a still shot)").setUrl(new MFStringObject(new MFString3().getArray())) .addComments(new CommentsBlock("TODO non-photorealistic rendering (NPR) parameters")) .addField(new fieldObject().setType("SFString").setName("description").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Text description to be displayed for this OfflineRender")) .addField(new fieldObject().setType("SFBool").setName("enabled").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Whether this OfflineRender can be activated")) .addField(new fieldObject().setType("SFFloat").setName("frameRate").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Frames per second recorded for this rendering")) .addField(new fieldObject().setType("SFVec2f").setName("frameSize").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Size of frame in number of pixels width and height")) .addField(new fieldObject().setType("SFFloat").setName("pixelAspectRatio").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Relative dimensions of pixel height/width typically 1.33 or 1")) .addField(new fieldObject().setType("SFTime").setName("set_startTime").setAccessType(fieldObject.ACCESSTYPE_INPUTONLY).setAppinfo("Begin render operation")) .addField(new fieldObject().setType("SFFloat").setName("progress").setAccessType(fieldObject.ACCESSTYPE_OUTPUTONLY).setAppinfo("Progress performing render operation (0..1)")) .addField(new fieldObject().setType("SFTime").setName("renderCompleteTime").setAccessType(fieldObject.ACCESSTYPE_OUTPUTONLY).setAppinfo("Render operation complete")) .addField(new fieldObject().setType("MFString").setName("movieFormat").setAccessType(fieldObject.ACCESSTYPE_INITIALIZEONLY).setAppinfo("Format of rendered output movie (mpeg mp4 etc.), use first supported format")) .addField(new fieldObject().setType("MFString").setName("imageFormat").setAccessType(fieldObject.ACCESSTYPE_INITIALIZEONLY).setAppinfo("Format of rendered output images (png jpeg gif tiff etc.) use first supported format")) .addField(new fieldObject().setType("SFBool").setName("traceEnabled").setAccessType(fieldObject.ACCESSTYPE_INITIALIZEONLY).setAppinfo("enable console output to trace script computations and prototype progress"))) .addComments(new CommentsBlock("=============== Lights, camera, action! ==============")) .addChild(new DirectionalLightObject().setDirection(new float[] {0f,-1f,0f}).setGlobal(true).setIntensity(0.8f)) .addChild(new NavigationInfoObject().setType(new java.lang.String[] {"EXAMINE","FLY","ANY"})) .addChild(new ViewpointObject().setDescription("Camera test scene entry view").setPosition(new float[] {0f,2f,12f})) .addChild(new ViewpointObject().setDescription("Camera test scene from above").setOrientation(new float[] {1f,0f,0f,-1.57079f}).setPosition(new float[] {0f,150f,0f})) .addComments(new CommentsBlock("Keep prototype instances in same file while developing, then move later")) .addComments(new CommentsBlock("We will create examples matching those in the paper")) .addComments(new CommentsBlock("=============== Camera.SimpleShotsTest ==============")) .addChild(ProtoInstance0 = new ProtoInstanceObject().setName("Camera").setDEF("Camera.SimpleShotsTest")) .addChild(new GroupObject().setDEF("AnimationGroup.SimpleShots") .addChild(new TimeSensorObject().setDEF("CameraTimer.SimpleShots")) .addComments(new CommentsBlock("initialize clock to match totalDuration of combined Shot Moves")) .addChild(new ROUTEObject().setFromField("totalDuration").setFromNode("Camera.SimpleShotsTest").setToField("cycleInterval").setToNode("CameraTimer.SimpleShots")) .addComments(new CommentsBlock("TimeSensor animates the CameraClock since that maintains the computed PositionInterpolator and OrientationInterpolator")) .addChild(new ROUTEObject().setFromField("fraction_changed").setFromNode("CameraTimer.SimpleShots").setToField("set_fraction").setToNode("Camera.SimpleShotsTest")) .addChild(new TransformObject().setDEF("Trigger.SimpleShots").setTranslation(new float[] {-4f,4f,0f}) .addChild(new BooleanFilterObject().setDEF("TextTouchActive.SimpleShotsFilter")) .addChild(new TouchSensorObject().setDEF("TextTouch.SimpleShots").setDescription("touch to animate Camera SimpleShotsTest")) .addChild(new ROUTEObject().setFromField("inputTrue").setFromNode("TextTouchActive.SimpleShotsFilter").setToField("set_bind").setToNode("Camera.SimpleShotsTest")) .addChild(new ROUTEObject().setFromField("isActive").setFromNode("TextTouch.SimpleShots").setToField("set_boolean").setToNode("TextTouchActive.SimpleShotsFilter")) .addChild(new ROUTEObject().setFromField("touchTime").setFromNode("TextTouch.SimpleShots").setToField("startTime").setToNode("CameraTimer.SimpleShots")) .addChild(new ShapeObject() .setGeometry(new TextObject().setString(new MFStringObject(new MFString4().getArray())) .setFontStyle(new FontStyleObject().setJustify(new MFStringObject(new MFString5().getArray())))) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject().setDEF("ArtDeco5").setAmbientIntensity(0.24f).setDiffuseColor(new float[] {0.945455f,0.318988f,0.321717f}).setShininess(0.01f).setSpecularColor(new float[] {0.072727f,0.021705f,0.010732f}) .addComments(new CommentsBlock("Universal Media Library: ArtDeco 5"))))) .addComments(new CommentsBlock("Simplify intersection test for user selecting text")) .addChild(new ShapeObject().setDEF("TransparentBox") .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject().setTransparency(1f))) .setGeometry(new BoxObject().setSize(new float[] {6f,2f,0.0001f}))))) .addChild(new GroupObject().setDEF("SimpleShotsTargets") .addChild(new TransformObject().setDEF("TargetBoxZoom").setTranslation(new float[] {-50f,1f,-20f}) .addChild(new ShapeObject() .setGeometry(new BoxObject()) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject()) .setTexture(new ImageTextureObject().setUrl(new MFStringObject(new MFString6().getArray()))))) .addChild(new TransformObject().setTranslation(new float[] {0f,2f,0f}) .addChild(new ShapeObject() .setGeometry(new TextObject().setString(new MFStringObject(new MFString7().getArray())) .setFontStyle(new FontStyleObject().setJustify(new MFStringObject(new MFString8().getArray())))) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject()))))) .addChild(new TransformObject().setDEF("TargetBoxDolly").setTranslation(new float[] {-40f,1f,-20f}) .addChild(new ShapeObject() .setGeometry(new BoxObject()) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject()) .setTexture(new ImageTextureObject().setUrl(new MFStringObject(new MFString9().getArray()))))) .addChild(new TransformObject().setTranslation(new float[] {0f,2f,0f}) .addChild(new ShapeObject() .setGeometry(new TextObject().setString(new MFStringObject(new MFString10().getArray())) .setFontStyle(new FontStyleObject().setJustify(new MFStringObject(new MFString11().getArray())))) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject()))))) .addChild(new TransformObject().setDEF("TargetBoxPan").setTranslation(new float[] {-30f,1f,-20f}) .addChild(new ShapeObject() .setGeometry(new BoxObject()) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject()) .setTexture(new ImageTextureObject().setUrl(new MFStringObject(new MFString12().getArray()))))) .addChild(new TransformObject().setTranslation(new float[] {0f,2f,0f}) .addChild(new ShapeObject() .setGeometry(new TextObject().setString(new MFStringObject(new MFString13().getArray())) .setFontStyle(new FontStyleObject().setJustify(new MFStringObject(new MFString14().getArray())))) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject()))))) .addChild(new TransformObject().setDEF("TargetBoxBoom").setTranslation(new float[] {-20f,1f,-20f}) .addChild(new ShapeObject() .setGeometry(new BoxObject()) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject()) .setTexture(new ImageTextureObject().setUrl(new MFStringObject(new MFString15().getArray()))))) .addChild(new TransformObject().setTranslation(new float[] {0f,2f,0f}) .addChild(new ShapeObject() .setGeometry(new TextObject().setString(new MFStringObject(new MFString16().getArray())) .setFontStyle(new FontStyleObject().setJustify(new MFStringObject(new MFString17().getArray())))) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject()))))) .addChild(new TransformObject().setDEF("TargetBoxTilt").setTranslation(new float[] {-10f,1f,-20f}) .addChild(new ShapeObject() .setGeometry(new BoxObject()) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject()) .setTexture(new ImageTextureObject().setUrl(new MFStringObject(new MFString18().getArray()))))) .addChild(new TransformObject().setTranslation(new float[] {0f,2f,0f}) .addChild(new ShapeObject() .setGeometry(new TextObject().setString(new MFStringObject(new MFString19().getArray())) .setFontStyle(new FontStyleObject().setJustify(new MFStringObject(new MFString20().getArray())))) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject())))))) .addComments(new CommentsBlock("=============== Camera.AimPointTest ==============")) .addChild(ProtoInstance26 = new ProtoInstanceObject().setName("Camera").setDEF("Camera.AimPointTest")) .addChild(new GroupObject().setDEF("AnimationGroup.AimPointTest") .addChild(new TimeSensorObject().setDEF("CameraTimer.AimPointTest")) .addComments(new CommentsBlock("initialize clock to match totalDuration of combined Shot Moves")) .addChild(new ROUTEObject().setFromField("totalDuration").setFromNode("Camera.AimPointTest").setToField("cycleInterval").setToNode("CameraTimer.AimPointTest")) .addComments(new CommentsBlock("TimeSensor animates the CameraClock since that maintains the computed PositionInterpolator and OrientationInterpolator")) .addChild(new ROUTEObject().setFromField("fraction_changed").setFromNode("CameraTimer.AimPointTest").setToField("set_fraction").setToNode("Camera.AimPointTest")) .addChild(new TransformObject().setDEF("Trigger.AimPointTest").setTranslation(new float[] {4f,4f,0f}) .addChild(new BooleanFilterObject().setDEF("TextTouchActive.AimPointFilter")) .addChild(new TouchSensorObject().setDEF("TextTouch.AimPointTest").setDescription("touch to animate Camera AimPointTest")) .addChild(new ROUTEObject().setFromField("inputTrue").setFromNode("TextTouchActive.AimPointFilter").setToField("set_bind").setToNode("Camera.AimPointTest")) .addChild(new ROUTEObject().setFromField("isActive").setFromNode("TextTouch.AimPointTest").setToField("set_boolean").setToNode("TextTouchActive.AimPointFilter")) .addChild(new ROUTEObject().setFromField("touchTime").setFromNode("TextTouch.AimPointTest").setToField("startTime").setToNode("CameraTimer.AimPointTest")) .addChild(new ShapeObject() .setGeometry(new TextObject().setString(new MFStringObject(new MFString21().getArray())) .setFontStyle(new FontStyleObject().setJustify(new MFStringObject(new MFString22().getArray())))) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject().setUSE("ArtDeco5")))) .addChild(new ShapeObject().setUSE("TransparentBox")))) .addComments(new CommentsBlock("TODO build a test once implemented")) .addChild(ProtoInstance32 = new ProtoInstanceObject().setName("OfflineRender")) .addComments(new CommentsBlock("=============== animate a camera shape to visualize view changes ==============")) .addChild(new TransformObject().setDEF("CameraShapeTransform").setTranslation(new float[] {0f,0.5f,0f}) .addComments(new CommentsBlock("move CameraShape using active Camera")) .addChild(new ROUTEObject().setFromField("position_changed").setFromNode("Camera.SimpleShotsTest").setToField("translation").setToNode("CameraShapeTransform")) .addChild(new ROUTEObject().setFromField("orientation_changed").setFromNode("Camera.SimpleShotsTest").setToField("rotation").setToNode("CameraShapeTransform")) .addChild(new ROUTEObject().setFromField("position").setFromNode("Camera.AimPointTest").setToField("translation").setToNode("CameraShapeTransform")) .addChild(new ROUTEObject().setFromField("orientation_changed").setFromNode("Camera.AimPointTest").setToField("rotation").setToNode("CameraShapeTransform")) .addChild(new TransformObject().setDEF("CameraOffsetTransform").setTranslation(new float[] {0f,0f,0.25f}) .addChild(new TouchSensorObject().setDEF("CameraShapeTouched")) .addChild(new InlineObject().setDEF("CameraShape").setUrl(new MFStringObject(new MFString23().getArray()))) .addChild(new ShapeObject().setDEF("SightLine") .setGeometry(new IndexedLineSetObject().setCoordIndex(new MFInt32Object(new MFInt3224().getArray())) .setCoord(new CoordinateObject().setPoint(new MFVec3fObject(new MFVec3f25().getArray())))) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject().setEmissiveColor(new float[] {0.8f,0.8f,0.4f}))))) .addComments(new CommentsBlock("Display frustum to show camera view within the scene, toggled by user selecting CameraShape")) .addChild(new ExternProtoDeclareObject().setName("ViewFrustum").setAppinfo("Display view frustum associated with a given pair of Viewpoint NavigationInfo nodes").setUrl(new MFStringObject(new MFString26().getArray())) .addField(new fieldObject().setType("SFNode").setName("ViewpointNode").setAccessType(fieldObject.ACCESSTYPE_INITIALIZEONLY).setAppinfo("required: insert Viewpoint DEF or USE node for view of interest")) .addField(new fieldObject().setType("SFNode").setName("NavigationInfoNode").setAccessType(fieldObject.ACCESSTYPE_INITIALIZEONLY).setAppinfo("required: insert NavigationInfo DEF or USE node of interest")) .addField(new fieldObject().setType("SFBool").setName("visible").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("whether or not frustum geometry is rendered")) .addField(new fieldObject().setType("SFColor").setName("lineColor").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("RGB color of ViewFrustum outline, default value 0.9 0.9 0.9")) .addField(new fieldObject().setType("SFColor").setName("frustumColor").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("RGB color of ViewFrustum hull geometry, default value 0.8 0.8 0.8")) .addField(new fieldObject().setType("SFFloat").setName("transparency").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("transparency of ViewFrustum hull geometry, default value 0.5")) .addField(new fieldObject().setType("SFFloat").setName("aspectRatio").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("assumed ratio height/width, default value 0.75")) .addField(new fieldObject().setType("SFBool").setName("trace").setAccessType(fieldObject.ACCESSTYPE_INITIALIZEONLY).setAppinfo("debug support, default false"))) .addChild(ProtoInstance33 = new ProtoInstanceObject().setName("ViewFrustum").setDEF("ViewFrustumNode")) .addChild(new BooleanToggleObject().setDEF("ViewFrustumToggle")) .addChild(new ROUTEObject().setFromField("isActive").setFromNode("CameraShapeTouched").setToField("set_boolean").setToNode("ViewFrustumToggle")) .addChild(new ROUTEObject().setFromField("toggle").setFromNode("ViewFrustumToggle").setToField("set_visible").setToNode("ViewFrustumNode"))) .addComments(new CommentsBlock("=============== add checkerboard, axes and other things to look at while animating ==============")) .addChild(new BackgroundObject().setSkyColor(new MFColorObject(new MFColor28().getArray()))) .addChild(new TransformObject().setRotation(new float[] {1f,0f,0f,-1.57079f}).setScale(new float[] {10f,10f,10f}) .addChild(new ShapeObject() .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject().setAmbientIntensity(0.01f).setDiffuseColor(new float[] {1f,1f,1f}).setShininess(0.05f))) .setGeometry(new IndexedFaceSetObject().setColorIndex(new MFInt32Object(new MFInt3229().getArray())).setColorPerVertex(false).setCoordIndex(new MFInt32Object(new MFInt3230().getArray())).setNormalPerVertex(false).setSolid(false) .setCoord(new CoordinateObject().setPoint(new MFVec3fObject(new MFVec3f31().getArray()))) .setColor(new ColorObject().setColor(new MFColorObject(new MFColor32().getArray())))))) .addChild(new TransformObject().setScale(new float[] {3f,3f,3f}).setTranslation(new float[] {0f,0.25f,0f}) .addChild(new InlineObject().setDEF("CoordinateAxes").setUrl(new MFStringObject(new MFString33().getArray())))) .addChild(new TransformObject().setDEF("MovingBoxTransform") .addChild(new PositionInterpolatorObject().setDEF("BoxPath").setKey(new MFFloatObject(new MFFloat34().getArray())).setKeyValue(new MFVec3fObject(new MFVec3f35().getArray()))) .addChild(new TimeSensorObject().setDEF("BoxTimer").setCycleInterval(10d).setLoop(true)) .addChild(new ROUTEObject().setFromField("value_changed").setFromNode("BoxPath").setToField("translation").setToNode("MovingBoxTransform")) .addChild(new ROUTEObject().setFromField("value_changed").setFromNode("BoxPath").setToField("goalAimPoint").setToNode("MoveAimPoint3.1")) .addChild(new ROUTEObject().setFromField("value_changed").setFromNode("BoxPath").setToField("goalAimPoint").setToNode("MoveAimPoint3.2")) .addChild(new ROUTEObject().setFromField("value_changed").setFromNode("BoxPath").setToField("goalAimPoint").setToNode("MoveAimPoint3.3")) .addChild(new ROUTEObject().setFromField("fraction_changed").setFromNode("BoxTimer").setToField("set_fraction").setToNode("BoxPath")) .addChild(new ShapeObject() .setGeometry(new BoxObject()) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject()) .setTexture(new ImageTextureObject().setUrl(new MFStringObject(new MFString36().getArray())))))) .addComments(new CommentsBlock("================ CrossHair visualization for center of screen ================")) .addChild(new ExternProtoDeclareObject().setName("CrossHair").setAppinfo("CrossHair prototype provides a heads-up display (HUD) crosshair at the view center, which is useful for assessing NavigationInfo lookAt point").setUrl(new MFStringObject(new MFString37().getArray())) .addField(new fieldObject().setType("SFBool").setName("enabled").setAccessType(fieldObject.ACCESSTYPE_INITIALIZEONLY).setAppinfo("whether CrissHair orititype is enabled or not")) .addField(new fieldObject().setType("SFBool").setName("set_enabled").setAccessType(fieldObject.ACCESSTYPE_INPUTONLY).setAppinfo("control whether enabled/disabled")) .addField(new fieldObject().setType("SFColor").setName("markerColor").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("color of CrossHair marker")) .addField(new fieldObject().setType("SFVec3f").setName("scale").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("size of CrossHair in meters")) .addField(new fieldObject().setType("SFVec3f").setName("positionOffsetFromCamera").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setAppinfo("distance in front of HUD viewpoint"))) .addChild(ProtoInstance34 = new ProtoInstanceObject().setName("CrossHair").setDEF("CrossHairInstance")) .addComments(new CommentsBlock("turn on CrossHairInstance when animated camera viewpoints are bound")) .addChild(new ROUTEObject().setFromField("isBound").setFromNode("Camera.SimpleShotsTest").setToField("set_enabled").setToNode("CrossHairInstance")) .addChild(new ROUTEObject().setFromField("isBound").setFromNode("Camera.AimPointTest").setToField("set_enabled").setToNode("CrossHairInstance")) .addComments(new CommentsBlock("turn off CrossHairInstance when animated camera viewpoints are unbound ")) .addComments(new CommentsBlock("=============== TODO Launch Prototype Example ==============")) .addChild(new AnchorObject().setDescription("launch CameraExample scene").setParameter(new MFStringObject(new MFString38().getArray())).setUrl(new MFStringObject(new MFString39().getArray())) .addChild(new TransformObject().setTranslation(new float[] {0f,-3f,0f}) .addChild(new ShapeObject() .setGeometry(new TextObject().setString(new MFStringObject(new MFString40().getArray())) .setFontStyle(new FontStyleObject().setJustify(new MFStringObject(new MFString41().getArray())).setSize(0.5f))) .setAppearance(new AppearanceObject() .setMaterial(new MaterialObject().setDiffuseColor(new float[] {1f,1f,0.2f}))))))) ; ProtoInstance0 .addFieldValue(new fieldValueObject().setName("description").setValue("SimpleShotsTest for camera Zoom Dolly Pan Boom and Tilt")); ProtoInstance0 .addFieldValue(new fieldValueObject().setName("headlight").setValue("true")); ProtoInstance0 .addFieldValue(new fieldValueObject().setName("position").setValue("-4 4 10")); ProtoInstance0 .addFieldValue(new fieldValueObject().setName("shots") .addChild(ProtoInstance1 = new ProtoInstanceObject().setName("CameraShot").setDEF("Zoom")) .addChild(ProtoInstance5 = new ProtoInstanceObject().setName("CameraShot").setDEF("Dolly")) .addChild(ProtoInstance9 = new ProtoInstanceObject().setName("CameraShot").setDEF("Pan")) .addChild(ProtoInstance14 = new ProtoInstanceObject().setName("CameraShot").setDEF("CameraBoom")) .addChild(ProtoInstance18 = new ProtoInstanceObject().setName("CameraShot").setDEF("CameraTilt"))); ProtoInstance1 .addFieldValue(new fieldValueObject().setName("description").setValue("Simple shot of Camera Zoom")); ProtoInstance1 .addFieldValue(new fieldValueObject().setName("initialPosition").setValue("-50 1 -10")); ProtoInstance1 .addFieldValue(new fieldValueObject().setName("initialOrientation").setValue("0 1 0 0")); ProtoInstance1 .addFieldValue(new fieldValueObject().setName("moves") .addChild(ProtoInstance2 = new ProtoInstanceObject().setName("CameraMovement")) .addChild(ProtoInstance3 = new ProtoInstanceObject().setName("CameraMovement")) .addChild(ProtoInstance4 = new ProtoInstanceObject().setName("CameraMovement"))); ProtoInstance2 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Zoom In")); ProtoInstance2 .addFieldValue(new fieldValueObject().setName("duration").setValue("3")); ProtoInstance2 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-50 1 -15")); ProtoInstance2 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance3 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Zoom Out")); ProtoInstance3 .addFieldValue(new fieldValueObject().setName("duration").setValue("3")); ProtoInstance3 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-50 1 -10")); ProtoInstance3 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance4 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Pause")); ProtoInstance4 .addFieldValue(new fieldValueObject().setName("duration").setValue("1")); ProtoInstance4 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-50 1 -10")); ProtoInstance4 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance5 .addFieldValue(new fieldValueObject().setName("description").setValue("Simple shot of Camera Dolly")); ProtoInstance5 .addFieldValue(new fieldValueObject().setName("initialPosition").setValue("-40 1 -10")); ProtoInstance5 .addFieldValue(new fieldValueObject().setName("initialOrientation").setValue("0 1 0 0")); ProtoInstance5 .addFieldValue(new fieldValueObject().setName("moves") .addChild(ProtoInstance6 = new ProtoInstanceObject().setName("CameraMovement").setDEF("DollyMove1")) .addChild(ProtoInstance7 = new ProtoInstanceObject().setName("CameraMovement")) .addChild(ProtoInstance8 = new ProtoInstanceObject().setName("CameraMovement"))); ProtoInstance6 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Dolly from Right to Left")); ProtoInstance6 .addFieldValue(new fieldValueObject().setName("duration").setValue("3")); ProtoInstance6 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-45 1 -10")); ProtoInstance6 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance7 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Dolly from Left to Right")); ProtoInstance7 .addFieldValue(new fieldValueObject().setName("duration").setValue("3")); ProtoInstance7 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-40 1 -10")); ProtoInstance7 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance8 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Pause")); ProtoInstance8 .addFieldValue(new fieldValueObject().setName("duration").setValue("1")); ProtoInstance8 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-40 1 -10")); ProtoInstance8 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance9 .addFieldValue(new fieldValueObject().setName("description").setValue("Simple shot of Camera Pan left right and back to center")); ProtoInstance9 .addFieldValue(new fieldValueObject().setName("initialPosition").setValue("-30 1 -10")); ProtoInstance9 .addFieldValue(new fieldValueObject().setName("initialOrientation").setValue("0 1 0 0")); ProtoInstance9 .addFieldValue(new fieldValueObject().setName("moves") .addChild(ProtoInstance10 = new ProtoInstanceObject().setName("CameraMovement").setDEF("PanLeft")) .addChild(ProtoInstance11 = new ProtoInstanceObject().setName("CameraMovement").setDEF("PanRight")) .addChild(ProtoInstance12 = new ProtoInstanceObject().setName("CameraMovement")) .addChild(ProtoInstance13 = new ProtoInstanceObject().setName("CameraMovement"))); ProtoInstance10 .addFieldValue(new fieldValueObject().setName("description").setValue("Pan Left")); ProtoInstance10 .addFieldValue(new fieldValueObject().setName("duration").setValue("2")); ProtoInstance10 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-30 1 -10")); ProtoInstance10 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0.4")); ProtoInstance11 .addFieldValue(new fieldValueObject().setName("description").setValue("Pan Right")); ProtoInstance11 .addFieldValue(new fieldValueObject().setName("duration").setValue("3")); ProtoInstance11 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-30 1 -10")); ProtoInstance11 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 -0.4")); ProtoInstance12 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Pan back to Center")); ProtoInstance12 .addFieldValue(new fieldValueObject().setName("duration").setValue("2")); ProtoInstance12 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-30 1 -10")); ProtoInstance12 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance13 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Pause")); ProtoInstance13 .addFieldValue(new fieldValueObject().setName("duration").setValue("2")); ProtoInstance13 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-30 1 -10")); ProtoInstance13 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance14 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Boom")); ProtoInstance14 .addFieldValue(new fieldValueObject().setName("initialPosition").setValue("-20 1 -10")); ProtoInstance14 .addFieldValue(new fieldValueObject().setName("initialOrientation").setValue("0 1 0 0")); ProtoInstance14 .addFieldValue(new fieldValueObject().setName("moves") .addChild(ProtoInstance15 = new ProtoInstanceObject().setName("CameraMovement").setDEF("CameraBoomUp")) .addChild(ProtoInstance16 = new ProtoInstanceObject().setName("CameraMovement").setDEF("BoomDown")) .addChild(ProtoInstance17 = new ProtoInstanceObject().setName("CameraMovement").setDEF("BoomPause"))); ProtoInstance15 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Boom Up")); ProtoInstance15 .addFieldValue(new fieldValueObject().setName("duration").setValue("3")); ProtoInstance15 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-20 5 -10")); ProtoInstance15 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance16 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Boom Down")); ProtoInstance16 .addFieldValue(new fieldValueObject().setName("duration").setValue("3")); ProtoInstance16 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-20 1 -10")); ProtoInstance16 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance17 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Pause")); ProtoInstance17 .addFieldValue(new fieldValueObject().setName("duration").setValue("2")); ProtoInstance17 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-20 1 -10")); ProtoInstance17 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance18 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Tilt")); ProtoInstance18 .addFieldValue(new fieldValueObject().setName("initialPosition").setValue("-10 1 -10")); ProtoInstance18 .addFieldValue(new fieldValueObject().setName("initialOrientation").setValue("0 0 1 0")); ProtoInstance18 .addFieldValue(new fieldValueObject().setName("traceEnabled").setValue("true")); ProtoInstance18 .addFieldValue(new fieldValueObject().setName("moves") .addChild(ProtoInstance19 = new ProtoInstanceObject().setName("CameraMovement")) .addChild(ProtoInstance20 = new ProtoInstanceObject().setName("CameraMovement").setDEF("TiltDown")) .addChild(ProtoInstance21 = new ProtoInstanceObject().setName("CameraMovement").setDEF("TiltPause")) .addChild(ProtoInstance22 = new ProtoInstanceObject().setName("CameraMovement")) .addChild(ProtoInstance23 = new ProtoInstanceObject().setName("CameraMovement")) .addChild(ProtoInstance24 = new ProtoInstanceObject().setName("CameraMovement").setDEF("TiltReset")) .addChild(ProtoInstance25 = new ProtoInstanceObject().setName("CameraMovement").setDEF("TiltUp"))); ProtoInstance19 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Tilt Pause")); ProtoInstance19 .addFieldValue(new fieldValueObject().setName("duration").setValue("1")); ProtoInstance19 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-10 1 -10")); ProtoInstance19 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 0 1 0")); ProtoInstance20 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Tilt Left")); ProtoInstance20 .addFieldValue(new fieldValueObject().setName("duration").setValue("3")); ProtoInstance20 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-10 1 -10")); ProtoInstance20 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 0 1 0.785")); ProtoInstance21 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Tilt Pause")); ProtoInstance21 .addFieldValue(new fieldValueObject().setName("duration").setValue("1")); ProtoInstance21 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-10 1 -10")); ProtoInstance21 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 0 1 0.785")); ProtoInstance22 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Tilt Right")); ProtoInstance22 .addFieldValue(new fieldValueObject().setName("duration").setValue("3")); ProtoInstance22 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-10 1 -10")); ProtoInstance22 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 0 1 -0.785")); ProtoInstance23 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Tilt Pause")); ProtoInstance23 .addFieldValue(new fieldValueObject().setName("duration").setValue("1")); ProtoInstance23 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-10 1 -10")); ProtoInstance23 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 0 1 -0.785")); ProtoInstance24 .addFieldValue(new fieldValueObject().setName("description").setValue("Camera Tilt Reset")); ProtoInstance24 .addFieldValue(new fieldValueObject().setName("duration").setValue("1")); ProtoInstance24 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("-10 1 -10")); ProtoInstance24 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 0 1 0")); ProtoInstance25 .addFieldValue(new fieldValueObject().setName("description").setValue("Return to home")); ProtoInstance25 .addFieldValue(new fieldValueObject().setName("duration").setValue("2")); ProtoInstance25 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("0 2 12")); ProtoInstance25 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 0 1 0")); ProtoInstance26 .addFieldValue(new fieldValueObject().setName("description").setValue("AimPointTest for moving camera tracking moving target")); ProtoInstance26 .addFieldValue(new fieldValueObject().setName("position").setValue("4 4 10")); ProtoInstance26 .addFieldValue(new fieldValueObject().setName("shots") .addChild(ProtoInstance27 = new ProtoInstanceObject().setName("CameraShot").setDEF("Shot5"))); ProtoInstance27 .addFieldValue(new fieldValueObject().setName("description").setValue("#3 Tracking shot")); ProtoInstance27 .addFieldValue(new fieldValueObject().setName("initialPosition").setValue("6 6 10")); ProtoInstance27 .addFieldValue(new fieldValueObject().setName("initialOrientation").setValue("0 1 0 0")); ProtoInstance27 .addFieldValue(new fieldValueObject().setName("moves") .addChild(ProtoInstance28 = new ProtoInstanceObject().setName("CameraMovement").setDEF("MoveAimPoint3.1") .addComments(new CommentsBlock("goalAimPoint modified by ROUTE to match moving Box"))) .addChild(ProtoInstance29 = new ProtoInstanceObject().setName("CameraMovement").setDEF("MoveAimPoint3.2") .addComments(new CommentsBlock("goalAimPoint modified by ROUTE to match moving Box"))) .addChild(ProtoInstance30 = new ProtoInstanceObject().setName("CameraMovement").setDEF("MoveAimPoint3.3") .addComments(new CommentsBlock("goalAimPoint modified by ROUTE to match moving Box"))) .addChild(ProtoInstance31 = new ProtoInstanceObject().setName("CameraMovement").setDEF("MoveAimPoint3.4") .addComments(new CommentsBlock("can test tracking or not using following values")))); ProtoInstance28 .addFieldValue(new fieldValueObject().setName("description").setValue("AimPoint 3.1 moving BoxPath")); ProtoInstance28 .addFieldValue(new fieldValueObject().setName("tracking").setValue("true")); ProtoInstance28 .addFieldValue(new fieldValueObject().setName("duration").setValue("8")); ProtoInstance28 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("6 6 10")); ProtoInstance29 .addFieldValue(new fieldValueObject().setName("description").setValue("AimPoint 3.2 pan right while tracking")); ProtoInstance29 .addFieldValue(new fieldValueObject().setName("tracking").setValue("true")); ProtoInstance29 .addFieldValue(new fieldValueObject().setName("duration").setValue("8")); ProtoInstance29 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("40 6 12")); ProtoInstance30 .addFieldValue(new fieldValueObject().setName("description").setValue("AimPoint 3.3 boom up while tracking")); ProtoInstance30 .addFieldValue(new fieldValueObject().setName("tracking").setValue("true")); ProtoInstance30 .addFieldValue(new fieldValueObject().setName("duration").setValue("3")); ProtoInstance30 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("40 20 13")); ProtoInstance31 .addFieldValue(new fieldValueObject().setName("description").setValue("AimPoint 3.4 restore camera back to home")); ProtoInstance31 .addFieldValue(new fieldValueObject().setName("tracking").setValue("true")); ProtoInstance31 .addFieldValue(new fieldValueObject().setName("duration").setValue("5")); ProtoInstance31 .addFieldValue(new fieldValueObject().setName("goalPosition").setValue("4 4 10")); ProtoInstance31 .addFieldValue(new fieldValueObject().setName("goalAimPoint").setValue("4 4 0")); ProtoInstance31 .addFieldValue(new fieldValueObject().setName("goalOrientation").setValue("0 1 0 0")); ProtoInstance33 .addFieldValue(new fieldValueObject().setName("ViewpointNode") .addChild(new ViewpointObject().setDEF("FrustumViewpoint").setDescription("viewpoint for ViewFrustum").setPosition(new float[] {0f,0f,0f}))); ProtoInstance33 .addFieldValue(new fieldValueObject().setName("NavigationInfoNode") .addChild(new NavigationInfoObject().setDEF("TestNavigationInfo").setTransitionType(new MFStringObject(new MFString27().getArray())).setVisibilityLimit(100f))); ProtoInstance33 .addFieldValue(new fieldValueObject().setName("visible").setValue("false")); ProtoInstance33 .addFieldValue(new fieldValueObject().setName("lineColor").setValue("0.9 0.9 0.9")); ProtoInstance33 .addFieldValue(new fieldValueObject().setName("frustumColor").setValue("0.8 0.8 0.8")); ProtoInstance33 .addFieldValue(new fieldValueObject().setName("transparency").setValue("0.95")); ProtoInstance34 .addFieldValue(new fieldValueObject().setName("enabled").setValue("true")); ProtoInstance34 .addFieldValue(new fieldValueObject().setName("markerColor").setValue("1 0.5 0")); ProtoInstance34 .addFieldValue(new fieldValueObject().setName("scale").setValue("1 1 1")); ProtoInstance34 .addFieldValue(new fieldValueObject().setName("positionOffsetFromCamera").setValue("0 0 -6")); return X3D0; } protected class MFString0 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"CameraPrototypes.x3d#Camera".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/CameraPrototypes.x3d#Camera".replaceAll("\"", "\\\""),"CameraPrototypes.wrl#Camera".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/CameraPrototypes.wrl#Camera".replaceAll("\"", "\\\"")}); } } protected class MFString1 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"CameraPrototypes.x3d#CameraShot".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/CameraPrototypes.x3d#CameraShot".replaceAll("\"", "\\\""),"CameraPrototypes.wrl#CameraShot".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/CameraPrototypes.wrl#CameraShot".replaceAll("\"", "\\\"")}); } } protected class MFString2 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"CameraPrototypes.x3d#CameraMovement".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/CameraPrototypes.x3d#CameraMovement".replaceAll("\"", "\\\""),"CameraPrototypes.wrl#CameraMovement".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/CameraPrototypes.wrl#CameraMovement".replaceAll("\"", "\\\"")}); } } protected class MFString3 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"CameraPrototypes.x3d#OfflineRender".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/CameraPrototypes.x3d#OfflineRender".replaceAll("\"", "\\\""),"CameraPrototypes.wrl#OfflineRender".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/CameraPrototypes.wrl#OfflineRender".replaceAll("\"", "\\\"")}); } } protected class MFString4 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"Click to animate".replaceAll("\"", "\\\""),"SimpleShotsTest".replaceAll("\"", "\\\"")}); } } protected class MFString5 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"MIDDLE".replaceAll("\"", "\\\""),"MIDDLE".replaceAll("\"", "\\\"")}); } } protected class MFString6 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"images/CameraMoveZoom.png".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/images/CameraMoveZoom.png".replaceAll("\"", "\\\"")}); } } protected class MFString7 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"Zoom in, out".replaceAll("\"", "\\\"")}); } } protected class MFString8 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"MIDDLE".replaceAll("\"", "\\\""),"MIDDLE".replaceAll("\"", "\\\"")}); } } protected class MFString9 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"images/CameraMoveDolly.png".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/images/CameraMoveDolly.png".replaceAll("\"", "\\\"")}); } } protected class MFString10 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"Dolly left, right".replaceAll("\"", "\\\"")}); } } protected class MFString11 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"MIDDLE".replaceAll("\"", "\\\""),"MIDDLE".replaceAll("\"", "\\\"")}); } } protected class MFString12 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"images/CameraMovePan.png".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/images/CameraMovePan.png".replaceAll("\"", "\\\"")}); } } protected class MFString13 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"Pan left, right".replaceAll("\"", "\\\"")}); } } protected class MFString14 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"MIDDLE".replaceAll("\"", "\\\""),"MIDDLE".replaceAll("\"", "\\\"")}); } } protected class MFString15 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"images/CameraMoveBoom.png".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/images/CameraMoveBoom.png".replaceAll("\"", "\\\"")}); } } protected class MFString16 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"Boom up, down".replaceAll("\"", "\\\"")}); } } protected class MFString17 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"MIDDLE".replaceAll("\"", "\\\""),"MIDDLE".replaceAll("\"", "\\\"")}); } } protected class MFString18 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"images/CameraMoveTilt.png".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/images/CameraMoveTilt.png".replaceAll("\"", "\\\"")}); } } protected class MFString19 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"Tilt left, right".replaceAll("\"", "\\\"")}); } } protected class MFString20 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"MIDDLE".replaceAll("\"", "\\\""),"MIDDLE".replaceAll("\"", "\\\"")}); } } protected class MFString21 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"Click to animate".replaceAll("\"", "\\\""),"AimPointTest".replaceAll("\"", "\\\"")}); } } protected class MFString22 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"MIDDLE".replaceAll("\"", "\\\""),"MIDDLE".replaceAll("\"", "\\\"")}); } } protected class MFString23 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"CameraShape.x3d".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/CameraShape.x3d".replaceAll("\"", "\\\"")}); } } protected class MFInt3224 { protected MFInt32Object getArray() { return new MFInt32Object(new int[] {0,1}); } } protected class MFVec3f25 { protected MFVec3fObject getArray() { return new MFVec3fObject(new float[] {0f,0f,0f,0f,0f,-100f}); } } protected class MFString26 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"../../X3dForWebAuthors/Chapter14Prototypes/ViewFrustumPrototype.x3d#ViewFrustum".replaceAll("\"", "\\\""),"http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter14Prototypes/ViewFrustumPrototype.x3d#ViewFrustum".replaceAll("\"", "\\\""),"../../X3dForWebAuthors/Chapter14Prototypes/ViewFrustumPrototype.wrl#ViewFrustum".replaceAll("\"", "\\\""),"http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter14Prototypes/ViewFrustumPrototype.wrl#ViewFrustum".replaceAll("\"", "\\\"")}); } } protected class MFString27 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"ANIMATE".replaceAll("\"", "\\\"")}); } } protected class MFColor28 { protected MFColorObject getArray() { return new MFColorObject(new float[] {0.282353f,0.380392f,0.470588f}); } } protected class MFInt3229 { protected MFInt32Object getArray() { return new MFInt32Object(new int[] {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0}); } } protected class MFInt3230 { protected MFInt32Object getArray() { return new MFInt32Object(new int[] {0,8,9,1,-1,1,9,10,2,-1,2,10,11,3,-1,3,11,12,4,-1,4,12,13,5,-1,5,13,14,6,-1,6,14,15,7,-1,8,16,17,9,-1,9,17,18,10,-1,10,18,19,11,-1,11,19,20,12,-1,12,20,21,13,-1,13,21,22,14,-1,14,22,23,15,-1,16,24,25,17,-1,17,25,26,18,-1,18,26,27,19,-1,19,27,28,20,-1,20,28,29,21,-1,21,29,30,22,-1,22,30,31,23,-1,24,32,33,25,-1,25,33,34,26,-1,26,34,35,27,-1,27,35,36,28,-1,28,36,37,29,-1,29,37,38,30,-1,30,38,39,31,-1,32,40,41,33,-1,33,41,42,34,-1,34,42,43,35,-1,35,43,44,36,-1,36,44,45,37,-1,37,45,46,38,-1,38,46,47,39,-1,40,48,49,41,-1,41,49,50,42,-1,42,50,51,43,-1,43,51,52,44,-1,44,52,53,45,-1,45,53,54,46,-1,46,54,55,47,-1,48,56,57,49,-1,49,57,58,50,-1,50,58,59,51,-1,51,59,60,52,-1,52,60,61,53,-1,53,61,62,54,-1,54,62,63,55,-1}); } } protected class MFVec3f31 { protected MFVec3fObject getArray() { return new MFVec3fObject(new float[] {-5.25f,5.25f,0f,-3.75f,5.25f,0f,-2.25f,5.25f,0f,-0.75f,5.25f,0f,0.75f,5.25f,0f,2.25f,5.25f,0f,3.75f,5.25f,0f,5.25f,5.25f,0f,-5.25f,3.75f,0f,-3.75f,3.75f,0f,-2.25f,3.75f,0f,-0.75f,3.75f,0f,0.75f,3.75f,0f,2.25f,3.75f,0f,3.75f,3.75f,0f,5.25f,3.75f,0f,-5.25f,2.25f,0f,-3.75f,2.25f,0f,-2.25f,2.25f,0f,-0.75f,2.25f,0f,0.75f,2.25f,0f,2.25f,2.25f,0f,3.75f,2.25f,0f,5.25f,2.25f,0f,-5.25f,0.75f,0f,-3.75f,0.75f,0f,-2.25f,0.75f,0f,-0.75f,0.75f,0f,0.75f,0.75f,0f,2.25f,0.75f,0f,3.75f,0.75f,0f,5.25f,0.75f,0f,-5.25f,-0.75f,0f,-3.75f,-0.75f,0f,-2.25f,-0.75f,0f,-0.75f,-0.75f,0f,0.75f,-0.75f,0f,2.25f,-0.75f,0f,3.75f,-0.75f,0f,5.25f,-0.75f,0f,-5.25f,-2.25f,0f,-3.75f,-2.25f,0f,-2.25f,-2.25f,0f,-0.75f,-2.25f,0f,0.75f,-2.25f,0f,2.25f,-2.25f,0f,3.75f,-2.25f,0f,5.25f,-2.25f,0f,-5.25f,-3.75f,0f,-3.75f,-3.75f,0f,-2.25f,-3.75f,0f,-0.75f,-3.75f,0f,0.75f,-3.75f,0f,2.25f,-3.75f,0f,3.75f,-3.75f,0f,5.25f,-3.75f,0f,-5.25f,-5.25f,0f,-3.75f,-5.25f,0f,-2.25f,-5.25f,0f,-0.75f,-5.25f,0f,0.75f,-5.25f,0f,2.25f,-5.25f,0f,3.75f,-5.25f,0f,5.25f,-5.25f,0f}); } } protected class MFColor32 { protected MFColorObject getArray() { return new MFColorObject(new float[] {0.435294f,0.741176f,0f,0f,0.560784f,0.580392f}); } } protected class MFString33 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"../../X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d".replaceAll("\"", "\\\""),"../../Savage/Tools/Authoring/CoordinateAxes.x3d".replaceAll("\"", "\\\""),"http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d".replaceAll("\"", "\\\""),"https://savage.nps.edu/Savage/Tools/Authoring/CoordinateAxes.x3d".replaceAll("\"", "\\\""),"../../X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.wrl".replaceAll("\"", "\\\""),"../../Savage/Tools/Authoring/CoordinateAxes.wrl".replaceAll("\"", "\\\""),"http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.wrl".replaceAll("\"", "\\\""),"https://savage.nps.edu/Savage/Tools/Authoring/CoordinateAxes.wrl".replaceAll("\"", "\\\"")}); } } protected class MFFloat34 { protected MFFloatObject getArray() { return new MFFloatObject(new float[] {0f,0.25f,0.5f,0.75f,1f}); } } protected class MFVec3f35 { protected MFVec3fObject getArray() { return new MFVec3fObject(new float[] {-5f,1f,5f,45f,1f,5f,45f,1f,-45f,-5f,1f,-45f,-5f,1f,5f}); } } protected class MFString36 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"../earth-topo.png".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/earth-topo.png".replaceAll("\"", "\\\"")}); } } protected class MFString37 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"../../Savage/Tools/HeadsUpDisplays/CrossHairPrototype.x3d#CrossHair".replaceAll("\"", "\\\""),"https://savage.nps.edu/Savage/Tools/HeadsUpDisplays/CrossHairPrototype.x3d#CrossHair".replaceAll("\"", "\\\""),"../../Savage/Tools/HeadsUpDisplays/CrossHairPrototype.wrl#CrossHair".replaceAll("\"", "\\\""),"https://savage.nps.edu/Savage/Tools/HeadsUpDisplays/CrossHairPrototype.wrl#CrossHair".replaceAll("\"", "\\\"")}); } } protected class MFString38 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"target=_blank".replaceAll("\"", "\\\"")}); } } protected class MFString39 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"CameraExample.x3d".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/CameraExample.x3d".replaceAll("\"", "\\\""),"CameraExample.wrl".replaceAll("\"", "\\\""),"http://www.web3d.org/x3d/content/examples/Basic/development/CameraExample.wrl".replaceAll("\"", "\\\"")}); } } protected class MFString40 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"CameraPrototype".replaceAll("\"", "\\\""),"defines a prototype".replaceAll("\"", "\\\""),"".replaceAll("\"", "\\\""),"Click on this text to see".replaceAll("\"", "\\\""),"CameraExample scene".replaceAll("\"", "\\\"")}); } } protected class MFString41 { protected MFStringObject getArray() { return new MFStringObject(new java.lang.String[] {"MIDDLE".replaceAll("\"", "\\\""),"MIDDLE".replaceAll("\"", "\\\"")}); } } } From brutzman at nps.edu Sun Apr 1 08:25:31 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 1 Apr 2018 08:25:31 -0700 Subject: [x3d-public] Upcoming feature of X3DJSAIL. A Java based X3DJSONLD! In-Reply-To: <5a6fa533.1610c80a.19f65.27b3@mx.google.com> References: <5a6fa533.1610c80a.19f65.27b3@mx.google.com> Message-ID: <06ceb3ff-e7d0-476c-a46a-cc43506e8746@nps.edu> John, this emerging X3D interoperability between java/javascript/.x3d/.json seems really significant. Can we make sure that it is properly & consistently documented in X3DJSAIL to correspond with X3DJSONLD? Alternately a few more TODO items will emerge... probably crafting and exposing a few examples that deliberately try to "ring all the bells at once" will be a useful exercise to share. Thanks for your efforts. On 1/29/2018 2:50 PM, John Carlson wrote: > I can now put this at the bottom of a Nashorn file, say? HelloWorldProgramOutput.Nashorn.js: > > ??? X3D0.toFileJSON("Nashorn.json"); > > ??? var X3DJSONLD = Java.type("net.coderextreme.X3DJSONLD") > > ??? var loader = new X3DJSONLD(); > > ??? var File = Java.type("java.io.File") > > ??? var jsobj = loader.readJsonFile(new File("Nashorn.json")); > > ??? var document = loader.loadJsonIntoDocument(jsobj); > > ??? print(loader.serializeDOM(loader.getX3DVersion(jsobj), document)); > > Then run to get XML output: > > $ jjs -J-Djava.class.path=../../jars/X3DJSAIL.3.3.full.jar";../../classes"? HelloWorldProgramOutput.Nashorn.js > Nashorn0.x3d > > Nothing has been validated yet, but output is attached!? I think it may still be messy, but I?m mildly pleased I got as far as I did. > > The real amazing thing is you don?t need javax.json on the classpath, as far as I can tell!? I did put it under java/lib for compiling. > > Source code: > > https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/java/net/coderextreme/X3DJSONLD.java > > License is under main repository. > > Next: tying DOM document into main X3DJSAIL. > > If you add these line to the end of the JavaScript, you can create an X3D from the DOM you loaded in another way: > > ??? var X3DLoaderObject = Java.type("org.web3d.x3d.jsail.X3DLoaderObject") > > ??? var xmlLoader = new X3DLoaderObject(); > > ??? X3D0 = xmlLoader.toX3dObjectTree(document); > > ??? X3D0.toFileX3D("./examples/Nashorn.x3d"); > > Have fun with X3DJSONLD! > > John > 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 http://faculty.nps.edu/brutzman From brutzman at nps.edu Sun Apr 1 08:28:40 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 1 Apr 2018 08:28:40 -0700 Subject: [x3d-public] JSON import added to X3DJSAIL. Take off TODO In-Reply-To: <5a92a96b.531bc80a.31e4e.57ad@mx.google.com> References: <5a92a96b.531bc80a.31e4e.57ad@mx.google.com> Message-ID: <85117d5a-1f41-3719-e0db-4b89482b0ad0@nps.edu> Similar request: let's build a few examples, then help me document X3DJSAIL correctly/consistently with X3DJSONLD. Perhaps we should plan a special breakout teleconference on these techniques? Or stick to monthly X3D Working Group teleconference focus? Whatever works. Again thanks. On 2/25/2018 4:17 AM, John Carlson wrote: > With net/coderextreme/X3DJSONLD.java, JSON import has been taken of the TODO list for X3DJSAIL. Please update: > > http://www.web3d.org/specifications/java/X3DJSAIL.html > > It still needs to be tested more? extensively, but initial versions are working under java/nashorn/examples. > > Thanks, > > John 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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Sun Apr 1 14:13:16 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 17:13:16 -0400 Subject: [x3d-public] [x3dom-users] Using different textures for multipleinstancesofthe same inline In-Reply-To: <5ac12f6a.a819c80a.8ed98.f748@mx.google.com> References: <371569768.369488.1522599198322.ref@mail.yahoo.com> <371569768.369488.1522599198322@mail.yahoo.com> <5ac12d58.1c2ec80a.fc9f2.5862@mx.google.com> <5ac12f6a.a819c80a.8ed98.f748@mx.google.com> Message-ID: <5ac14b6a.2c24ed0a.20c33.3959@mx.google.com> It?s not a direct answer to your question, but you may be able to use the protoExpander with a Proto with an Inline. Here?s a better example: https://coderextreme.net/X3DJSONLD/src/main/html/flowers2.html Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 3:13 PM To: x3dom mlist Subject: RE: [x3dom-users] Using different textures for multipleinstancesofthe same inline I?ve confirmed these links work now.? There was a small issue with prototype.html (case sensitive windows hid it). https://coderextreme.net/X3DJSONLD/src/main/html/prototypes.html should work properly John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 3:04 PM To: x3dom mlist Subject: RE: [x3dom-users] Using different textures for multiple instancesofthe same inline Apparently mailers don?t allow you to edit existing URLs https://coderextreme.net/X3DJSONLD/src/main/html/prototype.html https://coderextreme.net/X3DJSONLD/src/main/html/flipper.html Features of X3DJSONLD 2.0 beta. John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 1 14:38:57 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 17:38:57 -0400 Subject: [x3d-public] X3DJSON prototypes and scripts for X3DOM, X_ITE. Message-ID: <5ac1516f.4207c80a.d207f.d186@mx.google.com> Introducing: ?The X3D JSON Loader (2.0 beta), X3DOM JSON Prototype Expander (2.0 beta), X3DOM JSONScript (0.1 alpha) ? Your solution for XMLDOM -> X3D JSON -> XMLDOM JavaScript development for X3DOM and X_ITE. For a Quick Start, edit flowers2.html and replace ../data/flowers2.json with your X3D JSON URL and put flowers2.html, following JavaScript on your web server. Then open flowers2.html in your web browser. [ also you may want to add my versions of x_ite (maybe not?should be the same) and x3dom (definitely) for full functionality ] There are more complex cases of multi JSON files in the same scene in prototypes.html. Good luck. I still have extra stuff in the global scope of JavaScript?let people know this. ?Pull requests and forks are welcome, as long as you agree to the license. License is here:?https://github.com/coderextreme/X3DJSONLD/blob/master/LICENSE Repository is here:?https://github.com/coderextreme/X3DJSONLD/ For a web browser,?a live, development version of the X3D JSON loader (I?recommend downloading locally or forking) in your HTML, put: somewhere in the script (see index.html), call loadX3DJS(document.implementation, json, url, xml, NS, loadSchema, doValidate, function(element, xmlDoc) { Then append the element to your DOM: document.querySelector(selector).appendChild(element); x3dom.reload(); } selector is the CSS selector which you want to append the X3DOM HTML code to. json is the X3D JSON you want to display. url is used for resolving URLs in the X3D JSON. ?Should be similar or the same as the URL you passed to retrieve the JSON from the server. xml is the array or LOG for inclusion into X_ITE via createX3DFromString, this would normally work something like: var browser = X3D.getBrowser(?X3D"); browser.replaceWorld(browser.createX3DFromString(xml.join("\n")); ?X3D? is the CSS query selector. NS is the namespace to use when creating elements in the DOM for the XML Serializer. http://www.w3.org/1999/xhtml normally works for X3DOM and http://www.web3d.org/specifications/x3d-namespace normally works for X_ITE. Leaving NS off is also acceptable, but may lead to results you don't like. Sample code for X_ITE where #x_ite is the id of your X3DCanvas : var content = xml.join("\n"); X3D(function() { var browser = X3D.getBrowser("#x_ite"); browser.replaceWorld(browser.createX3DFromString(content); }); For the prototype expander a live, development version (I?recommend downloading locally or forking) in your HTML, put: then call (does not modify extern protos yet, use the included server as `node app.js`--works in some cases?does this on the server): json = protoExpander.prototypeExpander(url, json); json = flattener(json); json is the X3DJSON you want to expand protos for (also modifies the parameter as output) The server-side code for running the prototype expander is (you may have to add the flattener as well): var PROTOS = require('./src/main/node/PrototypeExpander') PROTOS.setLoadURLs(loadURLs); json = PROTOS.externalPrototypeExpander(url, json); You may wish to try this on the client to see if it works. I haven?t gotten it to work yet in all cases. There is a lot of useful code in loaderJQuery.js. index.html (for protos), flipper.html (for the base loader, subscenes), prototypes.html (scripts, prototypes, subscenes), prototypes2.html (JSON loading into X_ITE) are good examples. To enable JSONScript scripting, put this on your web page: Use JSONScript in X3DOM? And put this in your JavaScript where the selector is an X3DOM scene: if ($('#scripting').is(':checked')) { loadScripts(json, selector); } To run XML -> JSON conversions, put your .x3d file in src/main/data, and cd to src/main/shell and run `sh several.sh ../data/file.x3d` You will find output in data, nashorn, java, and python folders (way down low for the latter). To run the proto expander on the server, put your .json and .x3d files in src/main/data and cd to src/main/shell and run `sh runppp.sh` The XML will be in src/main/shell/data and the JSON will be in src/main/ppp. Good luck! You may start a local file browser by cd?ing to X3DJSONLD and running `node app.js` This will allow you to use ExternProtoDeclare in JSON at least, and search for JSON, WRL, X3D, STL, and PLY files from the web browser. TODO: Bring X_ITE and XML selectors to API. John Carlson -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 1 14:55:02 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 17:55:02 -0400 Subject: [x3d-public] X3DJSON prototypes and scripts for X3DOM, X_ITE. In-Reply-To: <5ac1516f.4207c80a.d207f.d186@mx.google.com> References: <5ac1516f.4207c80a.d207f.d186@mx.google.com> Message-ID: <5ac15534.4e19c80a.d4958.46f5@mx.google.com> https://coderextreme.net/X3DJSONLD/src/main/html/flowers2.html https://coderextreme.net/X3DJSONLD/src/main/html/ https://coderextreme.net/X3DJSONLD/src/main/html/ Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:38 PM To: x3d-public at web3d.org; x3dom mlist Subject: X3DJSON prototypes and scripts for X3DOM, X_ITE. Introducing: ?The X3D JSON Loader (2.0 beta), X3DOM JSON Prototype Expander (2.0 beta), X3DOM JSONScript (0.1 alpha) ? Your solution for XMLDOM -> X3D JSON -> XMLDOM JavaScript development for X3DOM and X_ITE. For a Quick Start, edit flowers2.html and replace ../data/flowers2.json with your X3D JSON URL and put flowers2.html, following JavaScript on your web server.? Then open flowers2.html in your web browser. ??? ??? ??? ??? ??? [ also you may want to add my versions of x_ite (maybe not?should be the same) and x3dom (definitely) for full functionality ] There are more complex cases of multi JSON files in the same scene in prototypes.html. Good luck. I still have extra stuff in the global scope of JavaScript?let people know this. ?Pull requests and forks are welcome, as long as you agree to the license. License is here:?https://github.com/coderextreme/X3DJSONLD/blob/master/LICENSE Repository is here:?https://github.com/coderextreme/X3DJSONLD/ For a web browser,?a live, development version of the X3D JSON loader (I?recommend downloading locally or forking) in your HTML, put: somewhere in the script (see index.html), call loadX3DJS(document.implementation, json, url, xml, NS, loadSchema, doValidate, function(element, xmlDoc) { Then append the element to your DOM: ???? document.querySelector(selector).appendChild(element); x3dom.reload(); } selector is the CSS selector which you want to append the X3DOM HTML code to. json is the X3D JSON you want to display. url is used for resolving URLs in the X3D JSON. ?Should be similar or the same as the URL you passed to retrieve the JSON from the server. xml is the array or LOG for inclusion into X_ITE via createX3DFromString, this would normally work something like: ?????? var browser = X3D.getBrowser(?X3D"); ?????? browser.replaceWorld(browser.createX3DFromString(xml.join("\n")); ?X3D? is the CSS query selector. NS is the namespace to use when creating elements in the DOM for the XML Serializer.? http://www.w3.org/1999/xhtml normally works for X3DOM and http://www.web3d.org/specifications/x3d-namespace normally works for X_ITE.? Leaving NS off is also acceptable, but may lead to results you don't like. Sample code for X_ITE where #x_ite is the id of your X3DCanvas : var content = xml.join("\n"); X3D(function() { ???? var browser = X3D.getBrowser("#x_ite"); browser.replaceWorld(browser.createX3DFromString(content); }); For the prototype expander a live, development version (I?recommend downloading locally or forking) in your HTML, put: then call (does not modify extern protos yet, use the included server as `node app.js`--works in some cases?does this on the server): json = protoExpander.prototypeExpander(url, json); json = flattener(json); json is the X3DJSON you want to expand protos for (also modifies the parameter as output) The server-side code for running the prototype expander is (you may have to add the flattener as well): var PROTOS = require('./src/main/node/PrototypeExpander') PROTOS.setLoadURLs(loadURLs); json = PROTOS.externalPrototypeExpander(url, json); You may wish to try this on the client to see if it works.? I haven?t gotten it to work yet in all cases. There is a lot of useful code in loaderJQuery.js.? index.html (for protos), flipper.html (for the base loader, subscenes), prototypes.html (scripts, prototypes, subscenes), prototypes2.html (JSON loading into X_ITE) are good examples. To enable JSONScript scripting, put this on your web page: ??????? Use JSONScript in X3DOM? And put this in your JavaScript where the selector is an X3DOM scene: ??????????????????????????????????? if ($('#scripting').is(':checked')) { ??????????????????????????????????????loadScripts(json, selector); ??????????????????????????????? } To run XML -> JSON conversions, put your .x3d file in src/main/data, and cd to src/main/shell and run `sh several.sh ../data/file.x3d`? You will find output in data, nashorn, java, and python folders (way down low for the latter). To run the proto expander on the server, put your .json and .x3d files in src/main/data and cd to src/main/shell and run `sh runppp.sh`? The XML will be in src/main/shell/data and the JSON will be in src/main/ppp.? Good luck! You may start a local file browser by cd?ing to X3DJSONLD and running `node app.js`? This will allow you to use ExternProtoDeclare in JSON at least, and search for JSON, WRL, X3D, STL, and PLY files from the web browser. TODO:? Bring X_ITE and XML selectors to API. John Carlson -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 1 15:00:06 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 18:00:06 -0400 Subject: [x3d-public] X3DJSON prototypes and scripts for X3DOM, X_ITE. In-Reply-To: <5ac15534.4e19c80a.d4958.46f5@mx.google.com> References: <5ac1516f.4207c80a.d207f.d186@mx.google.com> <5ac15534.4e19c80a.d4958.46f5@mx.google.com> Message-ID: <5ac15664.c337ed0a.280fe.2f76@mx.google.com> So CTRL return sends. New X3DJSONLD examples: https://coderextreme.net/X3DJSONLD/src/main/html/prototypes.html https://coderextreme.net/X3DJSONLD/src/main/html/prototypes2.html (JSON X_ITE) https://coderextreme.net/X3DJSONLD/src/main/html/flipper.html https://coderextreme.net/X3DJSONLD/src/main/html/flowers2.html https://coderextreme.net/X3DJSONLD/ (main site) Remember, Scripting is at 0.1 alpha. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:55 PM To: x3d-public at web3d.org; x3dom mlist Subject: RE: X3DJSON prototypes and scripts for X3DOM, X_ITE. https://coderextreme.net/X3DJSONLD/src/main/html/flowers2.html https://coderextreme.net/X3DJSONLD/src/main/html/ https://coderextreme.net/X3DJSONLD/src/main/html/ Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:38 PM To: x3d-public at web3d.org; x3dom mlist Subject: X3DJSON prototypes and scripts for X3DOM, X_ITE. Introducing: ?The X3D JSON Loader (2.0 beta), X3DOM JSON Prototype Expander (2.0 beta), X3DOM JSONScript (0.1 alpha) ? Your solution for XMLDOM -> X3D JSON -> XMLDOM JavaScript development for X3DOM and X_ITE. For a Quick Start, edit flowers2.html and replace ../data/flowers2.json with your X3D JSON URL and put flowers2.html, following JavaScript on your web server.? Then open flowers2.html in your web browser. ??? ??? ??? ??? ??? [ also you may want to add my versions of x_ite (maybe not?should be the same) and x3dom (definitely) for full functionality ] There are more complex cases of multi JSON files in the same scene in prototypes.html. Good luck. I still have extra stuff in the global scope of JavaScript?let people know this. ?Pull requests and forks are welcome, as long as you agree to the license. License is here:?https://github.com/coderextreme/X3DJSONLD/blob/master/LICENSE Repository is here:?https://github.com/coderextreme/X3DJSONLD/ For a web browser,?a live, development version of the X3D JSON loader (I?recommend downloading locally or forking) in your HTML, put: somewhere in the script (see index.html), call loadX3DJS(document.implementation, json, url, xml, NS, loadSchema, doValidate, function(element, xmlDoc) { Then append the element to your DOM: ???? document.querySelector(selector).appendChild(element); x3dom.reload(); } selector is the CSS selector which you want to append the X3DOM HTML code to. json is the X3D JSON you want to display. url is used for resolving URLs in the X3D JSON. ?Should be similar or the same as the URL you passed to retrieve the JSON from the server. xml is the array or LOG for inclusion into X_ITE via createX3DFromString, this would normally work something like: ?????? var browser = X3D.getBrowser(?X3D"); ?????? browser.replaceWorld(browser.createX3DFromString(xml.join("\n")); ?X3D? is the CSS query selector. NS is the namespace to use when creating elements in the DOM for the XML Serializer.? http://www.w3.org/1999/xhtml normally works for X3DOM and http://www.web3d.org/specifications/x3d-namespace normally works for X_ITE.? Leaving NS off is also acceptable, but may lead to results you don't like. Sample code for X_ITE where #x_ite is the id of your X3DCanvas : var content = xml.join("\n"); X3D(function() { ???? var browser = X3D.getBrowser("#x_ite"); browser.replaceWorld(browser.createX3DFromString(content); }); For the prototype expander a live, development version (I?recommend downloading locally or forking) in your HTML, put: then call (does not modify extern protos yet, use the included server as `node app.js`--works in some cases?does this on the server): json = protoExpander.prototypeExpander(url, json); json = flattener(json); json is the X3DJSON you want to expand protos for (also modifies the parameter as output) The server-side code for running the prototype expander is (you may have to add the flattener as well): var PROTOS = require('./src/main/node/PrototypeExpander') PROTOS.setLoadURLs(loadURLs); json = PROTOS.externalPrototypeExpander(url, json); You may wish to try this on the client to see if it works.? I haven?t gotten it to work yet in all cases. There is a lot of useful code in loaderJQuery.js.? index.html (for protos), flipper.html (for the base loader, subscenes), prototypes.html (scripts, prototypes, subscenes), prototypes2.html (JSON loading into X_ITE) are good examples. To enable JSONScript scripting, put this on your web page: ??????? Use JSONScript in X3DOM? And put this in your JavaScript where the selector is an X3DOM scene: ??????????????????????????????????? if ($('#scripting').is(':checked')) { ??????????????????????????????????????loadScripts(json, selector); ??????????????????????????????? } To run XML -> JSON conversions, put your .x3d file in src/main/data, and cd to src/main/shell and run `sh several.sh ../data/file.x3d`? You will find output in data, nashorn, java, and python folders (way down low for the latter). To run the proto expander on the server, put your .json and .x3d files in src/main/data and cd to src/main/shell and run `sh runppp.sh`? The XML will be in src/main/shell/data and the JSON will be in src/main/ppp.? Good luck! You may start a local file browser by cd?ing to X3DJSONLD and running `node app.js`? This will allow you to use ExternProtoDeclare in JSON at least, and search for JSON, WRL, X3D, STL, and PLY files from the web browser. TODO:? Bring X_ITE and XML selectors to API. John Carlson -------------- next part -------------- An HTML attachment was scrubbed... URL: From Leonard.Daly at realism.com Sun Apr 1 16:38:40 2018 From: Leonard.Daly at realism.com (Leonard Daly) Date: Sun, 1 Apr 2018 16:38:40 -0700 Subject: [x3d-public] CDATA sections not showing up in Edge. X3DJSONLD. In-Reply-To: <5ac0d307.87a4370a.b5259.3187@mx.google.com> References: <5abfe972.ce30ed0a.5c2f2.f286@mx.google.com> <5ac0a088.90d4370a.7e2fb.ea0b@mx.google.com> <5ac0abbc.aa24c80a.974af.009d@mx.google.com> <5ac0af04.0bd6e90a.90918.bdf2@mx.google.com> <5ac0c62d.ef32c80a.ca4cb.6ec9@mx.google.com> <5ac0cc12.042aed0a.b6b06.59df@mx.google.com> <5ac0cccb.84d1370a.91202.d99d@mx.google.com> <5ac0d307.87a4370a.b5259.3187@mx.google.com> Message-ID: <411b28d9-06b6-defe-5881-442e7439e1d3@realism.com> John, Note that in HTML (V5.2 standard - https://www.w3.org/TR/html52/syntax.html#cdata-sections), CDATA can only be used in foreign content (MATHML and SVG are explicitly mentioned). It use to be common practice to put CDATA around JavaScript contents; but all browsers that support WebGL also support JavaScript, so that would not be necessary. Leonard Daly > So it looks like: > > xmlDoc.createCDATASection("This is an element"); > > is the standard way of creating a CDATA section, and this works in > X3DJSONLD server side.? Can we use this in Edge with the other hack to > get CDATA sections in place?? Or will using the HTML document variable > throw us off? ?I guess we should be using an XML document and > definitely not the HTML document, eh? > > Looks like the way to get an XML document in the browser is: > > /var documentType/= > document.implementation.createDocumentType(/qualifiedNameStr/, > /publicId/, /systemId/) > var xmlDoc = document.implementation.createDocument(/namespaceURI/, > /qualifiedNameStr/, /documentType/); > > Can anyone confirm?? I?d like to get this into X3DJSONLD GUI asap. > It?s already in my server side code with xmldom. > > Probably I?ll start working on this now. I?m not sure what putting an > xml document in HTML will do however, when I put it in a textarea, > so?help! > Thanks, > > John > > Sent from Mail for > Windows 10 > > *From: *John Carlson > *Sent: *Sunday, April 1, 2018 8:12 AM > *To: *holger.seelig at yahoo.de ; > x3d-public at web3d.org ; Andreas Plesch > ; GPU Group > ; Don Brutzman > *Subject: *RE: possible issue with X_ITE with > Edge;CDATAsectionsnotshowingupinEdge XML textareas. Problem with other > browsers. > > Loading JSON definitely prevents animation from happening in the X_ITE > XML text section in Edge.? That?s the CDATA section I think.? Load > bubs.json for example. > > John > > Sent from Mail for > Windows 10 > > *From: *John Carlson > *Sent: *Sunday, April 1, 2018 8:09 AM > *To: *holger.seelig at yahoo.de ; > x3d-public at web3d.org ; Andreas Plesch > ; GPU Group > ; Don Brutzman > *Subject: *RE: possible issue with X_ITE with Edge; > CDATAsectionsnotshowingupinEdge XML textareas. Problem with other > browsers. > > Both serialized XML versions load work from URLs after adding CDATA > sections to XML.? Otherwise, the script isn?t run in Edge. Andreas, do > you have some magic for adding CDATA sections in Edge?? Thanks! > > > I also replaced the < when hand editing the CDATA sections.? So > that may be an issue as well > > Attached. > > Getting closer. > > John > > Sent from Mail for > Windows 10 > > *From: *John Carlson > *Sent: *Sunday, April 1, 2018 7:44 AM > *To: *holger.seelig at yahoo.de ; > x3d-public at web3d.org ; Andreas Plesch > ; GPU Group > ; Don Brutzman > *Subject: *RE: possible issue with X_ITE with Edge; CDATA > sectionsnotshowingupinEdge XML textareas. Problem with other browsers. > > 1.XML5656: Illegal qualified name character. > > 2.[object Error]: {description: "Unable to get property 'setup' of > undefined or null reference", message: "Unable to get property 'setup' > of undefined or null reference", number: -2146823281, stack: > "TypeError: Unable to get property 'setup' of undefined or null > reference at createX3DFromString > (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) > at Anonymous function > (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:203:3) > at h > (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) > at c.add > (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) > at T > (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) > at t > (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) > at load_X_ITE_XML > (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:201:2) > at loadXmlBrowsers > (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:80:4) > at Anonymous function > (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:289:8) > at Anonymous function > (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:437:3)"} > > Still having an issue or two with createX3DFromString in Edge, but > either the initial XML load works, or the XML -> My JSON -> XML > conversion works, but the JSON -> XML conversion does not work.? The > JSON load (of Don?s JSON) does not produces a good XML string for > createX3DFromString or something.? I will verify, but there?s no issue > loading JSON with importJS that I can tell?it?s the best at loading > ?. Or URLs work too. Don?s XML is attached as don.txt and my XML is > attached as john.txt.? So I think the don.txt is failing.? I will test > them as URLs. > > However the file doesn?t load in the other browsers besides web > browser, and I?m wondering why.? I think it?s because coordIndex > cannot be initialized from a script, or the MFVec3f constructor ? Can > some tell me how to add an SFVec3f to an MFVec3f in the general case?? > Should I add the SFVec3f to MFVec3f after creating it by doing a push()? > > Other vendors, let me know.? Attached is the file.? I now believe the > JSON file produces the above error > > > I?m thinking the standard may not be flexible enough for > non-declarative graphics, which is unfortunate?but I didn?t look at MF > field methods in general. > > Doug, also see if you can get this file working in FreeWRL. > > > I do recall an older version of this file working with other browsers, > so I know it?s possible! > > Thanks, > > John > > Sent from Mail for > Windows 10 > > *From: *John Carlson > *Sent: *Sunday, April 1, 2018 6:05 AM > *To: *holger.seelig at yahoo.de ; > x3d-public at web3d.org ; Andreas Plesch > > *Subject: *RE: possible issue with X_ITE with Edge; CDATA sections > notshowingupinEdge XML textareas. > > The color has been fixed by changing the type from SFVec3f to SFColor > (whew). > > https://coderextreme.net/X3DJSONLD/src/main/html/x_ite.xhtml > > Thanks! > > John > > Sent from Mail for > Windows 10 > > *From: *John Carlson > *Sent: *Sunday, April 1, 2018 5:51 AM > *To: *holger.seelig at yahoo.de ; > x3d-public at web3d.org ; Andreas Plesch > > *Subject: *RE: possible issue with X_ITE with Edge; CDATA sections not > showingupinEdge XML textareas. > > The only issue now is the color of the ProtoInstances (passed as > parameters to the Protos) in the XML.? I will put into a URL and test. > > John > > Sent from Mail for > Windows 10 > > *From: *John Carlson > *Sent: *Sunday, April 1, 2018 5:04 AM > *To: *holger.seelig at yahoo.de ; > x3d-public at web3d.org ; Andreas Plesch > > *Subject: *RE: possible issue with X_ITE with Edge; CDATA sections not > showingup inEdge XML textareas. > > More info.? When I load flowers2.x3d XML without converted JSON -> XML > (comment out call to updateFromJson()). > > 1.XML Parser Error: Couldn't create IS reference: Field 'diffuseColor' > and 'diffuseColor' in PROTO have different types. > > x_ite.min.js (17,13252) > > > 2.XML Parser Error: Couldn't create IS reference: Field > 'specularColor' and 'specularColor' in PROTO have different types. > > x_ite.min.js (17,13252) > > > 3.XML Parser Error: Unknown named or imported node 'Clock'. > > x_ite.min.js (17,15070) > > > 4.XML Parser Error: Unknown named or imported node 'OrbitPath'. > > The display comes up in X_ITE XML with no color and no animation. > > So likely there?s a problem with my XML and CDATA.? But I think the > JSON may be okay (the conversion from JSON -> XML), at least for JSON > parsing and X3DOM. > > John > > Sent from Mail for > Windows 10 > > *From: *John Carlson > *Sent: *Saturday, March 31, 2018 4:02 PM > *To: *holger.seelig at yahoo.de ; > x3d-public at web3d.org ; Andreas Plesch > > *Subject: *possible issue with X_ITE with Edge; CDATA sections not > showing up inEdge XML textareas. > > Holger, Andreas, files converted JSON -> XML in Chrome and Firefox > have CDATA sections, but Edge doesn?t have CDATA sections when looking > at serialized XML text, from my several time look.?? We need a better > hack below in X3DJSONLD for Edge, I think, but investigate below: > > function CDATACreateFunction(document, element, str) { > > ??????? var y = str.replace(/\\"/g, "\\\"") > > ??????????????? .replace(/</g, "<") > > ??????????????? .replace(/>/g, ">") > > ??????????????? .replace(/&/g, "&"); > > ??????? do { > > ??????????????? str = y; > > ??????????????? y = str.replace(/'([^'\r\n]*)\n([^']*)'/g, "'$1\\n$2'"); > > ??????????????? if (str !== y) { > > ??????????????????????? // console.error("CDATA Replacing",str,"with",y); > > ??????????????? } > > ??????? } while (y != str); > > ?var domParser = new DOMParser(); > > ??????? var cdataStr = ''; > // has to be wrapped into an element > > ??????? var scriptDoc = domParser .parseFromString (cdataStr, > 'application/xml'); > > ??????? var cdata = scriptDoc .children[0] .childNodes[1]; // space > after script is childNode[0] > > ??????? element .appendChild(cdata); > > } > > Holger, there may be an issue with: > > browser.replaceWorld(browser.createX3DFromString(content)); // where > content is XML > > in the Edge browser for X_ITE.? No problems with Chrome or Firefox in > that regard. > > This is with 4.1.5. > > You can see it online here: > https://coderextreme.net/X3DJSONLD/src/main/html/index.html > > Select ../data/flowers2.json from the upper left selection (this is > converted to XML (not DOM, although I could) and loaded into X_ITE).? > If you paste flowers2.x3d into the XML section, you might see that the > flowers aren?t colored, but black and white for some reason > (PROTOs?).? Note that you may have to reload because failed > replaceWorlds will freeze the canvas, I think. > > Also ../data/force.json has no animation with Edge and the XML > version.? I feel this may be the CDATA above, but it also may be due > to an initializeOnly field on an Extrusion (spine). > > These errors may be due to initializeOnly fields (modifying Extrusion > spline, IFS coordIndexes) which aren?t tested with browser.importJS??? > (not sure?may want to check).? Note that X3DJSAIL does not validate > flowers2.json (converted to flowers2.java), so likely there?s an issue > with that file.? I?m also getting XML5656: Illegal qualified name > character. And [object Error]: {description: "Unable to get property > 'setup' of undefined or null reference", message: "Unable to get > property 'setup' of undefined or null reference", number: -2146823281, > stack: "TypeError: Unable to get property 'setup' of undefined or null > reference at createX3DFromString > (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) > at Anonymous function > (http://localhost:3000/node/loaderJQuery.js:204:3) at h > (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) > at c.add > (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) > at T > (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) > at t > (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) > at load_X_ITE_XML (http://localhost:3000/node/loaderJQuery.js:202:2) > at loadXmlBrowsers (http://localhost:3000/node/loaderJQuery.js:80:4) > at Anonymous function > (http://localhost:3000/node/loaderJQuery.js:290:8) at Anonymous > function (http://localhost:3000/node/loaderJQuery.js:438:3)"} > > Again, all this is working fine in Chrome and Firefox as far as I > know. Well X3DOM isn?t currently working in Chrome. Sigh! > > Thanks, > > John > > > > _______________________________________________ > x3d-public mailing list > x3d-public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org -- *Leonard Daly* 3D Systems & Cloud Consultant LA ACM SIGGRAPH Past Chair President, Daly Realism - /Creating the Future/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 1 18:47:37 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 21:47:37 -0400 Subject: [x3d-public] CDATA sections not showing up in Edge. X3DJSONLD. In-Reply-To: <411b28d9-06b6-defe-5881-442e7439e1d3@realism.com> References: <5abfe972.ce30ed0a.5c2f2.f286@mx.google.com> <5ac0a088.90d4370a.7e2fb.ea0b@mx.google.com> <5ac0abbc.aa24c80a.974af.009d@mx.google.com> <5ac0af04.0bd6e90a.90918.bdf2@mx.google.com> <5ac0c62d.ef32c80a.ca4cb.6ec9@mx.google.com> <5ac0cc12.042aed0a.b6b06.59df@mx.google.com> <5ac0cccb.84d1370a.91202.d99d@mx.google.com> <5ac0d307.87a4370a.b5259.3187@mx.google.com> <411b28d9-06b6-defe-5881-442e7439e1d3@realism.com> Message-ID: <5ac18bb7.0336c80a.98a7d.933b@mx.google.com> Yes, I need it for X_ITE content (XML). John Sent from Mail for Windows 10 From: Leonard Daly Sent: Sunday, April 1, 2018 7:39 PM To: x3d-public at web3d.org Subject: Re: [x3d-public] CDATA sections not showing up in Edge. X3DJSONLD. John, Note that in HTML (V5.2 standard - https://www.w3.org/TR/html52/syntax.html#cdata-sections), CDATA can only be used in foreign content (MATHML and SVG are explicitly mentioned). It use to be common practice to put CDATA around JavaScript contents; but all browsers that support WebGL also support JavaScript, so that would not be necessary. Leonard Daly So it looks like: ? xmlDoc.createCDATASection("This is an element"); ? is the standard way of creating a CDATA section, and this works in X3DJSONLD server side.? Can we use this in Edge with the other hack to get CDATA sections in place?? Or will using the HTML document variable throw us off? ?I guess we should be using an XML document and definitely not the HTML document, eh? Looks like the way to get an XML document in the browser is: ? var documentType = document.implementation.createDocumentType(qualifiedNameStr, publicId, systemId) var xmlDoc = document.implementation.createDocument(namespaceURI, qualifiedNameStr, documentType); ? Can anyone confirm?? I?d like to get this into X3DJSONLD GUI asap. It?s already in my server side code with xmldom. ? Probably I?ll start working on this now.? I?m not sure what putting an xml document in HTML will do however, when I put it in a textarea, so?help! Thanks, ? John ? Sent from Mail for Windows 10 ? From: John Carlson Sent: Sunday, April 1, 2018 8:12 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge;CDATAsectionsnotshowingupinEdge XML textareas. Problem with other browsers. ? Loading JSON definitely prevents animation from happening in the X_ITE XML text section in Edge.? That?s the CDATA section I think.? Load bubs.json for example. ? John ? Sent from Mail for Windows 10 ? From: John Carlson Sent: Sunday, April 1, 2018 8:09 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge; CDATAsectionsnotshowingupinEdge XML textareas. Problem with other browsers. ? Both serialized XML versions load work from URLs after adding CDATA sections to XML.? Otherwise, the script isn?t run in Edge. Andreas, do you have some magic for adding CDATA sections in Edge?? Thanks! I also replaced the < when hand editing the CDATA sections.? So that may be an issue as well ? Attached. ? Getting closer. ? John ? Sent from Mail for Windows 10 ? From: John Carlson Sent: Sunday, April 1, 2018 7:44 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch; GPU Group; Don Brutzman Subject: RE: possible issue with X_ITE with Edge; CDATA sectionsnotshowingupinEdge XML textareas. Problem with other browsers. ? 1. XML5656: Illegal qualified name character. 2. [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:203:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:201:2) at loadXmlBrowsers (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:80:4) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:289:8) at Anonymous function (https://coderextreme.net/X3DJSONLD/src/main/node/loaderJQuery.js:437:3)"} Still having an issue or two with createX3DFromString in Edge, but either the initial XML load works, or the XML -> My JSON -> XML conversion works, but the JSON -> XML conversion does not work.? The JSON load (of Don?s JSON) does not produces a good XML string for createX3DFromString or something.? I will verify, but there?s no issue loading JSON with importJS that I can tell?it?s the best at loading ?. Or URLs work too. Don?s XML is attached as don.txt and my XML is attached as john.txt.? So I think the don.txt is failing.? I will test them as URLs. ? However the file doesn?t load in the other browsers besides web browser, and I?m wondering why.? I think it?s because coordIndex cannot be initialized from a script, or the MFVec3f constructor ?? Can some tell me how to add an SFVec3f to an MFVec3f in the general case?? Should I add the SFVec3f to MFVec3f after creating it by doing a push()? ? Other vendors, let me know.? Attached is the file.? I now believe the JSON file produces the above error I?m thinking the standard may not be flexible enough for non-declarative graphics, which is unfortunate?but I didn?t look at MF field methods in general. ? Doug, also see if you can get this file working in FreeWRL. I do recall an older version of this file working with other browsers, so I know it?s possible! ? Thanks, ? John ? Sent from Mail for Windows 10 ? From: John Carlson Sent: Sunday, April 1, 2018 6:05 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections notshowingupinEdge XML textareas. ? The color has been fixed by changing the type from SFVec3f to SFColor (whew). ? https://coderextreme.net/X3DJSONLD/src/main/html/x_ite.xhtml ? Thanks! ? John ? Sent from Mail for Windows 10 ? From: John Carlson Sent: Sunday, April 1, 2018 5:51 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingupinEdge XML textareas. ? The only issue now is the color of the ProtoInstances (passed as parameters to the Protos) in the XML.? I will put into a URL and test. ? John ? Sent from Mail for Windows 10 ? From: John Carlson Sent: Sunday, April 1, 2018 5:04 AM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: RE: possible issue with X_ITE with Edge; CDATA sections not showingup inEdge XML textareas. ? More info.? When I load flowers2.x3d XML without converted JSON -> XML (comment out call to updateFromJson()).?? ? 1. XML Parser Error: Couldn't create IS reference: Field 'diffuseColor' and 'diffuseColor' in PROTO have different types. x_ite.min.js (17,13252) 2. XML Parser Error: Couldn't create IS reference: Field 'specularColor' and 'specularColor' in PROTO have different types. x_ite.min.js (17,13252) 3. XML Parser Error: Unknown named or imported node 'Clock'. x_ite.min.js (17,15070) 4. XML Parser Error: Unknown named or imported node 'OrbitPath'. The display comes up in X_ITE XML with no color and no animation. ? So likely there?s a problem with my XML and CDATA.? But I think the JSON may be okay (the conversion from JSON -> XML), at least for JSON parsing and X3DOM. ? John ? Sent from Mail for Windows 10 ? From: John Carlson Sent: Saturday, March 31, 2018 4:02 PM To: holger.seelig at yahoo.de; x3d-public at web3d.org; Andreas Plesch Subject: possible issue with X_ITE with Edge; CDATA sections not showing up inEdge XML textareas. ? Holger, Andreas, files converted JSON -> XML in Chrome and Firefox have CDATA sections, but Edge doesn?t have CDATA sections when looking at serialized XML text, from my several time look.?? We need a better hack below in X3DJSONLD for Edge, I think, but investigate below: ? function CDATACreateFunction(document, element, str) { ??????? var y = str.replace(/\\"/g, "\\\"") ??????????????? .replace(/</g, "<") ??????????????? .replace(/>/g, ">") ??????????????? .replace(/&/g, "&"); ??????? do { ??????????????? str = y; ??????????????? y = str.replace(/'([^'\r\n]*)\n([^']*)'/g, "'$1\\n$2'"); ??????????????? if (str !== y) { ??????????????????????? // console.error("CDATA Replacing",str,"with",y); ??????????????? } ??????? } while (y != str); ?????? ?var domParser = new DOMParser(); ??????? var cdataStr = ''; // has to be wrapped into an element ??????? var scriptDoc = domParser .parseFromString (cdataStr, 'application/xml'); ??????? var cdata = scriptDoc .children[0] .childNodes[1]; // space after script is childNode[0] ??????? element .appendChild(cdata); } ? ? Holger, there may be an issue with: ? ??????????????? browser.replaceWorld(browser.createX3DFromString(content));? // where content is XML ? in the Edge browser for X_ITE.? No problems with Chrome or Firefox in that regard. ? This is with 4.1.5. ? You can see it online here:? https://coderextreme.net/X3DJSONLD/src/main/html/index.html ? Select ../data/flowers2.json from the upper left selection (this is converted to XML (not DOM, although I could) and loaded into X_ITE).? If you paste flowers2.x3d into the XML section, you might see that the flowers aren?t colored, but black and white for some reason (PROTOs?).? Note that you may have to reload because failed replaceWorlds will freeze the canvas, I think. ? Also ../data/force.json has no animation with Edge and the XML version.? I feel this may be the CDATA above, but it also may be due to an initializeOnly field on an Extrusion (spine). ? These errors may be due to initializeOnly fields (modifying Extrusion spline, IFS coordIndexes) which aren?t tested with browser.importJS??? (not sure?may want to check).? Note that X3DJSAIL does not validate flowers2.json (converted to flowers2.java), so likely there?s an issue with that file.? I?m also getting XML5656: Illegal qualified name character. And [object Error]: {description: "Unable to get property 'setup' of undefined or null reference", message: "Unable to get property 'setup' of undefined or null reference", number: -2146823281, stack: "TypeError: Unable to get property 'setup' of undefined or null reference at createX3DFromString (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:22971) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:204:3) at h (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:24940) at c.add (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:4:25057) at T (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:29332) at t (https://cdn.rawgit.com/create3000/x_ite/4.1.5/dist/x_ite.min.js:43:30467) at load_X_ITE_XML (http://localhost:3000/node/loaderJQuery.js:202:2) at loadXmlBrowsers (http://localhost:3000/node/loaderJQuery.js:80:4) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:290:8) at Anonymous function (http://localhost:3000/node/loaderJQuery.js:438:3)"} ? Again, all this is working fine in Chrome and Firefox as far as I know.? Well X3DOM isn?t currently working in Chrome. Sigh! ? Thanks, ? John ? ? ? ? ? ? ? _______________________________________________ x3d-public mailing list x3d-public at web3d.org http://web3d.org/mailman/listinfo/x3d-public_web3d.org -- Leonard Daly 3D Systems & Cloud Consultant LA ACM SIGGRAPH Past Chair President, Daly Realism - Creating the Future -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 1 20:19:25 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 1 Apr 2018 23:19:25 -0400 Subject: [x3d-public] [x3dom-users] Using different textures for multipleinstancesofthesame inline In-Reply-To: <5ac14b6a.2c24ed0a.20c33.3959@mx.google.com> References: <371569768.369488.1522599198322.ref@mail.yahoo.com> <371569768.369488.1522599198322@mail.yahoo.com> <5ac12d58.1c2ec80a.fc9f2.5862@mx.google.com> <5ac12f6a.a819c80a.8ed98.f748@mx.google.com> <5ac14b6a.2c24ed0a.20c33.3959@mx.google.com> Message-ID: <5ac1a13b.c212c80a.a8f22.4585@mx.google.com> Here?s an example of X3DOM JSONScript (X3DJSONLD) with 2 subscenes. This allows you to include scripts from several JSON files. https://coderextreme.net/X3DJSONLD/src/main/html/prototypes.html Made some upgrades to Scripts, so they are more robustly loaded under multiple selectors and multiple files. X3DOM JSONScript is now at alpha 0.2. https://coderextreme.net/X3DJSONLD/doc/GettingStarted.pdf (but I haven?t updated the version on the PDF or RTF, sorry). I?ve introduced initializeScripts() and added a parameter to loadScripts(). John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 5:13 PM To: x3dom mlist; x3d-public at web3d.org Subject: RE: [x3dom-users] Using different textures for multipleinstancesofthesame inline It?s not a direct answer to your question, but you may be able to use the protoExpander with a Proto with an Inline. Here?s a better example: https://coderextreme.net/X3DJSONLD/src/main/html/flowers2.html Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 3:13 PM To: x3dom mlist Subject: RE: [x3dom-users] Using different textures for multipleinstancesofthe same inline I?ve confirmed these links work now.? There was a small issue with prototype.html (case sensitive windows hid it). https://coderextreme.net/X3DJSONLD/src/main/html/prototypes.html should work properly John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 1, 2018 3:04 PM To: x3dom mlist Subject: RE: [x3dom-users] Using different textures for multiple instancesofthe same inline Apparently mailers don?t allow you to edit existing URLs https://coderextreme.net/X3DJSONLD/src/main/html/prototype.html https://coderextreme.net/X3DJSONLD/src/main/html/flipper.html Features of X3DJSONLD 2.0 beta. John -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Sun Apr 1 20:31:37 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 1 Apr 2018 20:31:37 -0700 Subject: [x3d-public] Help with IndexedFaceSet and initialization. X3DJSAIL corrections In-Reply-To: <5a9fcd8b.e831c80a.39cfb.c545@mx.google.com> References: <5a9fc6d4.1d1b370a.e36f9.2a83@mx.google.com> <5a9fcd8b.e831c80a.39cfb.c545@mx.google.com> Message-ID: New release available: X3D Java Scene Access Interface Library (X3DJSAIL) which supports programmers with standards-based X3D Java interfaces and objects, all as open source. http://www.web3d.org/specifications/java/X3DJSAIL.html 1. The flowers4.x3d scene (attached) is another tough but excellent test. Thanks for persisting on that one John. The first problem was in the reflection-based DOM loader, disambiguating a texture node's parent when the parent is ComposedCubeMapTextureObject and child is a Texture node. Also found erroneous containerField default for (ComposedCubeMapTextureObject, GeneratedCubeMapTextureObject, ImageCubeMapTextureObject) in X3D Tooltips. http://www.web3d.org/x3d/tooltips/X3dTooltips.html#ComposedCubeMapTexture http://www.web3d.org/x3d/tooltips/X3dTooltips.html#GeneratedCubeMapTextureObject http://www.web3d.org/x3d/tooltips/X3dTooltips.html#ImageCubeMapTextureObject This example scene also exposed omissions in handling parent/child combinations ComposedShader/ShaderPart and ProgramShader/ShaderProgram, now remedied (for concrete nodes at least). 2. Next, something else you have reported before: "org.web3d.x3d.sai.InvalidFieldException: IndexedFaceSet containing Coordinate node must also include coordIndex field" Looks like you are setting values independently via Script - a pretty common authoring technique, starting out with unadorned IndexedFaceSet/Coordinate. So this run-time validation error indeed seems overly assertive. Thinking it would be OK if I relaxed this validation rule slightly to allow no coordIndex field if the Coordinate node had no point values. Would similarly modify a series of other error checks... turned out to be another nontrivial block of work, because there might be a CoordinateDouble or even contained ProtoInstance node instead of a Coordinate node. And so on and so on for Color/ColorRGBA, Normal and TextureCoordinate. So I added some utility methods for all this housekeeping to IndexedFaceSet and (when appropriate) IndexedLineSet. Then was able to make the exceptions less interruptive when no values are present in the child node. They only holler if values are found in the contained node but the corresponding index is empty, thus flagging an otherwise-silent failure to render. http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Geometry3D/IndexedFaceSetObject.html#getCoordCount-- http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Geometry3D/IndexedFaceSetObject.html#getColorCount-- http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Geometry3D/IndexedFaceSetObject.html#getNormalCount-- http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Geometry3D/IndexedFaceSetObject.html#getTexCoordCount-- 3. Now your flowers4.x3d test finally passes Java loading and scene validation prior to JSON conversion. Have added it to X3DJSAIL examples. =========================================== org.web3d.x3d.jsail.CommandLine java/examples/flowers4.x3d -toJSON -toFile java/examples/flowers4.json parameter: source file flowers4.x3d filesize 7176 bytes parameter: "-toJSON" for conversion to JSON encoding parameter: "-toFile" "java/examples/flowers4.json" for result file name root java/examples/flowers4 convert to JSON: Warning: java/examples/flowers4.json does not meet suggested X3D naming conventions. Output serialization allowed to continue, file may be editable... Script DEF=OrbitScript contains CDATA source-code text, copied as "#sourceText" using "strings" mode file conversion successful: flowers4.json (12543 bytes) =========================================== 4. I also added some further conversions last week: toFileX3dTidy/toStringX3dTidy and toFileHtmlDocumentation (refactor/rename) http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3DObject.html#toFileX3dTidy-java.lang.String- http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3DObject.html#toStringX3dTidy-- http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3DObject.html#toFileHtmlDocumentation-java.lang.String- http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3DObject.html#toStringHtmlDocumentation-java.lang.String- These many fixes are checked in, jars uploaded, file deployment in progress (takes about 2 hours from home). On 3/7/2018 3:31 AM, John Carlson wrote: > This may be a better example. Attached. Note:? it works in X_ITE 4.1.3 under firefox, last time I tried. > > John > > Sent from Mail for Windows 10 > > *From: *John Carlson > *Sent: *Wednesday, March 7, 2018 6:02 AM > *To: *x3d-public at web3d.org > *Subject: *Help with IndexedFaceSet and initialization. X3DJSAIL > > I would like to initialize an IndexedFaceSet in a script.? However, if I don?t provide coordinates, coordIndex in the XML, X3DJSAIL complains!? I could enable output on invalid scenegraph but is there another alternative?? I am generating the X3DJSAIL files, and I only have a? few invalid ones. > > John > > org.web3d.x3d.sai.InvalidFieldException: IndexedFaceSet containing Coordinate node must also include coordIndex field > > org.web3d.x3d.sai.InvalidFieldException: IndexedFaceSet containing Coordinate node must also include coordIndex field > > ??????? at org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject.validate(IndexedFaceSetObject.java:3007) > > ??????? at org.web3d.x3d.jsail.Shape.ShapeObject.validate(ShapeObject.java:1404) > > ??????? at org.web3d.x3d.jsail.Grouping.TransformObject.validate(TransformObject.java:1818) > > ??????? at org.web3d.x3d.jsail.Core.ProtoBodyObject.validate(ProtoBodyObject.java:641) > > ??????? at org.web3d.x3d.jsail.Core.ProtoDeclareObject.validate(ProtoDeclareObject.java:875) > > ??????? at org.web3d.x3d.jsail.Core.SceneObject.validate(SceneObject.java:651) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.validate(X3DObject.java:3309) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.toFileX3D(X3DObject.java:648) > > ??????? at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$548$flowers_sail$cu1$restOf.:program(../nashorn/net/coderextreme/data/flowers.sail.js:202) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:652) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:517) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) > > ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) > > ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) > > Exception in thread "main" org.web3d.x3d.sai.InvalidFieldException: IndexedFaceSet containing Coordinate node must also include coordIndex field > > ??????? at org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject.validate(IndexedFaceSetObject.java:3007) > > ??????? at org.web3d.x3d.jsail.Shape.ShapeObject.validate(ShapeObject.java:1404) > > ??????? at org.web3d.x3d.jsail.Grouping.TransformObject.validate(TransformObject.java:1818) > > ??????? at org.web3d.x3d.jsail.Core.ProtoBodyObject.validate(ProtoBodyObject.java:641) > > ??????? at org.web3d.x3d.jsail.Core.ProtoDeclareObject.validate(ProtoDeclareObject.java:875) > > ??????? at org.web3d.x3d.jsail.Core.SceneObject.validate(SceneObject.java:651) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.validate(X3DObject.java:3309) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.toFileX3D(X3DObject.java:648) > > ??????? at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$548$flowers_sail$cu1$restOf.:program(../nashorn/net/coderextreme/data/flowers.sail.js:202) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:652) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:517) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) > > ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) > > ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) > > ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) > _______________________________________________ > x3d-public mailing list > x3d-public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org 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 http://faculty.nps.edu/brutzman -------------- next part -------------- A non-text attachment was scrubbed... Name: flowers4.x3d Type: model/x3d+xml Size: 7034 bytes Desc: not available URL: -------------- next part -------------- { "X3D": { "encoding":"UTF-8", "@profile":"Immersive", "@version":"3.3", "@xsd:noNamespaceSchemaLocation":"http://www.web3d.org/specifications/x3d-3.3.xsd", "JSON schema":"http://www.web3d.org/specifications/x3d-3.3-JSONSchema.json", "head": { "component": [ { "@name":"Shaders", "@level":1 }, { "@name":"CubeMapTexturing", "@level":1 } ], "meta": [ { "@name":"title", "@content":"flowers4.x3d" }, { "@name":"creator", "@content":"John Carlson" }, { "@name":"generator", "@content":"manual" }, { "@name":"identifier", "@content":"https://coderextreme.net/X3DJSONLD/flowers4.x3d" }, { "@name":"description", "@content":"an animated flower" }, { "@name":"translated", "@content":"01 April 2018" }, { "@name":"generator", "@content":"X3dToJson.xslt, http://www.web3d.org/x3d/stylesheets/X3dToJson.html" }, { "@name":"reference", "@content":"X3D JSON encoding: http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding" } ] }, "Scene": { "-children":[ { "NavigationInfo": { } }, { "Background": { "@backUrl":["../resources/images/all_probes/stpeters_cross/stpeters_back.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_back.png"], "@bottomUrl":["../resources/images/all_probes/stpeters_cross/stpeters_bottom.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_bottom.png"], "@frontUrl":["../resources/images/all_probes/stpeters_cross/stpeters_front.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_front.png"], "@leftUrl":["../resources/images/all_probes/stpeters_cross/stpeters_left.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_left.png"], "@rightUrl":["../resources/images/all_probes/stpeters_cross/stpeters_right.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_right.png"], "@topUrl":["../resources/images/all_probes/stpeters_cross/stpeters_top.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png"] } }, { "Transform": { "@DEF":"transform", "-children":[ { "Shape": { "-children":[ { "#comment":"" } ], "-appearance": { "Appearance": { "-material": { "Material": { "@diffuseColor":[0.7,0.7,0.7], "@specularColor":[0.5,0.5,0.5] } }, "-shaders":[ { "ComposedShader": { "@DEF":"shader", "@language":"GLSL", "-parts":[ { "ShaderPart": { "@type":"VERTEX", "@url":["../shaders/x3dom.vs","https://coderextreme.net/X3DJSONLD/shaders/x3dom.vs"] } }, { "ShaderPart": { "@type":"FRAGMENT", "@url":["../shaders/pc_bubbles.fs","https://coderextreme.net/X3DJSONLD/shaders/pc_bubbles.fs"] } } ], "field": [ { "@name":"cube", "@accessType":"inputOutput", "@type":"SFInt32", "@value":0 }, { "@name":"chromaticDispertion", "@accessType":"inputOutput", "@type":"SFVec3f", "@value":[0.98,1,1.033] }, { "@name":"bias", "@accessType":"inputOutput", "@type":"SFFloat", "@value":0.5 }, { "@name":"scale", "@accessType":"inputOutput", "@type":"SFFloat", "@value":0.5 }, { "@name":"power", "@accessType":"inputOutput", "@type":"SFFloat", "@value":2.0 } ] } } ], "-texture": { "ComposedCubeMapTexture": { "-back": { "ImageTexture": { "@url":["../resources/images/all_probes/stpeters_cross/stpeters_back.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_back.png"] } }, "-bottom": { "ImageTexture": { "@url":["../resources/images/all_probes/stpeters_cross/stpeters_bottom.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_bottom.png"] } }, "-front": { "ImageTexture": { "@url":["../resources/images/all_probes/stpeters_cross/stpeters_front.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_front.png"] } }, "-left": { "ImageTexture": { "@url":["../resources/images/all_probes/stpeters_cross/stpeters_left.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_left.png"] } }, "-right": { "ImageTexture": { "@url":["../resources/images/all_probes/stpeters_cross/stpeters_right.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_right.png"] } }, "-top": { "ImageTexture": { "@url":["../resources/images/all_probes/stpeters_cross/stpeters_top.png","https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png"] } } } } } }, "-geometry": { "IndexedFaceSet": { "@DEF":"Orbit", "@convex":false, "-coord": { "Coordinate": { "@DEF":"OrbitCoordinates" } } } } } } ] } }, { "Script": { "@DEF":"OrbitScript", "field": [ { "@name":"set_fraction", "@accessType":"inputOnly", "@type":"SFFloat" }, { "@name":"coordinates", "@accessType":"inputOutput", "@type":"MFVec3f" }, { "@name":"coordIndexes", "@accessType":"outputOnly", "@type":"MFInt32" } ], "#sourceText":[ "", "", "ecmascript:", "", "var e = 5;", "var f = 5;", "var g = 5;", "var h = 5;", "", "function initialize() {", " resolution = 100;", " updateCoordinates(resolution);", " var cis = [];", " for ( i = 0; i < resolution-1; i++) {", " \tfor ( j = 0; j < resolution-1; j++) {", "\t cis.push(i*resolution+j);", "\t cis.push(i*resolution+j+1);", "\t cis.push((i+1)*resolution+j+1);", "\t cis.push((i+1)*resolution+j);", "\t cis.push(-1);", "\t}", " }", " coordIndexes = new MFInt32(cis);", "}", "", "function updateCoordinates(resolution) {", " theta = 0.0;", " phi = 0.0;", " delta = (2 * 3.141592653) / (resolution-1);", " var crds = [];", " for ( i = 0; i < resolution; i++) {", " \tfor ( j = 0; j < resolution; j++) {", "\t\trho = e + f * Math.cos(g * theta) * Math.cos(h * phi);", "\t\tcrds.push(new SFVec3f(", "\t\t\trho * Math.cos(phi) * Math.cos(theta),", "\t\t\trho * Math.cos(phi) * Math.sin(theta),", "\t\t\trho * Math.sin(phi)", "\t\t));", "\t\ttheta += delta;", "\t}", "\tphi += delta;", " }", " coordinates = new MFVec3f(crds);", "}", "", "function set_fraction(fraction, eventTime) {", "\tchoice = Math.floor(Math.random() * 4);", "\tswitch (choice) {", "\tcase 0:", "\t\te += Math.floor(Math.random() * 2) * 2 - 1;", "\t\tbreak;", "\tcase 1:", "\t\tf += Math.floor(Math.random() * 2) * 2 - 1;", "\t\tbreak;", "\tcase 2:", "\t\tg += Math.floor(Math.random() * 2) * 2 - 1;", "\t\tbreak;", "\tcase 3:", "\t\th += Math.floor(Math.random() * 2) * 2 - 1;", "\t\tbreak;", "\t}", "\tif (f < 1) {", "\t\tf = 10;", "\t}", "\tif (g < 1) {", "\t\tg = 4;", "\t}", "\tif (h < 1) {", "\t\th = 4;", "\t}", "\tresolution = 100;", "\tupdateCoordinates(resolution);", "}", "", "" ] } }, { "TimeSensor": { "@DEF":"Clock", "@cycleInterval":16.0, "@loop":true } }, { "ROUTE": { "@fromField":"coordIndexes", "@fromNode":"OrbitScript", "@toField":"set_coordIndex", "@toNode":"Orbit" } }, { "ROUTE": { "@fromField":"coordinates", "@fromNode":"OrbitScript", "@toField":"set_point", "@toNode":"OrbitCoordinates" } }, { "ROUTE": { "@fromField":"fraction_changed", "@fromNode":"Clock", "@toField":"set_fraction", "@toNode":"OrbitScript" } } ] } } } From yottzumm at gmail.com Sun Apr 1 23:29:39 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 2 Apr 2018 02:29:39 -0400 Subject: [x3d-public] JavaScript JSON interface to X3DOM Message-ID: <5ac1cdd3.a22fed0a.56171.3af8@mx.google.com> I?m here to discuss adding potential JavaScript JSON APIs to X3DOM, including the use of a X3D JSON validator (for draft07 JSON schema), an X3D JSON -> XML DOM converter (see pull request), an X3D JSON prototype expander (see pull request), an XML DOM -> JSON serializer (to precondition the XML for expanding and preprocessing) and VRMLScript (?X3DOM JSONScript?) preprocessor (still in alpha to pre-alpha?consider yourself lucky if your script works) to HTML JavaScript to handle X3D XML Script tag. I need help with namespaces and scripting the X3D event model mostly (help with leaving the existing VRMLScript as intact as possible?or replacing it with other, similar JavaScript). I would like to see an SFRotation field type in X3DOM. https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/X3DJSONLD.js https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/PrototypeExpander.js https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/DOM2JSONSerializer.js https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/Script.js The code I have submitted before is a better display of what I intend for X3DOM. 2 of these files aren?t classes yet. I have already created classes for a third (see pull request). I also have yet to get JSON Inlines working all the way outside of X3DOM (not sure about inside), so that?s on a wish list. If someone could help with debugging/testing, that would most helpful. John An example API from JavaScript might look like this: https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/html/prototypes.html (currently assumes ExternProtoDeclare is turned into ProtoDeclare on the JSON server). function load_X3DOM(htmlselector, url, callback) { $(htmlselector).empty(); $.getJSON(url, function(json) { var xml = []; json = protoExpander.prototypeExpander(url, json, ""); json = flattener(json); if ($('#scripting').is(':checked')) { loadScripts(json, htmlselector, url); } loadX3DJS(document.implementation, json, url, xml, "", loadSchema, doValidate, function(element, xmlDoc) { callback(element, xmlDoc, json); }); }); } function loadSubscene_X3DOM(htmlselector, xmlselector, url, element, xmlDoc, json, callback) { $.getJSON(url, function(subjson) { subjson = protoExpander.prototypeExpander(url, subjson, ""); subjson = flattener(subjson); if ($('#scripting').is(':checked')) { loadScripts(subjson, htmlselector, url); } var sceneElement = ConvertToX3DOM(xmlDoc, subjson["X3D"][xmlselector], xmlselector, element.querySelector(xmlselector), url); // returns Scene element $(element.querySelector(xmlselector)).children().appendTo(htmlselector); // join json for scripts for (var c in subjson["X3D"]["Scene"]["-children"]) { json["X3D"]["Scene"]["-children"].push(subjson["X3D"]["Scene"]["-children"][c]) } if (typeof callback === 'function') { callback(subjson, htmlselector); } }); } $(document).ready(function() { var htmlselector = "#x3domjson"; var xmlselector = "Scene"; var flowers2 = '../data/flowers2.json'; var bubbles = '../data/force.json'; var force = '../data/bubs.json'; if ($('#scripting').is(':checked')) { initializeScripts(); } load_X3DOM(htmlselector, flowers2, function(element, xmlDoc, json) { loadSubscene_X3DOM(htmlselector, xmlselector, bubbles, element, xmlDoc, json, function(sub1json, htmlselector) { loadSubscene_X3DOM(htmlselector, xmlselector, force, element, xmlDoc, json, function(sub2json, htmlselector) { $(htmlselector+" Script").empty(); try { x3dom.reload(); // This may be necessary } catch (e) { console.error(e); alert("Problem with x3dom.reload()", e); } }); }); }); }); -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 2 19:58:00 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 2 Apr 2018 22:58:00 -0400 Subject: [x3d-public] Repairs to X3DJSONLD -- Extern Proto Expander Message-ID: <5ac2edb8.02f6370a.d5615.b5af@mx.google.com> I made ExternProtoDeclare handling easier by declaring all extern proto expander calls synchronous. https://coderextreme.net/X3DJSONLD/ select sphereflowers.json and x3domflowers.json to see my flowers in X_ITE and X3DOM. This means that the server-side dependency for ExternProtoDeclare has disappeared! YAY! Client side calls to the Extern Proto Expander should look like this: $.ajaxSetup({ async: false }); json = protoExpander.externalPrototypeExpander(url, json); $.ajaxSetup({ async: true }); Also, I believe nested ExternProtoDeclares are handled, but not tested yet. Time to try to load KelpForestMain again, and start working on inlines. John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 2 21:28:38 2018 From: yottzumm at gmail.com (John Carlson) Date: Tue, 3 Apr 2018 00:28:38 -0400 Subject: [x3d-public] X3DOM not loading this file? Message-ID: <5ac302f5.b324ed0a.e3a39.d0e9@mx.google.com> This file doesn?t load in X3DOM: http://coderextreme.net/X3DJSONLD/src/main/html/x3domframe.html http://coderextreme.net/X3DJSONLD/src/main/data/ifs.x3d Loads in BS Contact and X_ITE fine, but the object is kind of flat. Not sure why?perhaps it really is flat. Gotta work on my transforms from JSON -> STL, I guess. Sigh, more work! I?m guessing I?m going over the limit on coordinates or Indexes, but there?s no warning??? Did I already report this bug? John INFO: setBaseURL: ../data/ INFO: Inline: downloading ../data/ifs.x3d done. INFO: Time for setup and init of GL element no. 0: 25 ms. INFO: activate ViewpointBindable null/defaultX3DViewpointNode INFO: register ViewpointBindable null/defaultX3DViewpointNode INFO: create new Viewpoint for X3DViewpointNode-stack INFO: activate BackgroundBindable null/defaultX3DBackgroundNode INFO: register BackgroundBindable null/defaultX3DBackgroundNode INFO: create new Background for X3DBackgroundNode-stack INFO: System ready. INFO: activate NavigationInfoBindable null/defaultX3DNavigationInfoNode INFO: register NavigationInfoBindable null/defaultX3DNavigationInfoNode INFO: NavType: undefined INFO: Switch to examine mode. INFO: create new NavigationInfo for X3DNavigationInfoNode-stack INFO: activate EnvironmentBindable null/defaultX3DEnvironmentNode INFO: register EnvironmentBindable null/defaultX3DEnvironmentNode INFO: create new Environment for X3DEnvironmentNode-stack INFO: addEventListener for X3D.onDOMNodeInserted INFO: addEventListener for X3D.onDOMNodeRemoved INFO: webgl context found Vendor: WebKit Google Inc., Renderer: WebKit WebGL ANGLE (NVIDIA GeForce GTX 980 Direct3D11 vs_5_0 ps_5_0), Version: WebGL 1.0 (OpenGL ES 2.0 Chromium), ShadingLangV.: WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium), MSAA samples: 8 Extensions: ANGLE_instanced_arrays, EXT_blend_minmax, EXT_color_buffer_half_float, EXT_frag_depth, EXT_shader_texture_lod, EXT_texture_filter_anisotropic, WEBKIT_EXT_texture_filter_anisotropic, EXT_sRGB, OES_element_index_uint, OES_standard_derivatives, OES_texture_float, OES_texture_float_linear, OES_texture_half_float, OES_texture_half_float_linear, OES_vertex_array_object, WEBGL_color_buffer_float, WEBGL_compressed_texture_s3tc, WEBKIT_WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_s3tc_srgb, WEBGL_debug_renderer_info, WEBGL_debug_shaders, WEBGL_depth_texture, WEBKIT_WEBGL_depth_texture, WEBGL_draw_buffers, WEBGL_lose_context, WEBKIT_WEBGL_lose_context INFO: Initializing X3DCanvas for [x3dom-1522728762315-canvas] INFO: Creating canvas for (X)3D element... INFO: Found 1 X3D and nodes... INFO: X3DOM version 1.7.3-dev, Revison 770406f16691ff42e705b150e5825ca8a943ab5c, Date Thu Feb 22 07:32:24 2018 -0500 -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 2 22:26:21 2018 From: yottzumm at gmail.com (John Carlson) Date: Tue, 3 Apr 2018 01:26:21 -0400 Subject: [x3d-public] Good site to know about for FLOSS...someone want to provide funds for X3D, VRML, Visualization and Analytics? Message-ID: <5ac3107c.0a0b370a.5a649.b01f@mx.google.com> https://www.bountysource.com/ John -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Tue Apr 3 09:03:29 2018 From: brutzman at nps.edu (Don Brutzman) Date: Tue, 3 Apr 2018 09:03:29 -0700 Subject: [x3d-public] X3D meeting agenda 4 April 2018: X3D Profiles, Feedback on Mantis Issues, HAnim updates to X3D spec Message-ID: <27aae253-df5d-a13c-ab5b-b7d5b81637e2@nps.edu> The X3D Working addresses all X3D specification issues and coordinates the technical development of future improvements. X3D Graphics Working Group http://www.web3d.org/working-groups/x3d We will meet at regular time (0800 pacific) tomorrow Wednesday 4 April 2018 using Web3D Teleconference line. Web3D Teleconference http://www.web3d.org/member/teleconference-information Here is our agenda for next week. 1. *Review minutes*. Confirm or correct last week's minutes at X3D Working Group meeting minutes 28 March 2018: tutorials, HAnim DIS, X3D Profiles, Feedback and Mantis Issue Tracking http://web3d.org/mailman/private/x3d_web3d.org/2018-March/006933.html This is a good point to note whether any other new business might be added to this meeting agenda. 2. *X3D Profiles page*. Last week we had a good discussion and new diagram by Vince Marchetti. We will review and agree on specific improvements to the page. X3D Profiles http://www.web3d.org/x3d/profiles 3. *Public and Member Feedback* and *Mantis Issues*. We have a lot of specifications! Completing and maintaining them is important, so streamlining participation with process-based procedures is import. During last week's meeting we had a good review of the detailed summaries for each of these activities. They are now collected as an entry-level overview page at Mantis Issue Tracking and Review http://www.web3d.org/mantis-issue-tracking-and-review Please review this page. Following this week's discussion, if ready, we can ask that it be added to the menu lists as entry point for Mantis. We also talked through the need to have each draft and proposed specification listed on the selection menu in the comments form. Web3D Standards Comment Form http://www.web3d.org/content/web3d-standards-comment-form Mantis 1232: Additional menu items needed on Web3D Specification Comments form http://www.web3d.org/member-only/mantis/view.php?id=1232 (work approved and assigned) X3D Graphics Standards: Specification Relationships http://www.web3d.org/specifications/X3dSpecificationRelationships.png 4. *Humanoid Animation (HAnim) Update*. Quite a lot continues to happen, status is online for members at Urgent HAnim Specification Improvements for DIS Submission https://docs.google.com/document/d/1v1peZ-k-k4u6vGAAEHtw5qEN-3OTZmpN3Vg3kNJgVp4 We will look at the potential changes needed in the X3D v4 Abstract Specification to match these HAnim Architecture and HAnim Motion Animation improvements. Spec "linkology" follows to facilitate meeting review. X3D v3.3 International Standard (IS), Humanoid animation (H-Anim) component http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/hanim.html https://github.com/Web3DConsortium (requires member login) X3D v4.0 Abstract Specification, Working Draft 1 https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-1/ISO-IEC%2019775-1%20V4.0/ISO-IEC%2019775-1%20V4.0%20WD1 specifically X3D v4.0 Abstract Specification, Working Draft 1, Humanoid animation (H-Anim) component https://github.com/Web3DConsortium/X3D/blob/master/ISO-IEC%2019775/ISO-IEC%2019775-1/ISO-IEC%2019775-1%20V4.0/ISO-IEC%2019775-1%20V4.0%20WD1/Part01/components/hanim.html HAnim Architecture draft DIS https://github.com/Web3DConsortium/H-Anim/tree/master/ISO-IEC%2019774/ISO-IEC%2019774-1/ISO-IEC%2019774-1%20V2.0/ISO-IEC%2019774-1%20V2.0%20DIS%20Prep HAnim Motion Capture draft DIS https://github.com/Web3DConsortium/H-Anim/tree/master/ISO-IEC%2019774/ISO-IEC%2019774-2/ISO-IEC%2019774-2%20V2.0/ISO-IEC%2019774-2%20V2.0%20DIS%20Prep Thanks for all interest and activity. Have fun with X3D! 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 http://faculty.nps.edu/brutzman -------------- next part -------------- A non-text attachment was scrubbed... Name: X3dProfilesBoxDiagram.svg Type: image/svg+xml Size: 18421 bytes Desc: not available URL: From brutzman at nps.edu Tue Apr 3 09:53:40 2018 From: brutzman at nps.edu (Don Brutzman) Date: Tue, 3 Apr 2018 09:53:40 -0700 Subject: [x3d-public] X3D meeting agenda 4 April 2018: X3D Profiles, Feedback on Mantis Issues, HAnim updates to X3D spec In-Reply-To: <27aae253-df5d-a13c-ab5b-b7d5b81637e2@nps.edu> References: <27aae253-df5d-a13c-ab5b-b7d5b81637e2@nps.edu> Message-ID: On 4/3/2018 9:03 AM, Don Brutzman wrote: > > Here is our agenda for next week. _this_ week! BCNU tomoro. 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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Tue Apr 3 18:58:20 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 04 Apr 2018 01:58:20 +0000 Subject: [x3d-public] Nodes only on routes Message-ID: Any comments on my nodes only in routes to send to Scripts initializeOnly fields? Is this supported? Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Wed Apr 4 10:02:49 2018 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 4 Apr 2018 10:02:49 -0700 Subject: [x3d-public] X3D meeting minutes for 4 April 2018: X3D Profiles, Feedback on Mantis Issues, HAnim updates to X3D spec In-Reply-To: <27aae253-df5d-a13c-ab5b-b7d5b81637e2@nps.edu> References: <27aae253-df5d-a13c-ab5b-b7d5b81637e2@nps.edu> Message-ID: <8c67c0f9-1b45-692b-9feb-940ef4f38052@nps.edu> Attendees: Anita Havele, Vince Marcetti, Nicholas Polys, Dick Puk, Don Brutzman. On 4/3/2018 9:03 AM, Don Brutzman wrote: > The X3D Working addresses all X3D specification issues and coordinates the technical development of future improvements. > > X3D Graphics Working Group > http://www.web3d.org/working-groups/x3d > > We will meet at regular time (0800 pacific) tomorrow Wednesday 4 April 2018 using Web3D Teleconference line. > > Web3D Teleconference > http://www.web3d.org/member/teleconference-information > > Here is our agenda for next week. > > 1. *Review minutes*. Confirm or correct last week's minutes at > > X3D Working Group meeting minutes 28 March 2018: > tutorials, HAnim DIS, X3D Profiles, Feedback and Mantis Issue Tracking > http://web3d.org/mailman/private/x3d_web3d.org/2018-March/006933.html Accepted. > This is a good point to note whether any other new business might be added to this meeting agenda. Web3D 2018 Conference reviews are well underway and we expect conference registration to open soon. > 2. *X3D Profiles page*. Last week we had a good discussion and new diagram by Vince Marchetti. We will review and agree on specific improvements to the page. > > X3D Profiles > http://www.web3d.org/x3d/profiles Updated version of the figure is at the same address as reported earlier: > A draft replacement for the Profiles diagram is attached, source file (SVG) at > https://drive.google.com/drive/folders/1Ex4A_3_Ahb39izfjq2vnaVMGJ8l7GoLN?usp=sharing We looked at the X3D Specification and discussed whether the X3D Specification might benefit from adding this conceptual diagram. We agreed to add it as new Figure 4.4 to draft X3D v4.0 specification, with cross-checking for comprehensive match and moving some of the labeling into figure metadata. It will be added to 4.6 Profiles 4.6.1 Overview We will also add MedicalInterchange profile to the bullet list in paragraph 4.6.1. Vince will check in original, SVG and png into github for X3D v4. We replaced the figure in the website profiles page. Had trouble with image sizing, the website seems to be overriding requested image width of 400px. Continuing improvement will be considered next week. > 3. *Public and Member Feedback* and *Mantis Issues*. > > We have a lot of specifications! Completing and maintaining them is important, so streamlining participation with process-based procedures is import. > > During last week's meeting we had a good review of the detailed summaries for each of these activities. They are now collected as an entry-level overview page at > > Mantis Issue Tracking and Review > http://www.web3d.org/mantis-issue-tracking-and-review > > Please review this page. Following this week's discussion, if ready, we can ask that it be added to the menu lists as entry point for Mantis. We fiddled with Mantis Access section and improved the words a bit. This bears continued scrutiny. We are not consistently seeing the same login process, which is curious. The page looks helpful enough that it can be integrated into the website. We request that the following sentence be added in the Web3D Standards Comment Form: "_Mantis Issue Tracking and Review" describes X3D Working Group procedures for reviewing feedback and improving Web3D specifications." Entered as Mantis website issue 1235 for Executive Director and Webmaster resolution. http://www.web3d.org/member-only/mantis/view.php?id=1235 > We also talked through the need to have each draft and proposed specification listed on the selection menu in the comments form. > > Web3D Standards Comment Form > http://www.web3d.org/content/web3d-standards-comment-form > > Mantis 1232: Additional menu items needed on Web3D Specification Comments form > http://www.web3d.org/member-only/mantis/view.php?id=1232 > (work approved and assigned) > > X3D Graphics Standards: Specification Relationships > http://www.web3d.org/specifications/X3dSpecificationRelationships.png No change. > 4. *Humanoid Animation (HAnim) Update*. > > Quite a lot continues to happen, status is online for members at > > Urgent HAnim Specification Improvements for DIS Submission > https://docs.google.com/document/d/1v1peZ-k-k4u6vGAAEHtw5qEN-3OTZmpN3Vg3kNJgVp4 > > We will look at the potential changes needed in the X3D v4 Abstract Specification to match these HAnim Architecture and HAnim Motion Animation improvements. > > Spec "linkology" follows to facilitate meeting review. > > X3D v3.3 International Standard (IS), Humanoid animation (H-Anim) component > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/hanim.html > > https://github.com/Web3DConsortium (requires member login) > > X3D v4.0 Abstract Specification, Working Draft 1 > https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-1/ISO-IEC%2019775-1%20V4.0/ISO-IEC%2019775-1%20V4.0%20WD1 > > specifically X3D v4.0 Abstract Specification, Working Draft 1, Humanoid animation (H-Anim) component > https://github.com/Web3DConsortium/X3D/blob/master/ISO-IEC%2019775/ISO-IEC%2019775-1/ISO-IEC%2019775-1%20V4.0/ISO-IEC%2019775-1%20V4.0%20WD1/Part01/components/hanim.html > > HAnim Architecture draft DIS > https://github.com/Web3DConsortium/H-Anim/tree/master/ISO-IEC%2019774/ISO-IEC%2019774-1/ISO-IEC%2019774-1%20V2.0/ISO-IEC%2019774-1%20V2.0%20DIS%20Prep > > HAnim Motion Capture draft DIS > https://github.com/Web3DConsortium/H-Anim/tree/master/ISO-IEC%2019774/ISO-IEC%2019774-2/ISO-IEC%2019774-2%20V2.0/ISO-IEC%2019774-2%20V2.0%20DIS%20Prep Expected changes in X3D v4.0 specification: a. Review and possible tweaking of existing HAnim node interfaces and prose, matching refinements in the HAnim specification editors (perhaps an hour's work). b. Expect insertion of HAnimMotion node under 26.3 Node reference, likely as 26.3.4 between HAnimJoint and HAnimSegment. c. Expect addition of HAnimMotion support in section 26.4 Support levels, Table 26.2 ? Humanoid animation (H-Anim) component support levels. d. Given that HAnimMotion is something completely new, and not expected as part of legacy X3D v3.3 players, our past practice (and current good sense!) would add new Level 2 for supporting HAnimMotion nodes. e. Direct interpoloation support (corresponding to HAnimMotion functionality) requires PositionInterpolator, OrientationInterpolator, TimeSensor/ROUTE. We will consider how to best align this requirement in the prose. f. It is likely we will add support for *.bvh file format as part of HAnimMotion node functionality. This may add a subsection under 26.2 Concepts. These seem straightforward. Specification editors will continue work, in coordination with HAnim group. ========================================================= As must be clear if you got this far, Web specification stability and interoperability is a lot of work! We are keen for others to help and to support the mission of Web3D Consortium. Many benefits also flow back to members. If you are not currently a member, Please Join. http://www.web3d.org/join Thanks for all interest and activity. Have fun with X3D! 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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Wed Apr 4 10:08:48 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 04 Apr 2018 17:08:48 +0000 Subject: [x3d-public] [x3d] X3D meeting minutes for 4 April 2018: X3D Profiles, Feedback on Mantis Issues, HAnim updates to X3D spec In-Reply-To: <8c67c0f9-1b45-692b-9feb-940ef4f38052@nps.edu> References: <27aae253-df5d-a13c-ab5b-b7d5b81637e2@nps.edu> <8c67c0f9-1b45-692b-9feb-940ef4f38052@nps.edu> Message-ID: The difference in the mantis login process to me appeared to be dependent on which project was selected. John On Wed, Apr 4, 2018, 1:05 PM Don Brutzman wrote: > Attendees: Anita Havele, Vince Marcetti, Nicholas Polys, Dick Puk, Don > Brutzman. > > On 4/3/2018 9:03 AM, Don Brutzman wrote: > > The X3D Working addresses all X3D specification issues and coordinates > the technical development of future improvements. > > > > X3D Graphics Working Group > > http://www.web3d.org/working-groups/x3d > > > > We will meet at regular time (0800 pacific) tomorrow Wednesday 4 April > 2018 using Web3D Teleconference line. > > > > Web3D Teleconference > > http://www.web3d.org/member/teleconference-information > > > > Here is our agenda for next week. > > > > 1. *Review minutes*. Confirm or correct last week's minutes at > > > > X3D Working Group meeting minutes 28 March 2018: > > tutorials, HAnim DIS, X3D Profiles, Feedback and Mantis Issue > Tracking > > > http://web3d.org/mailman/private/x3d_web3d.org/2018-March/006933.html > > Accepted. > > > This is a good point to note whether any other new business might be > added to this meeting agenda. > > Web3D 2018 Conference reviews are well underway and we expect conference > registration to open soon. > > > > 2. *X3D Profiles page*. Last week we had a good discussion and new > diagram by Vince Marchetti. We will review and agree on specific > improvements to the page. > > > > X3D Profiles > > http://www.web3d.org/x3d/profiles > > Updated version of the figure is at the same address as reported earlier: > > > A draft replacement for the Profiles diagram is attached, source file > (SVG) at > > > https://drive.google.com/drive/folders/1Ex4A_3_Ahb39izfjq2vnaVMGJ8l7GoLN?usp=sharing > > We looked at the X3D Specification and discussed whether the X3D > Specification might benefit from adding this conceptual diagram. > > We agreed to add it as new Figure 4.4 to draft X3D v4.0 specification, > with cross-checking for comprehensive match and moving some of the labeling > into figure metadata. It will be added to > > 4.6 Profiles > 4.6.1 Overview > > We will also add MedicalInterchange profile to the bullet list in > paragraph 4.6.1. > > Vince will check in original, SVG and png into github for X3D v4. We > replaced the figure in the website profiles page. Had trouble with image > sizing, the website seems to be overriding requested image width of 400px. > > Continuing improvement will be considered next week. > > > > 3. *Public and Member Feedback* and *Mantis Issues*. > > > > We have a lot of specifications! Completing and maintaining them is > important, so streamlining participation with process-based procedures is > import. > > > > During last week's meeting we had a good review of the detailed > summaries for each of these activities. They are now collected as an > entry-level overview page at > > > > Mantis Issue Tracking and Review > > http://www.web3d.org/mantis-issue-tracking-and-review > > > > Please review this page. Following this week's discussion, if ready, we > can ask that it be added to the menu lists as entry point for Mantis. > > We fiddled with Mantis Access section and improved the words a bit. This > bears continued scrutiny. We are not consistently seeing the same login > process, which is curious. > > The page looks helpful enough that it can be integrated into the website. > We request that the following sentence be added in the Web3D Standards > Comment Form: > > "_Mantis Issue Tracking and Review" describes X3D Working Group procedures > for reviewing feedback and improving Web3D specifications." > > Entered as Mantis website issue 1235 for Executive Director and Webmaster > resolution. > http://www.web3d.org/member-only/mantis/view.php?id=1235 > > > We also talked through the need to have each draft and proposed > specification listed on the selection menu in the comments form. > > > > Web3D Standards Comment Form > > http://www.web3d.org/content/web3d-standards-comment-form > > > > Mantis 1232: Additional menu items needed on Web3D Specification > Comments form > > http://www.web3d.org/member-only/mantis/view.php?id=1232 > > (work approved and assigned) > > > > X3D Graphics Standards: Specification Relationships > > > http://www.web3d.org/specifications/X3dSpecificationRelationships.png > > No change. > > > 4. *Humanoid Animation (HAnim) Update*. > > > > Quite a lot continues to happen, status is online for members at > > > > Urgent HAnim Specification Improvements for DIS Submission > > > https://docs.google.com/document/d/1v1peZ-k-k4u6vGAAEHtw5qEN-3OTZmpN3Vg3kNJgVp4 > > > > We will look at the potential changes needed in the X3D v4 Abstract > Specification to match these HAnim Architecture and HAnim Motion Animation > improvements. > > > > Spec "linkology" follows to facilitate meeting review. > > > > X3D v3.3 International Standard (IS), Humanoid animation (H-Anim) > component > > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/hanim.html > > > > https://github.com/Web3DConsortium (requires member login) > > > > X3D v4.0 Abstract Specification, Working Draft 1 > > > https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-1/ISO-IEC%2019775-1%20V4.0/ISO-IEC%2019775-1%20V4.0%20WD1 > > > > specifically X3D v4.0 Abstract Specification, Working Draft 1, > Humanoid animation (H-Anim) component > > > https://github.com/Web3DConsortium/X3D/blob/master/ISO-IEC%2019775/ISO-IEC%2019775-1/ISO-IEC%2019775-1%20V4.0/ISO-IEC%2019775-1%20V4.0%20WD1/Part01/components/hanim.html > > > > HAnim Architecture draft DIS > > > https://github.com/Web3DConsortium/H-Anim/tree/master/ISO-IEC%2019774/ISO-IEC%2019774-1/ISO-IEC%2019774-1%20V2.0/ISO-IEC%2019774-1%20V2.0%20DIS%20Prep > > > > HAnim Motion Capture draft DIS > > > https://github.com/Web3DConsortium/H-Anim/tree/master/ISO-IEC%2019774/ISO-IEC%2019774-2/ISO-IEC%2019774-2%20V2.0/ISO-IEC%2019774-2%20V2.0%20DIS%20Prep > > Expected changes in X3D v4.0 specification: > > a. Review and possible tweaking of existing HAnim node interfaces and > prose, matching refinements in the HAnim specification editors (perhaps an > hour's work). > > b. Expect insertion of HAnimMotion node under 26.3 Node reference, likely > as 26.3.4 between HAnimJoint and HAnimSegment. > > c. Expect addition of HAnimMotion support in section 26.4 Support levels, > Table 26.2 ? Humanoid animation (H-Anim) component support levels. > > d. Given that HAnimMotion is something completely new, and not expected as > part of legacy X3D v3.3 players, our past practice (and current good > sense!) would add new Level 2 for supporting HAnimMotion nodes. > > e. Direct interpoloation support (corresponding to HAnimMotion > functionality) requires PositionInterpolator, OrientationInterpolator, > TimeSensor/ROUTE. We will consider how to best align this requirement in > the prose. > > f. It is likely we will add support for *.bvh file format as part of > HAnimMotion node functionality. This may add a subsection under 26.2 > Concepts. > > These seem straightforward. Specification editors will continue work, in > coordination with HAnim group. > > ========================================================= > > As must be clear if you got this far, Web specification stability and > interoperability is a lot of work! We are keen for others to help and to > support the mission of Web3D Consortium. Many benefits also flow back to > members. If you are not currently a member, Please Join. > > http://www.web3d.org/join > > Thanks for all interest and activity. Have fun with X3D! 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 > http://faculty.nps.edu/brutzman > > _______________________________________________ > x3d mailing list > x3d at web3d.org > http://web3d.org/mailman/listinfo/x3d_web3d.org > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Thu Apr 5 07:51:21 2018 From: brutzman at nps.edu (Don Brutzman) Date: Thu, 5 Apr 2018 07:51:21 -0700 Subject: [x3d-public] Minimal set of JSON schema errors to investigate In-Reply-To: <5abe04bb.14c9370a.23047.8f86@mx.google.com> References: <5abe0271.850e370a.f4fab.e8f0@mx.google.com> <5abe04bb.14c9370a.23047.8f86@mx.google.com> Message-ID: Quick response on CADPartChildTransformationAlternativeB and CADPartChildTransformationAlternativeC: they were design experiments and will not validate. Note presence of document metadata: If you want a consistent format for such warnings, can provide. Nevertheless any scene with is likely problematic. Geo nodes are trickier, will require further scrutiny on my part. Thanks for identifying them! On 3/30/2018 2:34 AM, John Carlson wrote: > Here?s the minimal set of JSON schema errors to investigate. Note that this doesn?t include H-Anim.? I am mostly concerned about Squaw.json and the Metadata @name. > > John > > json-schema 3.1 Validation error org.everit.json.schema.ValidationException: #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/3/CADFace: 2 schema violations found C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeB.json > > json-schema 3.1 Validation error org.everit.json.schema.ValidationException: #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/4/CADFace: 2 schema violations found C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeB.json > > json-schema 3.1 Validation error org.everit.json.schema.ValidationException: #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/3: extraneous key [Transform] is not permitted C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeC.json > > json-schema 3.1 Validation error org.everit.json.schema.ValidationException: #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/4: extraneous key [Transform] is not permitted C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeC.json > > json-schema 3.3 Validation error org.everit.json.schema.ValidationException: #/X3D/Scene/-children/4/GeoViewpoint: 36 schema violations found C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Geospatial/Squaw.json > > json-schema 3.3 Validation error org.everit.json.schema.ValidationException: #/X3D/Scene/-children/5/Group/-children/0/Group/-children/0/Group/-children: 540 schema violations found C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Geospatial/Squaw.json > > json-schema 3.3 Validation error org.everit.json.schema.ValidationException: #/X3D/Scene/-children/2/WorldInfo/-metadata/MetadataSet/-metadata/MetadataSet/-value/0/MetadataString: required key [@name] not found C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json > > json-schema 3.3 Validation error org.everit.json.schema.ValidationException: #/X3D/Scene/-children/2/WorldInfo/-metadata/MetadataSet/-metadata/MetadataSet/-value/1/MetadataInteger: required key [@name] not found C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json > > json-schema 3.3 Validation error org.everit.json.schema.ValidationException: #/X3D/Scene/-children/2/WorldInfo/-metadata/MetadataSet/-metadata/MetadataSet/-value/2/MetadataFloat: required key [@name] not found C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json > 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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Thu Apr 5 10:46:35 2018 From: yottzumm at gmail.com (John Carlson) Date: Thu, 05 Apr 2018 17:46:35 +0000 Subject: [x3d-public] Minimal set of JSON schema errors to investigate In-Reply-To: References: <5abe0271.850e370a.f4fab.e8f0@mx.google.com> <5abe04bb.14c9370a.23047.8f86@mx.google.com> Message-ID: We could make meta="error" invalid schema. On Thu, Apr 5, 2018, 10:53 AM Don Brutzman wrote: > Quick response on CADPartChildTransformationAlternativeB and > CADPartChildTransformationAlternativeC: they were design experiments and > will not validate. > > Note presence of document metadata: > > > > If you want a consistent format for such warnings, can provide. > Nevertheless any scene with is > likely problematic. > > Geo nodes are trickier, will require further scrutiny on my part. Thanks > for identifying them! > > On 3/30/2018 2:34 AM, John Carlson wrote: > > Here?s the minimal set of JSON schema errors to investigate. Note that > this doesn?t include H-Anim. I am mostly concerned about Squaw.json and > the Metadata @name. > > > > John > > > > json-schema 3.1 Validation error > org.everit.json.schema.ValidationException: > #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/3/CADFace: > 2 schema violations found C:/x3d-code/ > www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeB.json > > > > json-schema 3.1 Validation error > org.everit.json.schema.ValidationException: > #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/4/CADFace: > 2 schema violations found C:/x3d-code/ > www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeB.json > > > > json-schema 3.1 Validation error > org.everit.json.schema.ValidationException: > #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/3: > extraneous key [Transform] is not permitted C:/x3d-code/ > www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeC.json > > > > json-schema 3.1 Validation error > org.everit.json.schema.ValidationException: > #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/4: > extraneous key [Transform] is not permitted C:/x3d-code/ > www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeC.json > > > > json-schema 3.3 Validation error > org.everit.json.schema.ValidationException: > #/X3D/Scene/-children/4/GeoViewpoint: 36 schema violations found > C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Geospatial/Squaw.json > > > > json-schema 3.3 Validation error > org.everit.json.schema.ValidationException: > #/X3D/Scene/-children/5/Group/-children/0/Group/-children/0/Group/-children: > 540 schema violations found C:/x3d-code/ > www.web3d.org/x3d/content/examples/Basic/Geospatial/Squaw.json > > > > json-schema 3.3 Validation error > org.everit.json.schema.ValidationException: > #/X3D/Scene/-children/2/WorldInfo/-metadata/MetadataSet/-metadata/MetadataSet/-value/0/MetadataString: > required key [@name] not found C:/x3d-code/ > www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json > > > > json-schema 3.3 Validation error > org.everit.json.schema.ValidationException: > #/X3D/Scene/-children/2/WorldInfo/-metadata/MetadataSet/-metadata/MetadataSet/-value/1/MetadataInteger: > required key [@name] not found C:/x3d-code/ > www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json > > > > json-schema 3.3 Validation error > org.everit.json.schema.ValidationException: > #/X3D/Scene/-children/2/WorldInfo/-metadata/MetadataSet/-metadata/MetadataSet/-value/2/MetadataFloat: > required key [@name] not found C:/x3d-code/ > www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json > > > > > 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 > http://faculty.nps.edu/brutzman > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Thu Apr 5 10:50:05 2018 From: yottzumm at gmail.com (John Carlson) Date: Thu, 05 Apr 2018 17:50:05 +0000 Subject: [x3d-public] Minimal set of JSON schema errors to investigate In-Reply-To: References: <5abe0271.850e370a.f4fab.e8f0@mx.google.com> <5abe04bb.14c9370a.23047.8f86@mx.google.com> Message-ID: I mean wrote: > We could make meta="error" invalid schema. > > On Thu, Apr 5, 2018, 10:53 AM Don Brutzman wrote: > >> Quick response on CADPartChildTransformationAlternativeB and >> CADPartChildTransformationAlternativeC: they were design experiments and >> will not validate. >> >> Note presence of document metadata: >> >> >> >> If you want a consistent format for such warnings, can provide. >> Nevertheless any scene with is >> likely problematic. >> >> Geo nodes are trickier, will require further scrutiny on my part. Thanks >> for identifying them! >> >> On 3/30/2018 2:34 AM, John Carlson wrote: >> > Here?s the minimal set of JSON schema errors to investigate. Note that >> this doesn?t include H-Anim. I am mostly concerned about Squaw.json and >> the Metadata @name. >> > >> > John >> > >> > json-schema 3.1 Validation error >> org.everit.json.schema.ValidationException: >> #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/3/CADFace: >> 2 schema violations found C:/x3d-code/ >> www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeB.json >> > >> > json-schema 3.1 Validation error >> org.everit.json.schema.ValidationException: >> #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/4/CADFace: >> 2 schema violations found C:/x3d-code/ >> www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeB.json >> > >> > json-schema 3.1 Validation error >> org.everit.json.schema.ValidationException: >> #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/3: >> extraneous key [Transform] is not permitted C:/x3d-code/ >> www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeC.json >> > >> > json-schema 3.1 Validation error >> org.everit.json.schema.ValidationException: >> #/X3D/Scene/-children/2/CADAssembly/-children/0/CADPart/-children/4: >> extraneous key [Transform] is not permitted C:/x3d-code/ >> www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeC.json >> > >> > json-schema 3.3 Validation error >> org.everit.json.schema.ValidationException: >> #/X3D/Scene/-children/4/GeoViewpoint: 36 schema violations found >> C:/x3d-code/ >> www.web3d.org/x3d/content/examples/Basic/Geospatial/Squaw.json >> > >> > json-schema 3.3 Validation error >> org.everit.json.schema.ValidationException: >> #/X3D/Scene/-children/5/Group/-children/0/Group/-children/0/Group/-children: >> 540 schema violations found C:/x3d-code/ >> www.web3d.org/x3d/content/examples/Basic/Geospatial/Squaw.json >> > >> > json-schema 3.3 Validation error >> org.everit.json.schema.ValidationException: >> #/X3D/Scene/-children/2/WorldInfo/-metadata/MetadataSet/-metadata/MetadataSet/-value/0/MetadataString: >> required key [@name] not found C:/x3d-code/ >> www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json >> > >> > json-schema 3.3 Validation error >> org.everit.json.schema.ValidationException: >> #/X3D/Scene/-children/2/WorldInfo/-metadata/MetadataSet/-metadata/MetadataSet/-value/1/MetadataInteger: >> required key [@name] not found C:/x3d-code/ >> www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json >> > >> > json-schema 3.3 Validation error >> org.everit.json.schema.ValidationException: >> #/X3D/Scene/-children/2/WorldInfo/-metadata/MetadataSet/-metadata/MetadataSet/-value/2/MetadataFloat: >> required key [@name] not found C:/x3d-code/ >> www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json >> > >> >> >> 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 >> http://faculty.nps.edu/brutzman >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From vmarchetti at kshell.com Fri Apr 6 06:15:49 2018 From: vmarchetti at kshell.com (vmarchetti at kshell.com) Date: Fri, 6 Apr 2018 09:15:49 -0400 Subject: [x3d-public] IPython and X3DOM for scientific publication Message-ID: <7E9AFC2C-1C4C-43B1-96A8-A2AC37952F53@kshell.com> Interesting article: "The Scientific Paper is obsolete" : https://www.theatlantic.com/science/archive/2018/04/the-scientific-paper-is-obsolete/556676/ Quick Summary and comment: After some hot air about Stephen Wolfram and Mathematica, the article discusses IPython, now call Jupyter, a Python-based notebook style application for performing and documenting scientific/engineering computation. This article only discusses 2D graphics, but X3DOM can be used as a back-end to do 3D visualization in a Jupyter notebook. The examples I've found on the web are all in the context of a much larger computation toolkit such as Mayavi http://docs.enthought.com/mayavi/mayavi/ or Fenics https://fenicsproject.org/ . Does anyone have a "Hello World" complexity example of creating an X3DOM scene in a Jupyter notebook and rendering it inside the notebook, that can be put in the Web3D Examples set? Vince Marchetti -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreasplesch at gmail.com Fri Apr 6 08:22:27 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Fri, 6 Apr 2018 11:22:27 -0400 Subject: [x3d-public] remove SF/MFInt32 ? Message-ID: Here is a somewhat radical idea to simplify X3D a bit. Since x3dom is javascript it does not really distinguish between SFInt32 and SFFloat, and lives pretty well with it. So why not consider completely removing the SF/MFInt32 from the spec. in general ? The integer fields are used in not very many nodes: Switch, IntegerSequencer, LOD (level_changed) come to mind. A replacement with SFFloat would mean adding rounding or truncation to nearest integer in the spec. language but probably not more than that. The advantages are that it is an opportunity to make the spec. leaner, and help with some node communication issues. The disadvantages are that it would be a backwards incompatible change, and may have a minor performance impact. -Andreas -- Andreas Plesch Waltham, MA 02453 -------------- next part -------------- An HTML attachment was scrubbed... URL: From gpugroup at gmail.com Fri Apr 6 09:49:32 2018 From: gpugroup at gmail.com (GPU Group) Date: Fri, 6 Apr 2018 10:49:32 -0600 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: related: SF float32 vs double64: would all double be simpler on x3d specs, and internally, up to opengl interface? On Fri, Apr 6, 2018 at 9:22 AM, Andreas Plesch wrote: > Here is a somewhat radical idea to simplify X3D a bit. Since x3dom is > javascript it does not really distinguish between SFInt32 and SFFloat, and > lives pretty well with it. So why not consider completely removing the > SF/MFInt32 from the spec. in general ? > > The integer fields are used in not very many nodes: Switch, > IntegerSequencer, LOD (level_changed) come to mind. A replacement with > SFFloat would mean adding rounding or truncation to nearest integer in the > spec. language but probably not more than that. > > The advantages are that it is an opportunity to make the spec. leaner, and > help with some node communication issues. > > The disadvantages are that it would be a backwards incompatible change, > and may have a minor performance impact. > > -Andreas > > -- > Andreas Plesch > Waltham, MA 02453 > > _______________________________________________ > 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: From michalis.kambi at gmail.com Fri Apr 6 10:02:43 2018 From: michalis.kambi at gmail.com (Michalis Kamburelis) Date: Fri, 6 Apr 2018 19:02:43 +0200 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: "2018-04-06 17:22 GMT+02:00 Andreas Plesch : > Here is a somewhat radical idea to simplify X3D a bit. Since x3dom is > javascript it does not really distinguish between SFInt32 and SFFloat, and > lives pretty well with it. So why not consider completely removing the > SF/MFInt32 from the spec. in general ? > > The integer fields are used in not very many nodes: Switch, > IntegerSequencer, LOD (level_changed) come to mind. A replacement with > SFFloat would mean adding rounding or truncation to nearest integer in the > spec. language but probably not more than that. > > The advantages are that it is an opportunity to make the spec. leaner, and > help with some node communication issues. > > The disadvantages are that it would be a backwards incompatible change, and > may have a minor performance impact. > This is a limitation of JavaScript (there are no separate "integer" or "float" types, just "number"), but all other programming languages have separate integer / float types. So I would a bit reluctant to do this... Equating "SFFloat == SFInt32" would mean we have less strict typing when it comes to checking ROUTE connections. All SFFloat fields/events could be then connected with SFInt32. E.g. in my opinion it is good that right now you are forced to animate "Switch.whichChoice" with "IntegerSequencer", and you cannot do it with "ScalarInterpolator". And it allows X3D specification to avoid making some general rules whether we round (with round(0.75)=1.0), or truncate (ceil). More importantly, what happens with MFInt32? If it's now MFFloat, then we get a performance hit when reading a long list of coordinates (like IndexedFaceSet.coordIndex), because now we have to call round() on every list item. Regards, Michalis From andreasplesch at gmail.com Fri Apr 6 10:14:03 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Fri, 6 Apr 2018 13:14:03 -0400 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: That came to mind as well, since js numbers are doubles. May be it is time to trade less efficient use of resources for simplicity and convenience ? Mobile is a large area with limited resources, however. On Fri, Apr 6, 2018, 12:49 PM GPU Group wrote: > related: SF float32 vs double64: would all double be simpler on x3d specs, > and internally, up to opengl interface? > > On Fri, Apr 6, 2018 at 9:22 AM, Andreas Plesch > wrote: > >> Here is a somewhat radical idea to simplify X3D a bit. Since x3dom is >> javascript it does not really distinguish between SFInt32 and SFFloat, and >> lives pretty well with it. So why not consider completely removing the >> SF/MFInt32 from the spec. in general ? >> >> The integer fields are used in not very many nodes: Switch, >> IntegerSequencer, LOD (level_changed) come to mind. A replacement with >> SFFloat would mean adding rounding or truncation to nearest integer in the >> spec. language but probably not more than that. >> >> The advantages are that it is an opportunity to make the spec. leaner, >> and help with some node communication issues. >> >> The disadvantages are that it would be a backwards incompatible change, >> and may have a minor performance impact. >> >> -Andreas >> >> -- >> Andreas Plesch >> Waltham, MA 02453 >> >> _______________________________________________ >> 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: From yottzumm at gmail.com Fri Apr 6 10:15:00 2018 From: yottzumm at gmail.com (John Carlson) Date: Fri, 06 Apr 2018 17:15:00 +0000 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: On Fri, Apr 6, 2018, 1:04 PM Michalis Kamburelis wrote: > > > More importantly, what happens with MFInt32? If it's now MFFloat, then > we get a performance hit when reading a long list of coordinates (like > IndexedFaceSet.coordIndex), because now we have to call round() on > every list item. > This, I feel, is a very important point. John > -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreasplesch at gmail.com Fri Apr 6 10:41:08 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Fri, 6 Apr 2018 13:41:08 -0400 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: I did not really expect a lot of enthusiasm but thought it might be worth a discussion. So let me try. On Fri, Apr 6, 2018 at 1:02 PM, Michalis Kamburelis < michalis.kambi at gmail.com> wrote: > "2018-04-06 17:22 GMT+02:00 Andreas Plesch : > > Here is a somewhat radical idea to simplify X3D a bit. Since x3dom is > > javascript it does not really distinguish between SFInt32 and SFFloat, > and > > lives pretty well with it. So why not consider completely removing the > > SF/MFInt32 from the spec. in general ? > > > > The integer fields are used in not very many nodes: Switch, > > IntegerSequencer, LOD (level_changed) come to mind. A replacement with > > SFFloat would mean adding rounding or truncation to nearest integer in > the > > spec. language but probably not more than that. > > > > The advantages are that it is an opportunity to make the spec. leaner, > and > > help with some node communication issues. > > > > The disadvantages are that it would be a backwards incompatible change, > and > > may have a minor performance impact. > > > > This is a limitation of JavaScript (there are no separate "integer" or > "float" types, just "number"), but all other programming languages > have separate integer / float types. So I would a bit reluctant to do > this... > > Equating "SFFloat == SFInt32" would mean we have less strict typing > when it comes to checking ROUTE connections. All SFFloat fields/events > could be then connected with SFInt32. E.g. in my opinion it is good > that right now you are forced to animate "Switch.whichChoice" with > "IntegerSequencer", and you cannot do it with "ScalarInterpolator". > And it allows X3D specification to avoid making some general rules > whether we round (with round(0.75)=1.0), or truncate (ceil). > I am not sure if X3D should be considered a programming language although it is probably Turing complete. Its declarative nature and its abstracted foundation serve to strike a balance between ease of use and full programmability. So I think there may be room for simplification. You are right that the loss of some strictness in type checking would be probably the main drawback/impact. The rule on how to convert to an index would be just a decision. Alternatively, indices could still be required to be round numbers. Otherwise, the value would be undefined. The strict type checking is a doubly edged sword. It encourages more precision on the input and therefore presumably more correctness but then requires more nodes and fields to enable that precision. For example, I would like to route a level_changed SFInt32 value to a SFFloat key field of a BooleanSequencer. Now I need a type converter and since there is not one, I have to have a type converter script just to satisfy type correctness. > More importantly, what happens with MFInt32? If it's now MFFloat, then > we get a performance hit when reading a long list of coordinates (like > IndexedFaceSet.coordIndex), because now we have to call round() on > every list item. > I believe this would be a one time operation during loading which would be barely noticeable on a modern system, even for large IFSs. The parsing of the string to a number in the first place likely takes much longer. > Regards, > Michalis > -- Andreas Plesch Waltham, MA 02453 -------------- next part -------------- An HTML attachment was scrubbed... URL: From michalis.kambi at gmail.com Fri Apr 6 10:41:56 2018 From: michalis.kambi at gmail.com (Michalis Kamburelis) Date: Fri, 6 Apr 2018 19:41:56 +0200 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: 2018-04-06 18:49 GMT+02:00 GPU Group : > related: SF float32 vs double64: would all double be simpler on x3d specs, > and internally, up to opengl interface? > The OpenGL (and GPUs, internally) perform calculations using the precision indicated in their shader code. Which is usually float (32-bit) or half-float (16-bit floating point type, not natively available on CPUs), and very seldom double (64-bit). And you should not use double in shader code, unless you really have a good reason for this (i.e. you have tested that this particular calculation is too unprecise otherwise). It matters for performance in my experience, you can degrade the speed of your calculations noticeably by carelessly using more precision than necessary. I actually made a bug around this once, causing any shape with bump mapping in Castle Game Engine to kill the speed of rendering :) And that was on desktop. And you should not send a list of double values when you can instead send a list of floats. The list of doubles will have 2x size, and it matters for a long list. Which is esp. important if we would also make all vectors use double-precision, to be consistent with scalars. That is why it's a reasonable optimization to even send your mesh coordinates as 16-bit integers, when possible (Unity3d can compress meshes like this, and it makes a significant speedup on Android). Some applications for the same reason convert floats to half-floats on CPU (half-float is not supported natively, but there are libraries to work with it). If the mesh is static and large, it's better to run a preprocessing step and deliver it as a list of half-floats, not floats, to GPU. See also https://www.khronos.org/opengl/wiki/Data_Type_(GLSL) and https://en.wikibooks.org/wiki/GLSL_Programming/Vector_and_Matrix_Operations#Precision_Qualifiers . So, in my experience forcing "double" everywhere would be a bad idea for performance on GPU... Esp. since the float precision is enough for most cases. And as for CPU calculations: For a long time, I had a switchable (by a compiler directive) implementation of many collision routines in Castle Game Engine (CastleVectors and CastleTriangles units). You could calculate everything using double, if you needed. And my measurements consistently shown that it causes a big performance drop, and it's also not necessary for a majority of the code. Most of the "switchable" feature was even removed around the CGE 6.4 (it was complicating code for no gain). Of course you can still double for some calculations, and we have double-precision vectors in CGE, but they are only used when it's really necessary. I think there occurred only 2 such occasions in a large engine :) So, in my experience, even on CPU: we benefit, noticeably, from using floats vs doubles. Regards, Michalis From yottzumm at gmail.com Fri Apr 6 11:25:26 2018 From: yottzumm at gmail.com (John Carlson) Date: Fri, 06 Apr 2018 18:25:26 +0000 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: I think type conversion should be implicit, or with a warning. Would this satisfy the requirement? John On Fri, Apr 6, 2018, 1:42 PM Andreas Plesch wrote: > I did not really expect a lot of enthusiasm but thought it might be worth > a discussion. So let me try. > > On Fri, Apr 6, 2018 at 1:02 PM, Michalis Kamburelis < > michalis.kambi at gmail.com> wrote: > >> "2018-04-06 17:22 GMT+02:00 Andreas Plesch : >> > Here is a somewhat radical idea to simplify X3D a bit. Since x3dom is >> > javascript it does not really distinguish between SFInt32 and SFFloat, >> and >> > lives pretty well with it. So why not consider completely removing the >> > SF/MFInt32 from the spec. in general ? >> > >> > The integer fields are used in not very many nodes: Switch, >> > IntegerSequencer, LOD (level_changed) come to mind. A replacement with >> > SFFloat would mean adding rounding or truncation to nearest integer in >> the >> > spec. language but probably not more than that. >> > >> > The advantages are that it is an opportunity to make the spec. leaner, >> and >> > help with some node communication issues. >> > >> > The disadvantages are that it would be a backwards incompatible change, >> and >> > may have a minor performance impact. >> > >> >> This is a limitation of JavaScript (there are no separate "integer" or >> "float" types, just "number"), but all other programming languages >> have separate integer / float types. So I would a bit reluctant to do >> this... >> >> Equating "SFFloat == SFInt32" would mean we have less strict typing >> when it comes to checking ROUTE connections. All SFFloat fields/events >> could be then connected with SFInt32. E.g. in my opinion it is good >> that right now you are forced to animate "Switch.whichChoice" with >> "IntegerSequencer", and you cannot do it with "ScalarInterpolator". >> And it allows X3D specification to avoid making some general rules >> whether we round (with round(0.75)=1.0), or truncate (ceil). >> > > I am not sure if X3D should be considered a programming language although > it is probably Turing complete. Its declarative nature and its abstracted > foundation serve to strike a balance between ease of use and full > programmability. So I think there may be room for simplification. > > You are right that the loss of some strictness in type checking would be > probably the main drawback/impact. > > The rule on how to convert to an index would be just a decision. > Alternatively, indices could still be required to be round numbers. > Otherwise, the value would be undefined. The strict type checking is a > doubly edged sword. It encourages more precision on the input and therefore > presumably more correctness but then requires more nodes and fields to > enable that precision. For example, I would like to route a level_changed > SFInt32 value to a SFFloat key field of a BooleanSequencer. Now I need a > type converter and since there is not one, I have to have a type converter > script just to satisfy type correctness. > > >> More importantly, what happens with MFInt32? If it's now MFFloat, then >> we get a performance hit when reading a long list of coordinates (like >> IndexedFaceSet.coordIndex), because now we have to call round() on >> every list item. >> > > I believe this would be a one time operation during loading which would be > barely noticeable on a modern system, even for large IFSs. The parsing of > the string to a number in the first place likely takes much longer. > > >> Regards, >> Michalis >> > > -- > Andreas Plesch > Waltham, MA 02453 > _______________________________________________ > 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: From michalis.kambi at gmail.com Fri Apr 6 11:28:28 2018 From: michalis.kambi at gmail.com (Michalis Kamburelis) Date: Fri, 6 Apr 2018 20:28:28 +0200 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: 2018-04-06 19:41 GMT+02:00 Andreas Plesch : >> This is a limitation of JavaScript (there are no separate "integer" or >> "float" types, just "number"), but all other programming languages >> have separate integer / float types. So I would a bit reluctant to do >> this... >> >> Equating "SFFloat == SFInt32" would mean we have less strict typing >> when it comes to checking ROUTE connections. All SFFloat fields/events >> could be then connected with SFInt32. E.g. in my opinion it is good >> that right now you are forced to animate "Switch.whichChoice" with >> "IntegerSequencer", and you cannot do it with "ScalarInterpolator". >> And it allows X3D specification to avoid making some general rules >> whether we round (with round(0.75)=1.0), or truncate (ceil). > > > I am not sure if X3D should be considered a programming language although it > is probably Turing complete. Its declarative nature and its abstracted > foundation serve to strike a balance between ease of use and full > programmability. So I think there may be room for simplification. > > You are right that the loss of some strictness in type checking would be > probably the main drawback/impact. > > The rule on how to convert to an index would be just a decision. > Alternatively, indices could still be required to be round numbers. > Otherwise, the value would be undefined. The strict type checking is a > doubly edged sword. It encourages more precision on the input and therefore > presumably more correctness but then requires more nodes and fields to > enable that precision. For example, I would like to route a level_changed > SFInt32 value to a SFFloat key field of a BooleanSequencer. Now I need a > type converter and since there is not one, I have to have a type converter > script just to satisfy type correctness. Hm, I do agree that "type strictness" of X3D is not the main argument here. You are right, I can see that sometimes you could even benefit from easily passing float to/from int, while now you need to put nodes in-between. Note that InstantReality has an extension http://doc.instantreality.org/documentation/nodetype/Converter/ . > >> >> More importantly, what happens with MFInt32? If it's now MFFloat, then >> we get a performance hit when reading a long list of coordinates (like >> IndexedFaceSet.coordIndex), because now we have to call round() on >> every list item. > > > I believe this would be a one time operation during loading which would be > barely noticeable on a modern system, even for large IFSs. The parsing of > the string to a number in the first place likely takes much longer. > 1. The parsing is indeed a problem for performance, and it probably costs more than "rounding a float". But to make this rounding happen early (at parsing or at glTF->X3D conversion) you need a way to mark the field "this is MFInt32". Otherwise, you will need to introduce a new field marked "this is MFFloat, but round it to integers at loading". Or make "IndexedFaceSet.coordIndex" a special case. We want to eliminate this parsing by using binary mesh formats. Like glTF and ExternalGeometry/Shape. Or (older but already standardized) X3D binary encoding format. But I realize that, for now, most X3D content is parsed from text files (X3D in XML or classic encoding). 2. You can "embed" an X3D renderer, like Castle Game Engine or probably any other X3D renderer, to build or animate X3D graph by code in your own applications. In which case (right now) you can just use integers, from start to finish. If coordIndex would be defined as simple MFFloat, then you would need to provide floats. This is an untypical but important use-case for me. People are building procedurally-generated worlds or games, or machines, using Castle Game Engine. So our API wants to allow defining "IndexedFaceSet.coordIndex" efficiently. This use-case is also relevant to X3D used directly: a Script that can send MFFloat value to "IndexedFaceSet.set_coordIndex". Note that this point is relevant even for JavaScript (when used as a scripting or renderer language). JavaScript doesn't have a "real integer" type for scalars, but it has a "real integer" type for lists (Int16Array, Int32Array etc.). There lists are actually stored as native integers, as far as I know. Regards, Michalis From gpugroup at gmail.com Fri Apr 6 11:33:02 2018 From: gpugroup at gmail.com (GPU Group) Date: Fri, 6 Apr 2018 12:33:02 -0600 Subject: [x3d-public] Distributed Interactive Simulation Component Message-ID: http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/dis.html Q1. should DIS be dropped from future specs Q2. is there a more web3d-like way to do something like it? -Doug I can see why this isn't widely implemented. x half-baked - looks like student papers - just a prototype or proof of concept x only one implents it -xj3d-, and I have yet to see it run with DIS nodes (it whitescreens on me when run from x3d-edit), so difficult to reverse engineer fuzzy concepts x the flavor of some nodes like radio transmitter, receiver, signal seems too specific/high level compared to the rest of web3d which is more about general capabilites that can be combined flexibly in many permutations x the DIS specs are very 1990s like x DIS specs are big But it also seems to fill some gaps versus EAI: * node level synchronization (versus EAI access via rootnode > tree) **- so easier to bury inside proto bodies * wireline protocol ** so compatible among any browsers or utilities that implement the protocol * no server -peer-to-peer, nothing bad happens if peers join or leave And it has problems: - using broadcast udp means no ACK / resend if packet lost - better at regular / heartbeat updates -- if one is dropped, just wait a few seconds -- if peer joins late, just wait a few seconds x, poor at one-time state intializations / transfers xx if packet lost, DIS spec full of bandaids for this issue xx if peer joins late, awkward -------------- next part -------------- An HTML attachment was scrubbed... URL: From michalis.kambi at gmail.com Fri Apr 6 11:36:08 2018 From: michalis.kambi at gmail.com (Michalis Kamburelis) Date: Fri, 6 Apr 2018 20:36:08 +0200 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: 2018-04-06 19:14 GMT+02:00 Andreas Plesch : > That came to mind as well, since js numbers are doubles. May be it is time > to trade less efficient use of resources for simplicity and convenience ? Note that JavaScript *has* native 32-bit floats when it comes to lists: Float32Array . And I bet that Float32Array is used in X3DOM internally for rendering :) WebGL API (bufferData), and three.js on top of it, use Float32Array for their data. Regards, Michalis From andreasplesch at gmail.com Fri Apr 6 12:06:25 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Fri, 6 Apr 2018 15:06:25 -0400 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: Yes, you are right, of course. Float32Arrays are used in x3dom to pass data to webgl. BTW, x3dom does not use three.js, I believe mostly for historical reasons. On the other hand, GPU Group specifically drew the boundary for unified number use before the GPU, eg. limited to CPU. Games may be the most performance sensitive area for X3D, and mobile. Another way to think about this, is to consider if it is feasible to not have SFDouble in X3D. They are rarely used and the GPU does not really support them. Doubles would be really useful for the geospatial component since you want cm resolution on a global scale but due to the GPU restriction it is necessary anyways to introduce a special local origin (geoOrigin). Then if there are no doubles, then there may be only a SFRealNumber type and it could be left to the discretion of the browser to use floats or doubles for the work. -Andreas On Fri, Apr 6, 2018 at 2:36 PM, Michalis Kamburelis < michalis.kambi at gmail.com> wrote: > 2018-04-06 19:14 GMT+02:00 Andreas Plesch : > > That came to mind as well, since js numbers are doubles. May be it is > time > > to trade less efficient use of resources for simplicity and convenience ? > > Note that JavaScript *has* native 32-bit floats when it comes to > lists: Float32Array . And I bet that Float32Array is used in X3DOM > internally for rendering :) WebGL API (bufferData), and three.js on > top of it, use Float32Array for their data. > > Regards, > Michalis > -- Andreas Plesch Waltham, MA 02453 -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreasplesch at gmail.com Fri Apr 6 13:00:04 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Fri, 6 Apr 2018 16:00:04 -0400 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: Thanks for thinking this through more thoroughly, starting from a rather vague idea. On Fri, Apr 6, 2018 at 2:28 PM, Michalis Kamburelis wrote: > > 2018-04-06 19:41 GMT+02:00 Andreas Plesch : > ... > Hm, I do agree that "type strictness" of X3D is not the main argument > here. You are right, I can see that sometimes you could even benefit > from easily passing float to/from int, while now you need to put nodes > in-between. > > Note that InstantReality has an extension > http://doc.instantreality.org/documentation/nodetype/Converter/ . > > > > >> > >> More importantly, what happens with MFInt32? If it's now MFFloat, then > >> we get a performance hit when reading a long list of coordinates (like > >> IndexedFaceSet.coordIndex), because now we have to call round() on > >> every list item. > > > > > > I believe this would be a one time operation during loading which would be > > barely noticeable on a modern system, even for large IFSs. The parsing of > > the string to a number in the first place likely takes much longer. > > > > 1. The parsing is indeed a problem for performance, and it probably > costs more than "rounding a float". But to make this rounding happen > early (at parsing or at glTF->X3D conversion) you need a way to mark > the field "this is MFInt32". Otherwise, you will need to introduce a > new field marked "this is MFFloat, but round it to integers at > loading". Or make "IndexedFaceSet.coordIndex" a special case. Yes, it would be in effect a special or marked case, eg. the type conversion happens implicitly. For x3dom, actually no change would be necessary as long as the provided floats are round numbers. > > We want to eliminate this parsing by using binary mesh formats. Like > glTF and ExternalGeometry/Shape. Or (older but already standardized) > X3D binary encoding format. But I realize that, for now, most X3D > content is parsed from text files (X3D in XML or classic encoding). > > > 2. You can "embed" an X3D renderer, like Castle Game Engine or > probably any other X3D renderer, to build or animate X3D graph by code > in your own applications. In which case (right now) you can just use > integers, from start to finish. If coordIndex would be defined as > simple MFFloat, then you would need to provide floats. > > This is an untypical but important use-case for me. People are > building procedurally-generated worlds or games, or machines, using > Castle Game Engine. So our API wants to allow defining > "IndexedFaceSet.coordIndex" efficiently. Ok, this is a good point. On the other hand an X3D engine still could accept integer type numbers and internally treat them as integers from start to finish for these float fields. Think a generic SFNumber field. > This use-case is also relevant to X3D used directly: a Script that > can send MFFloat value to "IndexedFaceSet.set_coordIndex". This is actually what effectively needs to happen now in X3D scripts which are written in js. > Note that this point is relevant even for JavaScript (when used as a > scripting or renderer language). JavaScript doesn't have a "real > integer" type for scalars, but it has a "real integer" type for lists > (Int16Array, Int32Array etc.). There lists are actually stored as > native integers, as far as I know. Yes, the TypedArrays are for efficient use of native types. x3dom does not actually use the TypedArrays for MF fields, I believe, until they are submitted to webgl. Not really sure why not since mostly you can treat TypedArrays as regular arrays in js. Perhaps TypedArrays were experimental when x3dom got started. -Andreas -- Andreas Plesch Waltham, MA 02453 From yottzumm at gmail.com Fri Apr 6 13:08:45 2018 From: yottzumm at gmail.com (John Carlson) Date: Fri, 6 Apr 2018 16:08:45 -0400 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: Message-ID: <5ac7d3cc.0229ed0a.19e1.cbf9@mx.google.com> I think x3dom wants to support getAttribute/setAttribute for MF fields in general, but I?m not sure we want that for X3D JSON, hence I use getFieldValue/setFieldValue unless they don?t exist on an element, then I fallback to the attribute methods in X3DJSONLD. John Sent from Mail for Windows 10 From: Andreas Plesch Sent: Friday, April 6, 2018 4:01 PM To: Michalis Kamburelis Cc: X3D Graphics public mailing list Subject: Re: [x3d-public] remove SF/MFInt32 ? Thanks for thinking this through more thoroughly, starting from a rather vague idea. On Fri, Apr 6, 2018 at 2:28 PM, Michalis Kamburelis wrote: > > 2018-04-06 19:41 GMT+02:00 Andreas Plesch : > ... > Hm, I do agree that "type strictness" of X3D is not the main argument > here. You are right, I can see that sometimes you could even benefit > from easily passing float to/from int, while now you need to put nodes > in-between. > > Note that InstantReality has an extension > http://doc.instantreality.org/documentation/nodetype/Converter/ . > > > > >> > >> More importantly, what happens with MFInt32? If it's now MFFloat, then > >> we get a performance hit when reading a long list of coordinates (like > >> IndexedFaceSet.coordIndex), because now we have to call round() on > >> every list item. > > > > > > I believe this would be a one time operation during loading which would be > > barely noticeable on a modern system, even for large IFSs. The parsing of > > the string to a number in the first place likely takes much longer. > > > > 1. The parsing is indeed a problem for performance, and it probably > costs more than "rounding a float". But to make this rounding happen > early (at parsing or at glTF->X3D conversion) you need a way to mark > the field "this is MFInt32". Otherwise, you will need to introduce a > new field marked "this is MFFloat, but round it to integers at > loading". Or make "IndexedFaceSet.coordIndex" a special case. Yes, it would be in effect a special or marked case, eg. the type conversion happens implicitly. For x3dom, actually no change would be necessary as long as the provided floats are round numbers. > > We want to eliminate this parsing by using binary mesh formats. Like > glTF and ExternalGeometry/Shape. Or (older but already standardized) > X3D binary encoding format. But I realize that, for now, most X3D > content is parsed from text files (X3D in XML or classic encoding). > > > 2. You can "embed" an X3D renderer, like Castle Game Engine or > probably any other X3D renderer, to build or animate X3D graph by code > in your own applications. In which case (right now) you can just use > integers, from start to finish. If coordIndex would be defined as > simple MFFloat, then you would need to provide floats. > > This is an untypical but important use-case for me. People are > building procedurally-generated worlds or games, or machines, using > Castle Game Engine. So our API wants to allow defining > "IndexedFaceSet.coordIndex" efficiently. Ok, this is a good point. On the other hand an X3D engine still could accept integer type numbers and internally treat them as integers from start to finish for these float fields. Think a generic SFNumber field. > This use-case is also relevant to X3D used directly: a Script that > can send MFFloat value to "IndexedFaceSet.set_coordIndex". This is actually what effectively needs to happen now in X3D scripts which are written in js. > Note that this point is relevant even for JavaScript (when used as a > scripting or renderer language). JavaScript doesn't have a "real > integer" type for scalars, but it has a "real integer" type for lists > (Int16Array, Int32Array etc.). There lists are actually stored as > native integers, as far as I know. Yes, the TypedArrays are for efficient use of native types. x3dom does not actually use the TypedArrays for MF fields, I believe, until they are submitted to webgl. Not really sure why not since mostly you can treat TypedArrays as regular arrays in js. Perhaps TypedArrays were experimental when x3dom got started. -Andreas -- Andreas Plesch Waltham, MA 02453 _______________________________________________ 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: From brutzman at nps.edu Fri Apr 6 15:48:19 2018 From: brutzman at nps.edu (Don Brutzman) Date: Fri, 6 Apr 2018 15:48:19 -0700 Subject: [x3d-public] Distributed Interactive Simulation Component In-Reply-To: References: Message-ID: <4e13ff74-4fa9-4e10-df46-f42c467661ad@nps.edu> Thanks for your interest and scrutiny Doug. Backgrounders: IEEE Distributed Interactive Simulation (DIS) protocol is a long-running networking standard used by many DoD systems for creating shared virtual environments, Live Virtual Constructive (LVC) hybrid simulations/exercises, etc. https://en.wikipedia.org/wiki/Distributed_Interactive_Simulation As it turns out, NPS has an extensive body of active effort in this arena. We expect to be able to tackle this with partners sometime after Soft Launch this summer. Current course work is testing and improving a number of Web-based examples using the OpenDIS library. Integration with X3D is relatively easy. We have a DIS-networked EspduTransform node which can be the scene-graph parent of any moving entity. X3D-Edit has pretty good support including sender-receiver-tester-recorder-player tools. It works, we ran it many times in class last quarter, tested with WireShark, etc. etc. Further references for people who want to read ahead: a. IITSEC 2017 slideset, DIS 101 https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/raw/master/presentations/IITSEC2018_DIS_Tutorial.pptx b. X3D and Distributed Interactive Simulation (DIS) http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/DistributedInteractiveSimulation.pdf c. X3D v3.3 Distributed interactive simulation (DIS) component http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/dis.html d. IEEE Standards Maintained by SISO SAC https://www.sisostds.org/ProductsPublications/Standards/IEEEStandards.aspx The protocol is quite mature, evolving since early 1990s. Multiple commercial players. Our team is "getting back up on the horse" and gradually rejuvenating the OpenDIS implementation. It has code generators for API binding in multiple programming languages (Java JavaScript C++ C# others). We are working through examples and fixing them in a pair of courses, 3-months into a 12-month cycle. Initial bindings existed in X3DOM at some point, not sure of their current status. You are asking good questions, n.b. that good answers exist too. Too bad others didn't follow through "back in the day" but certainly happy that you are pursuing this. IMO it has huge potential value, especially as we make progress on using Javascript inside HTML to bridge to web services or other connections rather than UDP multicast. I expect that sometime after Web3D 2018 Conference we will have our internal work ready for broader sharing. Can you wait until then? We will be keen to help and test together - sounds like a great student team project actually. Topmost priorities right now include HAnim spec and Motion node, other OpenDIS work is slowly progressing and will help. Step by step, again thanks... v/r Don On 4/6/2018 11:33 AM, GPU Group wrote: > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/dis.html > Q1. should DIS be dropped from future specs > Q2. is there a more web3d-like way to do something like it? > -Doug > > > I can see why this isn't widely implemented. > x half-baked - looks like student papers - just a prototype or proof of concept > x only one implents it -xj3d-, and I have yet to see it run with DIS nodes (it whitescreens on me when run from x3d-edit), so difficult to reverse engineer fuzzy concepts > x the flavor of some nodes like radio transmitter, receiver, signal seems too specific/high level compared to the rest of web3d which is more about general capabilites that can be combined flexibly in many permutations > x the DIS specs are very 1990s like > x DIS specs are big > > But it also seems to fill some gaps versus EAI: > * node level synchronization (versus EAI access via rootnode > tree) > **- so easier to bury inside proto bodies > * wireline protocol > ** so compatible among any browsers or utilities that implement the protocol > * no server -peer-to-peer, nothing bad happens if peers join or leave > > And it has problems: > - using broadcast udp means no ACK / resend if packet lost > - better at regular / heartbeat updates > -- if one is dropped, just wait a few seconds > -- if peer joins late, just wait a few seconds > x, poor at one-time state intializations / transfers > xx if packet lost, DIS spec full of bandaids for this issue > xx if peer joins late, awkward > _______________________________________________ > x3d-public mailing list > x3d-public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org 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 http://faculty.nps.edu/brutzman From andreasplesch at gmail.com Fri Apr 6 17:11:52 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Fri, 6 Apr 2018 20:11:52 -0400 Subject: [x3d-public] LOD first level_changed event Message-ID: LOD has an outputOnly level_changed field which indicates the level index of a child when it is activated. Should the level_changed event be generated the very first time the LOD activates any of its children ? It looks like it should and the spec. does not treat the initialization as a special case: When L(d) is activated for display, the LOD node generates a level_changed event with value i where the value of i identifies which value of L was activated for display. On the other hand, the first display may not be considered a change from a previous display. But it is a change from no display, and generally logic using the event should work for the initial case as well. So I think the answer is yes but thought it is worth raising the question before the field is added to x3dom. Perhaps it is time to put together a simple test using an existing LOD example by adding a route from level_changed to a switch node to see if it gets an initial value. Any feedback welcome, -Andreas -- Andreas Plesch Waltham, MA 02453 From andreasplesch at gmail.com Fri Apr 6 18:21:40 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Fri, 6 Apr 2018 21:21:40 -0400 Subject: [x3d-public] LOD first level_changed event In-Reply-To: References: Message-ID: https://x3d-lodlevel-test.glitch.me/LODwithDifferentShapes.x3d tests if an initial level_changed event is generated. If it is, 'Choice 0' is displayed on front of the red cube, at first display. If not, no text is displayed. x marks the browser which show the text: x3dom: x Instant Player: x H3DViewer: x View3dScene: x Octaga BS Contact FreeWrl X-ITE FreeWrl and X-ITE do not show text even after initialisation and changing LOD levels. So they may not support level_changed. Apparently there are differences in spec. interpretation. -Andreas On Fri, Apr 6, 2018 at 8:11 PM, Andreas Plesch wrote: > LOD has an outputOnly level_changed field which indicates the level > index of a child when it is activated. > > Should the level_changed event be generated the very first time the > LOD activates any of its children ? > > It looks like it should and the spec. does not treat the > initialization as a special case: When L(d) is activated for display, > the LOD node generates a level_changed event with value i where the > value of i identifies which value of L was activated for display. > > On the other hand, the first display may not be considered a change > from a previous display. But it is a change from no display, and > generally logic using the event should work for the initial case as > well. > > So I think the answer is yes but thought it is worth raising the > question before the field is added to x3dom. > > Perhaps it is time to put together a simple test using an existing LOD > example by adding a route from level_changed to a switch node to see > if it gets an initial value. > > Any feedback welcome, > > -Andreas > > -- > Andreas Plesch > Waltham, MA 02453 -- Andreas Plesch Waltham, MA 02453 From michalis.kambi at gmail.com Fri Apr 6 18:21:38 2018 From: michalis.kambi at gmail.com (Michalis Kamburelis) Date: Sat, 7 Apr 2018 03:21:38 +0200 Subject: [x3d-public] LOD first level_changed event In-Reply-To: References: Message-ID: 2018-04-07 2:11 GMT+02:00 Andreas Plesch : > LOD has an outputOnly level_changed field which indicates the level > index of a child when it is activated. > > Should the level_changed event be generated the very first time the > LOD activates any of its children ? > > It looks like it should and the spec. does not treat the > initialization as a special case: When L(d) is activated for display, > the LOD node generates a level_changed event with value i where the > value of i identifies which value of L was activated for display. > Castle Game Engine and view3dscene do generate level_changed on 1st display. When implementing, I thought that it is sensible: the display changes from "nothing" to "that child node", so I was thinking just as you :) But I have not tested other X3D browsers about this. A confirmation would be welcome. Maybe my old LOD testcase may be adapted? https://github.com/castle-engine/demo-models/blob/master/navigation/lod_test.x3dv . Though it uses Logger node (an extension only in InstantReality / CGE) for watching level_changed. Regards, Michalis From andreasplesch at gmail.com Sat Apr 7 06:14:56 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Sat, 7 Apr 2018 09:14:56 -0400 Subject: [x3d-public] LOD first level_changed event In-Reply-To: References: Message-ID: On Fri, Apr 6, 2018 at 9:21 PM, Andreas Plesch wrote: > https://x3d-lodlevel-test.glitch.me/LODwithDifferentShapes.x3d > > tests if an initial level_changed event is generated. If it is, > 'Choice 0' is displayed on front of the red cube, at first display. If > not, no text is displayed. > > x marks the browser which show the text: > > x3dom: x > Instant Player: x > H3DViewer: x > View3dScene: x > > Octaga > BS Contact > > FreeWrl > X-ITE > > > FreeWrl and X-ITE do not show text even after initialisation and > changing LOD levels. So they may not support level_changed. > > Apparently there are differences in spec. interpretation. So this suggests that there is a need to tighten the spec. language. I would be in favor of generating the first time event. The relevant sentence is: ' When L(d) is activated for display, the LOD node generates a level_changed event with value i where the value of i identifies which value of L was activated for display.' Would add 'including the first time' suffice ? ' When L(d) is activated for display including the first time, the LOD node generates a level_changed event with value i where the value of i identifies which value of L was activated for display.' If there is no immediate objection I can add a standard comment via web3d.org . -Andreas > > > > On Fri, Apr 6, 2018 at 8:11 PM, Andreas Plesch wrote: >> LOD has an outputOnly level_changed field which indicates the level >> index of a child when it is activated. >> >> Should the level_changed event be generated the very first time the >> LOD activates any of its children ? >> >> It looks like it should and the spec. does not treat the >> initialization as a special case: When L(d) is activated for display, >> the LOD node generates a level_changed event with value i where the >> value of i identifies which value of L was activated for display. >> >> On the other hand, the first display may not be considered a change >> from a previous display. But it is a change from no display, and >> generally logic using the event should work for the initial case as >> well. >> >> So I think the answer is yes but thought it is worth raising the >> question before the field is added to x3dom. >> >> Perhaps it is time to put together a simple test using an existing LOD >> example by adding a route from level_changed to a switch node to see >> if it gets an initial value. >> >> Any feedback welcome, >> >> -Andreas >> >> -- >> Andreas Plesch >> Waltham, MA 02453 > > > > -- > Andreas Plesch > Waltham, MA 02453 -- Andreas Plesch Waltham, MA 02453 From gpugroup at gmail.com Sat Apr 7 06:55:01 2018 From: gpugroup at gmail.com (GPU Group) Date: Sat, 7 Apr 2018 07:55:01 -0600 Subject: [x3d-public] LOD first level_changed event In-Reply-To: References: Message-ID: > FreeWrl ... do not show text even after initialisation and > changing LOD levels. So they may not support level_changed. freewrl had a bug, fixed for next release, shows Choice 0 over box on startup. -Doug On Fri, Apr 6, 2018 at 7:21 PM, Michalis Kamburelis < michalis.kambi at gmail.com> wrote: > 2018-04-07 2:11 GMT+02:00 Andreas Plesch : > > LOD has an outputOnly level_changed field which indicates the level > > index of a child when it is activated. > > > > Should the level_changed event be generated the very first time the > > LOD activates any of its children ? > > > > It looks like it should and the spec. does not treat the > > initialization as a special case: When L(d) is activated for display, > > the LOD node generates a level_changed event with value i where the > > value of i identifies which value of L was activated for display. > > > > Castle Game Engine and view3dscene do generate level_changed on 1st > display. When implementing, I thought that it is sensible: the display > changes from "nothing" to "that child node", so I was thinking just as > you :) > > But I have not tested other X3D browsers about this. A confirmation > would be welcome. Maybe my old LOD testcase may be adapted? > https://github.com/castle-engine/demo-models/blob/ > master/navigation/lod_test.x3dv > . Though it uses Logger node (an extension only in InstantReality / > CGE) for watching level_changed. > > Regards, > Michalis > > _______________________________________________ > 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: From gpugroup at gmail.com Sat Apr 7 07:36:06 2018 From: gpugroup at gmail.com (GPU Group) Date: Sat, 7 Apr 2018 08:36:06 -0600 Subject: [x3d-public] Distributed Interactive Simulation Component In-Reply-To: <4e13ff74-4fa9-4e10-df46-f42c467661ad@nps.edu> References: <4e13ff74-4fa9-4e10-df46-f42c467661ad@nps.edu> Message-ID: Thanks for the Background on DIS and links, I missed a few. > Can you wait until then? (I had hoped to reach v3.3 FULL_PROFILE to prove it can be done, not illusive goal -just 6 DIS nodes away from full profile- but ..) Yes, or maybe I can go just a little further and prepare a few more questions / complaints / notes as seen from non-DIS-expert trying to implement, to share with your class. And yes would be great to work with your students on it if I'm available at the time. The great thing about DIS it should work with any tool that can join the exercise. I'll prepare a .msi installer in the next few weeks. Or if any of your students can stomach C they are very welcome to try hacking freewrl. -Doug PS I do have the simple transform part of espdu working in scenes like http://dug9.users.sourceforge.net/web3d/tests/DIS/EspduTransformSenderReceiver.x3d (which white-screens for me in x3d-edit embedded xj3d in win10 and Ubuntu) and tested wtih x3d-edit sender panel and used the xmlpg to do a CGenerator.java to generate a flat-C .h/.c used in freewrl x haven't done dead reckoning, geoCoords, collision, fire, detonation, create/remove, manager or radio, (in large part because of personal confusion about how its supposed to work -never seen professional DIS simm- and no DIS-working xj3d to test hypotheses^ against, lack of specific examples for collision, fire, detonation, manager.) ... ^Hypotheses how geoCoords work for DIS nodes: like GeoLocation, Scene .LCS (local coordinate system as described in precision section of geospatial: shared cartesian) ..(dis node with geoCoords) ... TCS - topocentric coordinate system aka LGS local geodetic system as described in GeoLocation .... Transform part of espdu ..... children in entity coords On Send from isWriter/owner, the translation and rotation are combined with TCS translation and rotation, converted to GC and sent as GC On Receive, GC converted to TCS, TCS to LCS transform is updated, and translation, rotation part of Transform is set to default 000 0100 Hypothesis for how Manager node works: - its an isReader, there's no simulation manager in web3d specs, no way to generate create/remove events - when espdu gets create/remove pdus, it does nothing with them, and the scene needs to route/forward them to the Manager for creating/removing espdus On Fri, Apr 6, 2018 at 4:48 PM, Don Brutzman wrote: > Thanks for your interest and scrutiny Doug. > > Backgrounders: > > IEEE Distributed Interactive Simulation (DIS) protocol is a long-running > networking standard used by many DoD systems for creating shared virtual > environments, Live Virtual Constructive (LVC) hybrid simulations/exercises, > etc. > > https://en.wikipedia.org/wiki/Distributed_Interactive_Simulation > > As it turns out, NPS has an extensive body of active effort in this > arena. We expect to be able to tackle this with partners sometime after > Soft Launch this summer. Current course work is testing and improving a > number of Web-based examples using the OpenDIS library. > > Integration with X3D is relatively easy. We have a DIS-networked > EspduTransform node which can be the scene-graph parent of any moving > entity. > > X3D-Edit has pretty good support including sender-receiver-tester-recorder-player > tools. It works, we ran it many times in class last quarter, tested with > WireShark, etc. etc. > > Further references for people who want to read ahead: > > a. IITSEC 2017 slideset, DIS 101 > https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500 > /raw/master/presentations/IITSEC2018_DIS_Tutorial.pptx > > b. X3D and Distributed Interactive Simulation (DIS) > http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/Dis > tributedInteractiveSimulation.pdf > > c. X3D v3.3 Distributed interactive simulation (DIS) component > http://www.web3d.org/documents/specifications/19775-1/V3.3/ > Part01/components/dis.html > d. IEEE Standards Maintained by SISO SAC > https://www.sisostds.org/ProductsPublications/Standards/ > IEEEStandards.aspx > > The protocol is quite mature, evolving since early 1990s. Multiple > commercial players. > > Our team is "getting back up on the horse" and gradually rejuvenating the > OpenDIS implementation. It has code generators for API binding in multiple > programming languages (Java JavaScript C++ C# others). We are working > through examples and fixing them in a pair of courses, 3-months into a > 12-month cycle. Initial bindings existed in X3DOM at some point, not sure > of their current status. > > You are asking good questions, n.b. that good answers exist too. Too bad > others didn't follow through "back in the day" but certainly happy that you > are pursuing this. IMO it has huge potential value, especially as we make > progress on using Javascript inside HTML to bridge to web services or other > connections rather than UDP multicast. > > I expect that sometime after Web3D 2018 Conference we will have our > internal work ready for broader sharing. Can you wait until then? We will > be keen to help and test together - sounds like a great student team > project actually. Topmost priorities right now include HAnim spec and > Motion node, other OpenDIS work is slowly progressing and will help. > > Step by step, again thanks... > > v/r Don > > > On 4/6/2018 11:33 AM, GPU Group wrote: > >> http://www.web3d.org/documents/specifications/19775-1/V3.3/ >> Part01/components/dis.html >> Q1. should DIS be dropped from future specs >> Q2. is there a more web3d-like way to do something like it? >> -Doug >> >> >> I can see why this isn't widely implemented. >> x half-baked - looks like student papers - just a prototype or proof of >> concept >> x only one implents it -xj3d-, and I have yet to see it run with DIS >> nodes (it whitescreens on me when run from x3d-edit), so difficult to >> reverse engineer fuzzy concepts >> x the flavor of some nodes like radio transmitter, receiver, signal seems >> too specific/high level compared to the rest of web3d which is more about >> general capabilites that can be combined flexibly in many permutations >> x the DIS specs are very 1990s like >> x DIS specs are big >> >> But it also seems to fill some gaps versus EAI: >> * node level synchronization (versus EAI access via rootnode > tree) >> **- so easier to bury inside proto bodies >> * wireline protocol >> ** so compatible among any browsers or utilities that implement the >> protocol >> * no server -peer-to-peer, nothing bad happens if peers join or leave >> >> And it has problems: >> - using broadcast udp means no ACK / resend if packet lost >> - better at regular / heartbeat updates >> -- if one is dropped, just wait a few seconds >> -- if peer joins late, just wait a few seconds >> x, poor at one-time state intializations / transfers >> xx if packet lost, DIS spec full of bandaids for this issue >> xx if peer joins late, awkward >> > > _______________________________________________ >> x3d-public mailing list >> x3d-public at web3d.org >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org >> > > 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 http://faculty.nps.edu/brutzma > n > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreasplesch at gmail.com Sat Apr 7 12:42:31 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Sat, 7 Apr 2018 15:42:31 -0400 Subject: [x3d-public] LOD first level_changed event Message-ID: > Date: Sat, 7 Apr 2018 07:55:01 -0600 > From: GPU Group > To: X3D Graphics public mailing list > Subject: Re: [x3d-public] LOD first level_changed event >> FreeWrl ... do not show text even after initialisation and >> changing LOD levels. So they may not support level_changed. > freewrl had a bug, fixed for next release, shows Choice 0 over box on > startup. Ok, very good. I also filed an issue for x_ite here: https://github.com/create3000/x_ite/issues/11 -Andreas From brutzman at nps.edu Sun Apr 8 15:59:03 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 8 Apr 2018 15:59:03 -0700 Subject: [x3d-public] [x3dom-users] X3DOM not loading this file? In-Reply-To: <5ac302f5.b324ed0a.e3a39.d0e9@mx.google.com> References: <5ac302f5.b324ed0a.e3a39.d0e9@mx.google.com> Message-ID: <753db28c-c829-6ceb-db86-2600a152bc58@nps.edu> I tried sending it to X3D Validator via url https://savage.nps.edu/X3dValidator?url=http://coderextreme.net/X3DJSONLD/src/main/data/ifs.x3d but it didn't eventually return. Scene is fairly large (2.8 MB) so testing will be easier on a smaller excerpt; perhaps include same number of values but only use 1-2 places beyond decimal point for file reduction.. I also ran X3D Validator in Netbeans using X3D-Edit and got the following: --------- Commence validation checks for ifs.x3d --------- Performing well-formed XML check... Checking file:/C:/installs/ifs.x3d... Well-formed XML check: pass Performing DOCTYPE check... [X3dDoctypeChecker] success: valid XML declaration found; success: final X3D 3.3 DOCTYPE found. Performing DTD validation... Checking file:/C:/installs/ifs.x3d... XML DTD validation: pass Performing X3D schema validation... Checking file:/C:/installs/ifs.x3d... Referenced entity at "nbres:/org/web3d/x3d/externals/schemas/x3d-3.3-Web3dExtensionsPublic.xsd". cvc-pattern-valid: Value '-1.5717495803202972 1.5010459735645993 -0.9984927008286802 -1.579391660072666 1.551492859008854 -0.9864885983744568 -1.57079 0.9724032096291927 -1 -1.5707958351153464 0.9724150552548111 -0.999990834259165 -1.5707917219270615 0.9724303160837228 -0.9999972952141909 -1.570811598646887 [... snip ...] -0.8268688097168273 0.6117797847733457 -2.1685439664849047 -0.8484724749836337 1.031108768482434 -2.134609145120458 -0.8754682244714049 1.2986451920818023 -2.092204491782562 -0.9034445552370282 1.372625773813016 -2.0482595511792283 -0.9271920890568556 1.2403361339622263 -2.0109571625303815 -2.565880204623874 -0.045153193449661636 0.5630777425211346' of attribute 'vector' on element 'Normal' is not valid with respect to its type, 'MFVec3f'. XML schema validation: fail! Performing X3D regular expression (regex) values check... Performing X3dToClassicVrml.xslt conversion check... Performing X3D Schematron check... It is good practice to identify editor used, for example [/X3D/head, info] --------- Validation checks complete for ifs.x3d --------- It looks to me like your normal value is failing the regular-expression check for MFVec3f in X3D Schema. Am noticing that many of your normal values are greater than 1, you likely want to convert all normal vectors to 1.0 unit magnitude (and none with 0.0 magnitude). FYI there was once a regex in place that only allowed such unit-magnitude vectors; I disabled it because many tools do not bother to normalize that content. Perhaps we should have a strict mode in X3D-Tidy for that. For you a good generator meta tag might be something like the following (I'll restore the meta/generator menu in X3D-Edit). On 4/2/2018 9:28 PM, John Carlson wrote: > This file doesn?t load in X3DOM: > > http://coderextreme.net/X3DJSONLD/src/main/html/x3domframe.html > > http://coderextreme.net/X3DJSONLD/src/main/data/ifs.x3d > > Loads in BS Contact and X_ITE fine, but the object is kind of flat.? Not sure why?perhaps it really is flat.? Gotta work on my transforms from JSON -> STL, I guess. A handful of players forgave the normal problem and showed a flat neon-green helicopter pointing straight down. Others did not forgive. Xj3D independently noted the same MFVec3f error. > Sigh, more work! thank goodness 8) > I?m guessing I?m going over the limit on coordinates or Indexes, but there?s no warning???? Did I already report this bug? > > John minimum support levels in X3D specification are pretty high (and there is no maximum): X3D v3.3 Abstract Specification, B Interchange Profile, B.4 Conformance criteria Table B.3 ? Nodes for conforming to the Interchange profile http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/rendering.html#SupportLevels Item X3D File Limit, Minimum Browser Support ======================================================= Color 15,000 colours. 15,000 colours. Coordinate 65,535 points 65,535 points. Normal 15,000 normals 15,000 normals. etc. 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 http://faculty.nps.edu/brutzman From brutzman at nps.edu Sun Apr 8 16:28:12 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 8 Apr 2018 16:28:12 -0700 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: <5ac7d3cc.0229ed0a.19e1.cbf9@mx.google.com> References: <5ac7d3cc.0229ed0a.19e1.cbf9@mx.google.com> Message-ID: <76ede8e9-c92c-e2b2-e560-74a3777b247c@nps.edu> Appreciate the thoughtful inquiry, thanks colleagues. A few more points: a. Hardware. X3D is designed to run across an exceptionally wide range of devices in a performant way. The original scene graph was designed when every single triangle counted, and we have been diligent about maintaining graphics-performance rigor throughout its evolution, so X3D is efficient. Many computing hardware platforms are quite necessarily strict about the handling of integers/floats/doubles based on memory, processing performance, and power consumption. b. Software. X3D is designed to run across an exceptionally wide range of programming and processing environments. Thus if a JavaScript implementation wants to treat all numbers equivalently, or defer typecasting until data gets transferred to hardware, or whatever, that is OK and doesn't impede other implementations. The X3D abstract specification describes functionality of rendering and interaction, not reference software implementations. c. Data or code. X3D is designed to be workable both as a file encoding or as a programming-language binding with functional equivalence. The X3D Unified Object Model work is capitalizing on that... more to follow once we get through HAnim updates, venture into C++/C#/Python programming, etc. etc. d. Disclaimer: I think that typing is incredibly valuable because it reveals errors. Many such errors are otherwise undetectable, so typing is an important aspect of model Quality Assurance (QA). e. Portability of reusable models. So feel free to pursue X3D generation, presentation and interaction using the best implementation approach you want... YMMV. Also know that portability of X3D scenes across all of these other platforms/formats/languages/methodologies can (and typically will) work equivalently when deploying valid X3D model content. Have fun with X3D! 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 http://faculty.nps.edu/brutzman From vmarchetti at kshell.com Mon Apr 9 05:49:41 2018 From: vmarchetti at kshell.com (vmarchetti at kshell.com) Date: Mon, 9 Apr 2018 08:49:41 -0400 Subject: [x3d-public] Agenda for DPS WG call Apr 12 -- MetadataDate proposal Message-ID: <204CFF2E-E070-4F97-B275-82931AEFA090@kshell.com> There will be a Design Printing and Scanning Working Group call Thurs April 12 11:00 AM EDT 15:00 GMT Google Drive Folder for call: https://drive.google.com/open?id=1FM8jeB7-OFyM3dT4-mDN3UTkk-UyklpE 1. Topic: Proposal for a new node: MetadataDate : To implement metadata with value of a calendar date. Mantis Issue 1218: http://www.web3d.org/member-only/mantis/view.php?id=1218 -- there is a text-dump of the comments in the Google Drive folder X3D Mailing list submission: http://web3d.org/mailman/private/x3d_web3d.org/2018-February/006844.html Additional Resources: ISO 8601 date and time format: https://www.iso.org/iso-8601-date-and-time-format.html W3C report: https://www.w3.org/TR/NOTE-datetime Dublin Core Metadata Element Set http://dublincore.org/documents/dces/ -- see Term Name: date ----- Future DPS WG Meetings [from http://web3d.org/mailman/private/cad_web3d.org/2018-April/000927.html ] April 19 : Presentations: NIST Conformance Suite examples archive [DB, VM] ; Tool Review: OpenCascasde, FreeCAD, CADExchanger support for X3D import and export. [VM] April 26 : Mantis Issue 1234 : Proposal to change attribute 'shape' of CADFace to 'children' May 3 : OPEN May 10 : Prepare summary of recent Web3D/X3D activities for SC4 Plenary meeting in China, May 20-25 May 17 : Mantis Issues 983, 528 May 24 : OPEN May 31 : Review collaborative work with JTC1/SG3, Dicom WG-17, and SC4 WG-16 Jun 6 : OPEN Jun 14: OPEN Suggested topics for OPEN dates welcome. -------------- next part -------------- A non-text attachment was scrubbed... Name: Design Printing and Scanning Call.ics Type: text/calendar Size: 951 bytes Desc: not available URL: From richards at spawar.navy.mil Mon Apr 9 13:17:22 2018 From: richards at spawar.navy.mil (John Richardson) Date: Mon, 9 Apr 2018 20:17:22 -0000 Subject: [x3d-public] Distributed Interactive Simulation Component In-Reply-To: <4e13ff74-4fa9-4e10-df46-f42c467661ad@nps.edu> References: <4e13ff74-4fa9-4e10-df46-f42c467661ad@nps.edu> Message-ID: <02a901d3d03f$ce8472a0$6b8d57e0$@spawar.navy.mil> Greetings and Salutations, DIS really cannot be separated from the HLA problem domain. So any SISO documentation on HLA is useful. Also, NASA uses HLA. The SISO proceedings are free and have the current hot topics in DIS/HLA. X3D draws a lot of interest and implementation from the Academic Computer Graphics community. Other communities that are interested - Game Community, VR/AR Community. Communities that try to make money. DIS/HLA draws a lot of interest and implementation from the Academic and industrial Simulation theory community. Other communities that are interested - DoD, MoD, NATO, China, European Space Agency, NASA. Communities that spend money. So, think of it this way. X3D is the anointed successor of VRML. HLA is the anointed successor to DIS. Any perceived deficiencies in VRML? Any perceived deficiencies in DIS? Well, VRML seems to still exist. DIS seems to still exist. My guess is that DIS will continue to be maintained in legacy format for possibly decades. John Richardson -----Original Message----- From: x3d-public [mailto:x3d-public-bounces at web3d.org] On Behalf Of Don Brutzman Sent: Friday, April 6, 2018 10:48 PM To: GPU Group ; X3D Graphics public mailing list Subject: Re: [x3d-public] Distributed Interactive Simulation Component Thanks for your interest and scrutiny Doug. Backgrounders: IEEE Distributed Interactive Simulation (DIS) protocol is a long-running networking standard used by many DoD systems for creating shared virtual environments, Live Virtual Constructive (LVC) hybrid simulations/exercises, etc. https://en.wikipedia.org/wiki/Distributed_Interactive_Simulation As it turns out, NPS has an extensive body of active effort in this arena. We expect to be able to tackle this with partners sometime after Soft Launch this summer. Current course work is testing and improving a number of Web-based examples using the OpenDIS library. Integration with X3D is relatively easy. We have a DIS-networked EspduTransform node which can be the scene-graph parent of any moving entity. X3D-Edit has pretty good support including sender-receiver-tester-recorder-player tools. It works, we ran it many times in class last quarter, tested with WireShark, etc. etc. Further references for people who want to read ahead: a. IITSEC 2017 slideset, DIS 101 https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/raw/master/presentatio ns/IITSEC2018_DIS_Tutorial.pptx b. X3D and Distributed Interactive Simulation (DIS) http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/DistributedInteracti veSimulation.pdf c. X3D v3.3 Distributed interactive simulation (DIS) component http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components /dis.html d. IEEE Standards Maintained by SISO SAC https://www.sisostds.org/ProductsPublications/Standards/IEEEStandards.aspx The protocol is quite mature, evolving since early 1990s. Multiple commercial players. Our team is "getting back up on the horse" and gradually rejuvenating the OpenDIS implementation. It has code generators for API binding in multiple programming languages (Java JavaScript C++ C# others). We are working through examples and fixing them in a pair of courses, 3-months into a 12-month cycle. Initial bindings existed in X3DOM at some point, not sure of their current status. You are asking good questions, n.b. that good answers exist too. Too bad others didn't follow through "back in the day" but certainly happy that you are pursuing this. IMO it has huge potential value, especially as we make progress on using Javascript inside HTML to bridge to web services or other connections rather than UDP multicast. I expect that sometime after Web3D 2018 Conference we will have our internal work ready for broader sharing. Can you wait until then? We will be keen to help and test together - sounds like a great student team project actually. Topmost priorities right now include HAnim spec and Motion node, other OpenDIS work is slowly progressing and will help. Step by step, again thanks... v/r Don On 4/6/2018 11:33 AM, GPU Group wrote: > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/comp > onents/dis.html Q1. should DIS be dropped from future specs Q2. is > there a more web3d-like way to do something like it? > -Doug > > > I can see why this isn't widely implemented. > x half-baked - looks like student papers - just a prototype or proof > of concept x only one implents it -xj3d-, and I have yet to see it run > with DIS nodes (it whitescreens on me when run from x3d-edit), so > difficult to reverse engineer fuzzy concepts x the flavor of some > nodes like radio transmitter, receiver, signal seems too specific/high > level compared to the rest of web3d which is more about general > capabilites that can be combined flexibly in many permutations x the > DIS specs are very 1990s like x DIS specs are big > > But it also seems to fill some gaps versus EAI: > * node level synchronization (versus EAI access via rootnode > tree) > **- so easier to bury inside proto bodies > * wireline protocol > ** so compatible among any browsers or utilities that implement the > protocol > * no server -peer-to-peer, nothing bad happens if peers join or leave > > And it has problems: > - using broadcast udp means no ACK / resend if packet lost > - better at regular / heartbeat updates > -- if one is dropped, just wait a few seconds > -- if peer joins late, just wait a few seconds x, poor at one-time > state intializations / transfers xx if packet lost, DIS spec full of > bandaids for this issue xx if peer joins late, awkward > _______________________________________________ > x3d-public mailing list > x3d-public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org 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 http://faculty.nps.edu/brutzman _______________________________________________ x3d-public mailing list x3d-public at web3d.org http://web3d.org/mailman/listinfo/x3d-public_web3d.org From richards at spawar.navy.mil Mon Apr 9 13:22:53 2018 From: richards at spawar.navy.mil (John Richardson) Date: Mon, 9 Apr 2018 20:22:53 -0000 Subject: [x3d-public] Distributed Interactive Simulation Component In-Reply-To: <4e13ff74-4fa9-4e10-df46-f42c467661ad@nps.edu> References: <4e13ff74-4fa9-4e10-df46-f42c467661ad@nps.edu> Message-ID: <02ac01d3d040$90b483b0$b21d8b10$@spawar.navy.mil> Hello, While we are on the topic of distributed simulation and graphics. Drum Roll: The Summersim 2018 paper call is still open Extended to April 20. As is the Computer Graphics for Simulation paper track...:-) www.scs.org/summersim is where you all want to go...:-) John -----Original Message----- From: x3d-public [mailto:x3d-public-bounces at web3d.org] On Behalf Of Don Brutzman Sent: Friday, April 6, 2018 10:48 PM To: GPU Group ; X3D Graphics public mailing list Subject: Re: [x3d-public] Distributed Interactive Simulation Component Thanks for your interest and scrutiny Doug. Backgrounders: IEEE Distributed Interactive Simulation (DIS) protocol is a long-running networking standard used by many DoD systems for creating shared virtual environments, Live Virtual Constructive (LVC) hybrid simulations/exercises, etc. https://en.wikipedia.org/wiki/Distributed_Interactive_Simulation As it turns out, NPS has an extensive body of active effort in this arena. We expect to be able to tackle this with partners sometime after Soft Launch this summer. Current course work is testing and improving a number of Web-based examples using the OpenDIS library. Integration with X3D is relatively easy. We have a DIS-networked EspduTransform node which can be the scene-graph parent of any moving entity. X3D-Edit has pretty good support including sender-receiver-tester-recorder-player tools. It works, we ran it many times in class last quarter, tested with WireShark, etc. etc. Further references for people who want to read ahead: a. IITSEC 2017 slideset, DIS 101 https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/raw/master/presentatio ns/IITSEC2018_DIS_Tutorial.pptx b. X3D and Distributed Interactive Simulation (DIS) http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/DistributedInteracti veSimulation.pdf c. X3D v3.3 Distributed interactive simulation (DIS) component http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components /dis.html d. IEEE Standards Maintained by SISO SAC https://www.sisostds.org/ProductsPublications/Standards/IEEEStandards.aspx The protocol is quite mature, evolving since early 1990s. Multiple commercial players. Our team is "getting back up on the horse" and gradually rejuvenating the OpenDIS implementation. It has code generators for API binding in multiple programming languages (Java JavaScript C++ C# others). We are working through examples and fixing them in a pair of courses, 3-months into a 12-month cycle. Initial bindings existed in X3DOM at some point, not sure of their current status. You are asking good questions, n.b. that good answers exist too. Too bad others didn't follow through "back in the day" but certainly happy that you are pursuing this. IMO it has huge potential value, especially as we make progress on using Javascript inside HTML to bridge to web services or other connections rather than UDP multicast. I expect that sometime after Web3D 2018 Conference we will have our internal work ready for broader sharing. Can you wait until then? We will be keen to help and test together - sounds like a great student team project actually. Topmost priorities right now include HAnim spec and Motion node, other OpenDIS work is slowly progressing and will help. Step by step, again thanks... v/r Don On 4/6/2018 11:33 AM, GPU Group wrote: > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/comp > onents/dis.html Q1. should DIS be dropped from future specs Q2. is > there a more web3d-like way to do something like it? > -Doug > > > I can see why this isn't widely implemented. > x half-baked - looks like student papers - just a prototype or proof > of concept x only one implents it -xj3d-, and I have yet to see it run > with DIS nodes (it whitescreens on me when run from x3d-edit), so > difficult to reverse engineer fuzzy concepts x the flavor of some > nodes like radio transmitter, receiver, signal seems too specific/high > level compared to the rest of web3d which is more about general > capabilites that can be combined flexibly in many permutations x the > DIS specs are very 1990s like x DIS specs are big > > But it also seems to fill some gaps versus EAI: > * node level synchronization (versus EAI access via rootnode > tree) > **- so easier to bury inside proto bodies > * wireline protocol > ** so compatible among any browsers or utilities that implement the > protocol > * no server -peer-to-peer, nothing bad happens if peers join or leave > > And it has problems: > - using broadcast udp means no ACK / resend if packet lost > - better at regular / heartbeat updates > -- if one is dropped, just wait a few seconds > -- if peer joins late, just wait a few seconds x, poor at one-time > state intializations / transfers xx if packet lost, DIS spec full of > bandaids for this issue xx if peer joins late, awkward > _______________________________________________ > x3d-public mailing list > x3d-public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org 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 http://faculty.nps.edu/brutzman _______________________________________________ x3d-public mailing list x3d-public at web3d.org http://web3d.org/mailman/listinfo/x3d-public_web3d.org From yottzumm at gmail.com Mon Apr 9 19:09:23 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 9 Apr 2018 22:09:23 -0400 Subject: [x3d-public] JSON import added to X3DJSAIL. Take off TODO In-Reply-To: <85117d5a-1f41-3719-e0db-4b89482b0ad0@nps.edu> References: <5a92a96b.531bc80a.31e4e.57ad@mx.google.com> <85117d5a-1f41-3719-e0db-4b89482b0ad0@nps.edu> Message-ID: <5acc1cd1.f338c80a.78fa1.a7a9@mx.google.com> I documented the code in java/src/net/coderextreme and java/nashorn/node. The rest of the code isn?t mine I think. We need to figure out a way to load Nashorn in the classpath from Nashorn. I?ve tried adding a leading /. Putting it in a jar doesn?t seem to help so far. The nashornFolder is properly set to nashorn. The issue is in the JavaScriptSerializer.js and outputs from it. Rats. ? John Sent from Mail for Windows 10 From: Don Brutzman Sent: Sunday, April 1, 2018 11:30 AM To: John Carlson Cc: x3d-public at web3d.org Subject: Re: JSON import added to X3DJSAIL. Take off TODO Similar request: let's build a few examples, then help me document X3DJSAIL correctly/consistently with X3DJSONLD. Perhaps we should plan a special breakout teleconference on these techniques? Or stick to monthly X3D Working Group teleconference focus? Whatever works. Again thanks. On 2/25/2018 4:17 AM, John Carlson wrote: > With net/coderextreme/X3DJSONLD.java, JSON import has been taken of the TODO list for X3DJSAIL. Please update: > > http://www.web3d.org/specifications/java/X3DJSAIL.html > > It still needs to be tested more? extensively, but initial versions are working under java/nashorn/examples. > > Thanks, > > John 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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreasplesch at gmail.com Mon Apr 9 19:40:05 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Tue, 10 Apr 2018 02:40:05 +0000 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: <76ede8e9-c92c-e2b2-e560-74a3777b247c@nps.edu> References: <5ac7d3cc.0229ed0a.19e1.cbf9@mx.google.com> <76ede8e9-c92c-e2b2-e560-74a3777b247c@nps.edu> Message-ID: Thanks for chiming in, Don, considering first principles. >From a hardware/software perspective, I think it is impossible to not recognize the large evolution from early VRML times to today which ought to be reflected somehow in X3D. Another way to approach the question if there is an opportunity or if such an idea is just a distraction, is to consider why there is not a SFInt16 or SFInt8 type. The thinking at the time may have been that there is a need for integers for indices but also a need to keep it simple and only have a single one, int32. On the other hand, for floats let's have both 32 and 64bit. Ist there a time when this reasoning becomes obsolete and there is a call for a higher level of abstraction ? Can a browser be smart enough to decide how numbers are internally represented for various purposes so an author does not have to be concerned about that ? Reconsidering, a first step may be to simply rename SF/MFInt32 to SF/MFInt and leave it up to the browser how many different integers it can represent ? To ease such a transition both names can coexist for a while. -Andreas On Sun, Apr 8, 2018, 7:29 PM Don Brutzman wrote: > Appreciate the thoughtful inquiry, thanks colleagues. A few more points: > > a. Hardware. X3D is designed to run across an exceptionally wide range of > devices in a performant way. The original scene graph was designed when > every single triangle counted, and we have been diligent about maintaining > graphics-performance rigor throughout its evolution, so X3D is efficient. > Many computing hardware platforms are quite necessarily strict about the > handling of integers/floats/doubles based on memory, processing > performance, and power consumption. > > b. Software. X3D is designed to run across an exceptionally wide range of > programming and processing environments. Thus if a JavaScript > implementation wants to treat all numbers equivalently, or defer > typecasting until data gets transferred to hardware, or whatever, that is > OK and doesn't impede other implementations. The X3D abstract > specification describes functionality of rendering and interaction, not > reference software implementations. > > c. Data or code. X3D is designed to be workable both as a file encoding > or as a programming-language binding with functional equivalence. The X3D > Unified Object Model work is capitalizing on that... more to follow once we > get through HAnim updates, venture into C++/C#/Python programming, etc. etc. > > d. Disclaimer: I think that typing is incredibly valuable because it > reveals errors. Many such errors are otherwise undetectable, so typing is > an important aspect of model Quality Assurance (QA). > > e. Portability of reusable models. So feel free to pursue X3D generation, > presentation and interaction using the best implementation approach you > want... YMMV. Also know that portability of X3D scenes across all of these > other platforms/formats/languages/methodologies can (and typically will) > work equivalently when deploying valid X3D model content. > > Have fun with X3D! 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 > http://faculty.nps.edu/brutzman > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From michalis.kambi at gmail.com Mon Apr 9 21:15:04 2018 From: michalis.kambi at gmail.com (Michalis Kamburelis) Date: Tue, 10 Apr 2018 06:15:04 +0200 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: <5ac7d3cc.0229ed0a.19e1.cbf9@mx.google.com> <76ede8e9-c92c-e2b2-e560-74a3777b247c@nps.edu> Message-ID: 2018-04-10 4:40 GMT+02:00 Andreas Plesch : > Another way to approach the question if there is an opportunity or if such > an idea is just a distraction, is to consider why there is not a SFInt16 or > SFInt8 type. The thinking at the time may have been that there is a need for > integers for indices but also a need to keep it simple and only have a > single one, int32. On the other hand, for floats let's have both 32 and > 64bit. Note that it is a reasonable optimization to pack mesh indexes into 8-bit or 16-bit integers, instead of full 32-bit integers. Even today, with incredibly fast GPUs :) Looking at others: - glTF 2.0 allows providing indexes as 8-bit or 16-bit integers (https://github.com/KhronosGroup/glTF/tree/master/specification/2.0 allows to use UNSIGNED_SHORT, UNSIGNED_BYTE as an alternative to UNSIGNED_INT for indexes). - And the APIs -- like OpenGL[ES], WebGL, Three.js -- all allow indexes to be 8-bit or 16-bit integers, not only 32-bit integers. - Unity3d explicitly advices using 16-bit indexes for meshes, not 32: https://docs.unity3d.com/Manual/FBXImporter-Model.html : "Note: For bandwidth and memory storage size reasons, you generally want to keep 16 bit indices as default, and only use 32 bit when necessary." . Note that it's a new setting -- before 2017, Unity3d was *forcing* to use 16-bit indices, limiting all mesh sizes to 64k chunks, and there wasn't even an option to use 32-bit indices. - In Castle Game Engine, we use 16-bit indexes for rendering on OpenGLES (mobile) and for all 2D user-interface rendering. We keep using 32-bit indexes on desktop OpenGL for 3D rendering. I'm not proposing to introduce MFInt16 to X3D :) But I wanted to note that "the size of integers still matters for GPUs". While the hardware is incredibly faster than it was 20 years ago, some of the "old" optimizations still matter. The gain you get from using smaller types still matters when you have a large mesh data and need to send it fast to GPU. ("coordIndex" expressed using 16-bit ints is 2x smaller than 32-bit ints, "Coordinate.point" expressed using half-floats is 2x smaller than 32-bit floats and so on.) Regards, Michalis From yottzumm at gmail.com Tue Apr 10 00:21:10 2018 From: yottzumm at gmail.com (John Carlson) Date: Tue, 10 Apr 2018 07:21:10 +0000 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: <5ac7d3cc.0229ed0a.19e1.cbf9@mx.google.com> <76ede8e9-c92c-e2b2-e560-74a3777b247c@nps.edu> Message-ID: I wonder if there's any compression/decompression going to the graphics card? Or is it not worth compressing? Thanks, John On Tue, Apr 10, 2018, 12:15 AM Michalis Kamburelis wrote: > 2018-04-10 4:40 GMT+02:00 Andreas Plesch : > > Another way to approach the question if there is an opportunity or if > such > > an idea is just a distraction, is to consider why there is not a SFInt16 > or > > SFInt8 type. The thinking at the time may have been that there is a need > for > > integers for indices but also a need to keep it simple and only have a > > single one, int32. On the other hand, for floats let's have both 32 and > > 64bit. > > Note that it is a reasonable optimization to pack mesh indexes into > 8-bit or 16-bit integers, instead of full 32-bit integers. Even today, > with incredibly fast GPUs :) > > Looking at others: > > - glTF 2.0 allows providing indexes as 8-bit or 16-bit integers > (https://github.com/KhronosGroup/glTF/tree/master/specification/2.0 > allows to use UNSIGNED_SHORT, UNSIGNED_BYTE as an alternative to > UNSIGNED_INT for indexes). > > - And the APIs -- like OpenGL[ES], WebGL, Three.js -- all allow > indexes to be 8-bit or 16-bit integers, not only 32-bit integers. > > - Unity3d explicitly advices using 16-bit indexes for meshes, not 32: > https://docs.unity3d.com/Manual/FBXImporter-Model.html : "Note: For > bandwidth and memory storage size reasons, you generally want to keep > 16 bit indices as default, and only use 32 bit when necessary." . Note > that it's a new setting -- before 2017, Unity3d was *forcing* to use > 16-bit indices, limiting all mesh sizes to 64k chunks, and there > wasn't even an option to use 32-bit indices. > > - In Castle Game Engine, we use 16-bit indexes for rendering on > OpenGLES (mobile) and for all 2D user-interface rendering. We keep > using 32-bit indexes on desktop OpenGL for 3D rendering. > > I'm not proposing to introduce MFInt16 to X3D :) But I wanted to note > that "the size of integers still matters for GPUs". While the hardware > is incredibly faster than it was 20 years ago, some of the "old" > optimizations still matter. The gain you get from using smaller types > still matters when you have a large mesh data and need to send it fast > to GPU. ("coordIndex" expressed using 16-bit ints is 2x smaller than > 32-bit ints, "Coordinate.point" expressed using half-floats is 2x > smaller than 32-bit floats and so on.) > > Regards, > Michalis > -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreasplesch at gmail.com Tue Apr 10 05:25:23 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Tue, 10 Apr 2018 12:25:23 +0000 Subject: [x3d-public] remove SF/MFInt32 ? In-Reply-To: References: <5ac7d3cc.0229ed0a.19e1.cbf9@mx.google.com> <76ede8e9-c92c-e2b2-e560-74a3777b247c@nps.edu> Message-ID: On Tue, Apr 10, 2018, 12:15 AM Michalis Kamburelis wrote: > 2018-04-10 4:40 GMT+02:00 Andreas Plesch : > > Another way to approach the question if there is an opportunity or if > such > > an idea is just a distraction, is to consider why there is not a SFInt16 > or > > SFInt8 type. The thinking at the time may have been that there is a need > for > > integers for indices but also a need to keep it simple and only have a > > single one, int32. On the other hand, for floats let's have both 32 and > > 64bit. > > Note that it is a reasonable optimization to pack mesh indexes into > 8-bit or 16-bit integers, instead of full 32-bit integers. Even today, > with incredibly fast GPUs :) > The drive will always be there to utilize hardware to the fullest amount. The trade-off is the increased effort in programming. > Looking at others: > > - glTF 2.0 allows providing indexes as 8-bit or 16-bit integers > (https://github.com/KhronosGroup/glTF/tree/master/specification/2.0 > allows to use UNSIGNED_SHORT, UNSIGNED_BYTE as an alternative to > UNSIGNED_INT for indexes). > > - And the APIs -- like OpenGL[ES], WebGL, Three.js -- all allow > indexes to be 8-bit or 16-bit integers, not only 32-bit integers. > > - Unity3d explicitly advices using 16-bit indexes for meshes, not 32: > https://docs.unity3d.com/Manual/FBXImporter-Model.html : "Note: For > bandwidth and memory storage size reasons, you generally want to keep > 16 bit indices as default, and only use 32 bit when necessary." . Note > that it's a new setting -- before 2017, Unity3d was *forcing* to use > 16-bit indices, limiting all mesh sizes to 64k chunks, and there > wasn't even an option to use 32-bit indices. > > - In Castle Game Engine, we use 16-bit indexes for rendering on > OpenGLES (mobile) and for all 2D user-interface rendering. We keep > using 32-bit indexes on desktop OpenGL for 3D rendering. > > I'm not proposing to introduce MFInt16 to X3D :) But I wanted to note > that "the size of integers still matters for GPUs". While the hardware > is incredibly faster than it was 20 years ago, some of the "old" > optimizations still matter. The gain you get from using smaller types > still matters when you have a large mesh data and need to send it fast > to GPU. ("coordIndex" expressed using 16-bit ints is 2x smaller than > 32-bit ints, "Coordinate.point" expressed using half-floats is 2x > smaller than 32-bit floats and so on.) > Well, it does actually sound like having an explicit MFInt16 may be a good idea, for mobile targets. Alternatively, it would be more transparent to have a generic MFInt type which would make it obvious that it is up to the browser how many bits to use, eg. 16 on mobile and perhaps automatic subdivision into fitting chunks, or 32 on OpenGL. Regards, Andreas > Regards, > Michalis > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Wed Apr 11 03:31:35 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 11 Apr 2018 06:31:35 -0400 Subject: [x3d-public] Python X3DJSAIL In-Reply-To: <598deac0.c6196b0a.e3e40.3b8a@mx.google.com> References: <9ff7a7f1-28ee-078d-4506-093c6ad80c86@nps.edu> <598ce81e.c742240a.7b1b0.9c1c@mx.google.com> <598dd7c1.829f6b0a.f8ebc.32ae@mx.google.com> <598de13c.545c240a.5651a.44d5@mx.google.com> <598deac0.c6196b0a.e3e40.3b8a@mx.google.com> Message-ID: <5acde407.6631ed0a.928a7.3586@mx.google.com> Thank you all for your support of Python and X3D! After updating X3DJSONLD, I decided to update pythonSAI to keep it up to date. https://github.com/coderextrextreme/pythonSAI Good luck! Attached is python sample program. Next steps: creating a more distributable X3DJSONLD package by creating JavaScript prototypes for X3DJSONLD, flattener, and scripts. John -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: HelloWorldProgramOutput.py Type: application/octet-stream Size: 30600 bytes Desc: not available URL: From yottzumm at gmail.com Wed Apr 11 06:25:28 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 11 Apr 2018 09:25:28 -0400 Subject: [x3d-public] New version of X3DJSONLD pushed to github Message-ID: <5ace0cc8.8483370a.3106a.4b1a@mx.google.com> A major new version of X3DJSONLD has been pushed to GitHub https://github.com/coderextreme/X3DJSONLD This version is still undocumented, and has gone through just a little testing. New feature: X3DJSONLD.js now contains a class, instead of separate functions. var X3DJSONLD = Object.create(JSONParser); If you desire this feature, I would download, but be warned that I will be updating other files to the new class format. This will break all existing code I believe, as it requires a preceding X3DJSONLD to X3DJSONLD.loadX3DJS(). I have tried to update the major html files, but not all of them may work. However index.html should work, and prototypes.html, among others. John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Wed Apr 11 07:32:45 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 11 Apr 2018 10:32:45 -0400 Subject: [x3d-public] FW: [x3d] X3D C and C++ language bindings NWIPs In-Reply-To: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> Message-ID: <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> The patch should be attached to this mantis: http://www.web3d.org/member-only/mantis/view.php?id=1227 Sent from Mail for Windows 10 From: John Carlson Sent: Wednesday, April 11, 2018 10:29 AM To: Nicholas Polys; Myeong Won Lee Cc: x3d at web3d.org Subject: RE: [x3d] X3D C and C++ language bindings NWIPs Here is a patch to bring the JSON schema up to draft-06.? I believe draft-07 is a one character substitution. Ready to check in if someone can approve my patches. John Sent from Mail for Windows 10 From: Nicholas Polys Sent: Wednesday, April 11, 2018 9:51 AM To: Myeong Won Lee Cc: x3d at web3d.org Subject: Re: [x3d] X3D C and C++ language bindings NWIPs Thanks so much! Is the JSON encoding ready as well? best regards, ?_nicholas On Wed, Apr 11, 2018 at 5:35 AM, Myeong Won Lee wrote: Dear Roy and All, I believe that X3D C and C++ language bindings NWIPs might have been submitted in February. However, for various reasons, it took time for me to update the two WDs. I have revised X3D C and C++ language binding WDs and uploaded them to GitHub. C and C++ examples have been added to Annexes for each part. Please note that I left strikeout lines in the WDs. I will delete them when I submit the materials to the ISO.? I would like to ask for Web3D BOD approval for the NWIP submission to ISO. Sincerely, Myeong -- Myeong Won Lee? Faculty of Computer Science, College of IT, U. of Suwon Hwaseong, Gyeonggi-do, 18323 Korea Tel) +82-31-220-2313, +82-10-8904-4634 E-mail) mwlee at suwon.ac.kr _______________________________________________ x3d mailing list x3d at web3d.org http://web3d.org/mailman/listinfo/x3d_web3d.org -- Nicholas F. Polys, Ph.D. Director of Visual Computing Virginia Tech Research Computing Affiliate Professor Virginia Tech Department of Computer Science -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: schema.patch Type: application/octet-stream Size: 16353 bytes Desc: not available URL: From yottzumm at gmail.com Wed Apr 11 07:38:53 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 11 Apr 2018 10:38:53 -0400 Subject: [x3d-public] [x3d] X3D C and C++ language bindings NWIPs In-Reply-To: <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> Message-ID: <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> I have checked draft-06 into sourceforge (sorry Don), keeping the old version. X3d-code/www.web3d.org/specifications/x3d-3.3-JSONSchema.draft-06.json Do what you will! John Sent from Mail for Windows 10 From: John Carlson Sent: Wednesday, April 11, 2018 10:32 AM To: x3d-public at web3d.org; X3D Graphics member mailing list; Don Brutzman; npolys at vt.edu Subject: FW: [x3d] X3D C and C++ language bindings NWIPs The patch should be attached to this mantis: http://www.web3d.org/member-only/mantis/view.php?id=1227 Sent from Mail for Windows 10 From: John Carlson Sent: Wednesday, April 11, 2018 10:29 AM To: Nicholas Polys; Myeong Won Lee Cc: x3d at web3d.org Subject: RE: [x3d] X3D C and C++ language bindings NWIPs Here is a patch to bring the JSON schema up to draft-06.? I believe draft-07 is a one character substitution. Ready to check in if someone can approve my patches. John Sent from Mail for Windows 10 From: Nicholas Polys Sent: Wednesday, April 11, 2018 9:51 AM To: Myeong Won Lee Cc: x3d at web3d.org Subject: Re: [x3d] X3D C and C++ language bindings NWIPs Thanks so much! Is the JSON encoding ready as well? best regards, ?_nicholas On Wed, Apr 11, 2018 at 5:35 AM, Myeong Won Lee wrote: Dear Roy and All, I believe that X3D C and C++ language bindings NWIPs might have been submitted in February. However, for various reasons, it took time for me to update the two WDs. I have revised X3D C and C++ language binding WDs and uploaded them to GitHub. C and C++ examples have been added to Annexes for each part. Please note that I left strikeout lines in the WDs. I will delete them when I submit the materials to the ISO.? I would like to ask for Web3D BOD approval for the NWIP submission to ISO. Sincerely, Myeong -- Myeong Won Lee? Faculty of Computer Science, College of IT, U. of Suwon Hwaseong, Gyeonggi-do, 18323 Korea Tel) +82-31-220-2313, +82-10-8904-4634 E-mail) mwlee at suwon.ac.kr _______________________________________________ x3d mailing list x3d at web3d.org http://web3d.org/mailman/listinfo/x3d_web3d.org -- Nicholas F. Polys, Ph.D. Director of Visual Computing Virginia Tech Research Computing Affiliate Professor Virginia Tech Department of Computer Science -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Wed Apr 11 19:21:29 2018 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 11 Apr 2018 19:21:29 -0700 Subject: [x3d-public] Fwd: Re: [x3d] X3D C and C++ language bindings NWIPs [corrected copy] In-Reply-To: <8e17d043-3568-a33a-6f4d-498ff04dea00@nps.edu> References: <8e17d043-3568-a33a-6f4d-498ff04dea00@nps.edu> Message-ID: For X3D community participants, great news follows regarding continued developments in X3D. We are keen to get comments from Web3D Consortium members. Public comment will follow at the appropriate point in the process timeline - meanwhile some very interesting early-adopter opportunities for change/improvement/preparation are emerging. Web3D member value continues to grow steadily. If you have not yet joined, please consider that value proposition. Companies, organizations, universities and individuals are all welcome. Join the Web3D Consortium http://www.web3d.org/join v/r Don ========================================================================= -------- Forwarded Message -------- Subject: Re: [x3d] X3D C and C++ language bindings NWIPs [corrected copy] Date: Wed, 11 Apr 2018 19:13:28 -0700 From: Don Brutzman Organization: Naval Postgraduate School (NPS) To: Myeong Won Lee CC: x3d at web3d.org, Roy Walmsley , Web3D Consortium Board of Directors , Web3D Consortium Board of Directors Thank you Myeong Won Lee for this continuing progress, it is quite tremendous. Dick and I were very happy to hear of your progress. The X3D Working Group will review these next week on the regular teleconference *Wednesday 18 APR 2018* at the regular time, 0800-0930 pacific. All feedback welcome. All three X3D language binding drafts for C, C++ and C# are available to Web3D Members in github, online at: * C binding: X3D/ISO-IEC 19777/ISO-IEC 19777-3/ISO-IEC 19777-3 V3.3/ISO-IEC 19777-3 V3.3 CD/ https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019777/ISO-IEC%2019777-3/ISO-IEC%2019777-3%20V3.3/ISO-IEC%2019777-3%20V3.3%20CD * C++ binding: X3D/ISO-IEC 19777/ISO-IEC 19777-4/ISO-IEC 19777-4 V3.3/ISO-IEC 19777-4 V3.3 CD/ https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019777/ISO-IEC%2019777-4/ISO-IEC%2019777-4%20V3.3/ISO-IEC%2019777-4%20V3.3%20CD Note that already submitted is * C# binding: X3D/ISO-IEC 19777/ISO-IEC 19777-5/ISO-IEC 19777-5 V3.3/ISO-IEC 19777-5 V3.3 CD/ https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019777/ISO-IEC%2019777-5/ISO-IEC%2019777-5%20V3.3/ISO-IEC%2019777-5%20V3.3%20CD Also available for Web3D Member review: *ISO New Work Item Proposal (NWIP) documents (from Web3D Consortium to Standards Committee SC24) at https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019777/NWIP The modular, extensible design of X3D allows our continued development of a coordinated set of steadily evolving ISO standards. Each is functionally equivalent. The roadmap for all of these programming-language bindings and file encodings is found as first link on the Web3D.org STANDARDs tab: X3D Specification Relationships http://www.web3d.org/specifications/X3dSpecificationRelationships.png X3D Working Group recommendations regarding continued work or potential member approval will be forwarded to the Web3D Board of Directors. Looking forward to continued (amazing) progress. Have fun with X3D in C, C++ and C# programs! 8) On 4/11/2018 2:35 AM, Myeong Won Lee wrote: > Dear Roy and All, > > I believe that X3D C and C++ language bindings NWIPs might have been submitted in February. > However, for various reasons, it took time for me to update the two WDs. > > I have revised X3D C and C++ language binding WDs and uploaded them to GitHub. > C and C++ examples have been added to Annexes for each part. > Please note that I left strikeout lines in the WDs. > I will delete them when I submit the materials to the ISO. > > I would like to ask for Web3D BOD approval for the NWIP submission to ISO. > > Sincerely, > > Myeong > -- > Myeong Won Lee > Faculty of Computer Science, College of IT, U. of Suwon > Hwaseong, Gyeonggi-do, 18323 Korea > Tel) +82-31-220-2313, +82-10-8904-4634 > E-mail) mwlee at suwon.ac.kr ========================================================================= 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 http://faculty.nps.edu/brutzman From vmarchetti at kshell.com Fri Apr 13 13:18:39 2018 From: vmarchetti at kshell.com (vmarchetti at kshell.com) Date: Fri, 13 Apr 2018 16:18:39 -0400 Subject: [x3d-public] Fwd: IPython and X3DOM for scientific publication References: <3C6A720F787947B489CC83725981BB44@PJM> Message-ID: <30B045B4-64D9-4FE5-B746-CA54E57783F3@kshell.com> -----Original Message----- From: Paul Masson Sent: Wednesday, April 11, 2018 4:03 PM To: x3d-public at web3d.org Subject: Re: [x3d-public] IPython and X3DOM for scientific publication Vince: Since the output of a Jupyter notebook cell is just HTML, one way to do this is with an external file in an iframe, for example %%html or equivalently display( HTML( ) ) If you don't want to use an external file, then the HTML for the entire document can be included in the srcdoc attribute of the iframe directly, but then you need to escape double quotes in the HTML with the " entity. Cheers! Paul Masson From brutzman at nps.edu Sat Apr 14 19:39:27 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sat, 14 Apr 2018 19:39:27 -0700 Subject: [x3d-public] X3D JSON Schema Updates In-Reply-To: <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> Message-ID: 1. *Updates*. Thanks for the updates and for your patience with my being able to catch up. Here we go: Summary of x3d-3.3-JSONSchema.draft-06.json schema changes: quite simple, only multiple occurrences of "minimum": 0, "exclusiveMinimum": true, to "exclusiveMinimum": 0, and "format": "uri-reference" to "format": "reference" All of your changes applied to x3d-3.3-JSONSchema.json and checked in. 2. *Testing*. I spot-checked your revised schema against HelloWorld.json using https://www.jsonschemavalidator.net which reported "No errors found. JSON validates against the schema" 8) Unit testing results for entire X3D Examples Archive followed... but with occasional failures, due to lack of support for draft-06. https://github.com/fge/json-schema-validator v2.2.6 Looks like there is not an up-to-date Java library I can use, the only Java code that has been upgraded to draft-06/07 does not have a .jar for ant (or command line) invocation. 8( https://github.com/everit-org/json-schema An example of a file which fails that validator is attached,CleatClamp.json However online inspection shows it is OK using a pair of validators: https://jsonlint.com https://www.jsonschemavalidator.net So I'll run the unit testing and updates, but we'll likely will have to wait before getting full compatibility with offline unit testing again. 3. *Next Steps.* If you agree, x3d-3.3-JSONSchema.draft-06.json can be deleted from version control since it is no longer necessary. Appreciate your "keeping it safe" there in subversion. Just prior to this task, I have separately added some minimum-allowed values to X3D XML Schema constraints on various SFTime duration fields. They are all tested in X3DJSAIL satisfactorily. Hoping you can inspect them. If agreed, please apply them to the JSON schema. https://sourceforge.net/p/x3d/code/26640/#diff-4 On 4/11/2018 7:38 AM, John Carlson wrote: > I have checked draft-06 into sourceforge (sorry Don), keeping the old version. > > X3d-code/www.web3d.org/specifications/x3d-3.3-JSONSchema.draft-06.json > > Do what you will! > > John > > Sent from Mail for Windows 10 > > *From: *John Carlson > *Sent: *Wednesday, April 11, 2018 10:32 AM > *To: *x3d-public at web3d.org ; X3D Graphics member mailing list ; Don Brutzman ; npolys at vt.edu > *Subject: *FW: [x3d] X3D C and C++ language bindings NWIPs > > The patch should be attached Still unable to attach files to Mantis. Issue reported to webmaster separately. > to this mantis: > > http://www.web3d.org/member-only/mantis/view.php?id=1227 I have updated that specification-draft editor issue and assigned it to me. Will test further before updating draft X3D JSON specification in github. (As noted earlier, it is better to submit spec changes via the spec comment form, since some muttered incantations are involved). Wondering, should we immediately try for draft-07? Or do you think that the differences are minuscule because they've only just started that version? Better and better, again thanks John. > *From: *John Carlson > *Sent: *Wednesday, April 11, 2018 10:29 AM > *To: *Nicholas Polys ; Myeong Won Lee > *Cc: *x3d at web3d.org > *Subject: *RE: [x3d] X3D C and C++ language bindings NWIPs > > Here is a patch to bring the JSON schema up to draft-06.? I believe draft-07 is a one character substitution. > > Ready to check in if someone can approve my patches. > > John > > Sent from Mail for Windows 10 > > *From: *Nicholas Polys > *Sent: *Wednesday, April 11, 2018 9:51 AM > *To: *Myeong Won Lee > *Cc: *x3d at web3d.org > *Subject: *Re: [x3d] X3D C and C++ language bindings NWIPs > > Thanks so much! > > Is the JSON encoding ready as well? > > best regards, > > ?_nicholas 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 http://faculty.nps.edu/brutzman -------------- next part -------------- { "X3D": { "encoding":"UTF-8", "@profile":"Immersive", "@version":"3.3", "@xsd:noNamespaceSchemaLocation":"http://www.web3d.org/specifications/x3d-3.3.xsd", "JSON schema":"http://www.web3d.org/specifications/x3d-3.3-JSONSchema.json", "head": { "meta": [ { "@name":"title", "@content":"CleatClamp.x3d" }, { "@name":"description", "@content":"Printable cleat clamp from MakerBot Thingiverse model archive, converted to X3D." }, { "@name":"created", "@content":"31 August 2013" }, { "@name":"translated", "@content":"18 July 2015" }, { "@name":"modified", "@content":"1 April 2017" }, { "@name":"warning", "@content":"Do not use for climbing or yachting." }, { "@name":"creator", "@content":"Moritz the Maker, mx5, http://www.thingiverse.com/mx5" }, { "@name":"reference", "@content":"Printable cleat, http://www.thingiverse.com/thing:143653" }, { "@name":"license", "@content":"Creative Commons - Attribution - Share Alike http://creativecommons.org/licenses/by-sa/3.0" }, { "@name":"generator", "@content":"Converted to X3D by Okino PolyTrans http://www.okino.com" }, { "@name":"Image", "@content":"CleatClamp.x3d._VP_default_CoordinateAxes.png" }, { "@name":"Image", "@content":"CleatClampNuGrafRendering.png" }, { "@name":"Image", "@content":"CleatClampMeshLabRendering.png" }, { "@name":"translator", "@content":"Don Brutzman" }, { "@name":"reference", "@content":"cleat_clamp.scad" }, { "@name":"reference", "@content":"cleat_clamp.stl" }, { "@name":"Image", "@content":"CleatClampPrinted.png" }, { "@name":"identifier", "@content":"http://x3dGraphics.com/examples/X3dForAdvancedModeling/AdditiveManufacturing/CleatClamp.x3d" }, { "@name":"generator", "@content":"X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit" }, { "@name":"license", "@content":"../license.html" }, { "@name":"translated", "@content":"14 April 2018" }, { "@name":"generator", "@content":"X3dToJson.xslt, http://www.web3d.org/x3d/stylesheets/X3dToJson.html" }, { "@name":"reference", "@content":"X3D JSON encoding: http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding" } ] }, "Scene": { "-children":[ { "#comment":" " }, { "#comment":"Current light source name = defaultambient" }, { "#comment":"Ambient light source " }, { "Switch": { "@whichChoice":-1, "-children":[ { "Inline": { "@DEF":"CoordinateAxes", "@url":["../../X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d","http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d","https://savage.nps.edu/Savage/Tools/Authoring/CoordinateAxes.x3d","../../X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.wrl","http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.wrl","https://savage.nps.edu/Savage/Tools/Authoring/CoordinateAxes.wrl"] } } ] } }, { "Transform": { "@DEF":"ScaleCentimetersToMeters", "@scale":[0.01,0.01,0.01], "-children":[ { "Viewpoint": { "@DEF":"defaultCamera", "@description":"default", "@fieldOfView":0.643501, "@orientation":[-0.50352,0.83843,0.20857,0.91773], "@position":[102.672,68.4039,102.672] } }, { "Transform": { "@DEF":"cleat_clamp", "-children":[ { "Transform": { "@DEF":"RaiseBaseToZeroHeight", "@translation":[0,22,0], "-children":[ { "Transform": { "@DEF":"openscad_model", "@translation":[0,-8.6,0], "-children":[ { "Transform": { "@translation":[-0,8.6,-0], "-children":[ { "Group": { "@DEF":"openscad_model_geometry", "-children":[ { "Shape": { "-appearance": { "Appearance": { "-material": { "Material": { "@DEF":"default", "@ambientIntensity":0.3, "@diffuseColor":[0.4,0.4,0.4], "@shininess":0.25, "@specularColor":[0.7,0.7,0.7] } } } }, "-geometry": { "IndexedFaceSet": { "@coordIndex":[0,1,2,-1,1,3,2,-1,2,3,4,-1,1,5,3,-1,3,5,6,-1,5,1,0,-1,7,0,8,-1,0,2,8,-1,9,5,0,-1,9,0,10,-1,10,0,11,-1,11,0,7,-1,2,4,12,-1,12,4,13,-1,8,2,12,-1,14,4,15,-1,4,3,15,-1,13,4,14,-1,15,3,6,-1,15,6,16,-1,16,6,17,-1,5,18,6,-1,6,18,17,-1,18,5,9,-1,19,7,20,-1,7,8,20,-1,21,11,7,-1,21,7,22,-1,22,7,19,-1,20,8,23,-1,23,8,12,-1,24,9,25,-1,25,9,10,-1,18,9,24,-1,25,10,26,-1,26,10,27,-1,27,10,21,-1,10,11,21,-1,23,12,28,-1,28,12,29,-1,12,13,29,-1,29,13,30,-1,31,13,32,-1,13,14,32,-1,30,13,31,-1,14,15,33,-1,32,14,34,-1,34,14,33,-1,33,15,35,-1,35,15,36,-1,36,15,16,-1,36,16,37,-1,37,16,38,-1,38,16,17,-1,39,17,40,-1,18,41,17,-1,17,41,40,-1,38,17,39,-1,41,18,42,-1,42,18,24,-1,43,22,19,-1,43,19,44,-1,44,19,45,-1,45,19,46,-1,19,20,46,-1,46,20,47,-1,47,20,28,-1,20,23,28,-1,48,21,43,-1,43,21,22,-1,27,21,49,-1,49,21,48,-1,42,24,25,-1,42,25,50,-1,50,25,51,-1,51,25,26,-1,51,26,52,-1,52,26,53,-1,53,26,49,-1,26,27,49,-1,47,28,54,-1,54,28,55,-1,28,29,55,-1,55,29,56,-1,29,30,56,-1,56,30,57,-1,57,30,58,-1,58,30,31,-1,58,31,59,-1,59,31,60,-1,31,34,60,-1,31,32,34,-1,34,33,61,-1,61,33,62,-1,62,33,63,-1,33,35,63,-1,60,34,64,-1,64,34,61,-1,63,35,36,-1,63,36,65,-1,65,36,66,-1,66,36,37,-1,67,37,68,-1,68,37,39,-1,37,38,39,-1,66,37,67,-1,39,40,69,-1,68,39,70,-1,70,39,69,-1,69,40,71,-1,41,72,40,-1,40,72,71,-1,72,41,73,-1,73,41,42,-1,73,42,74,-1,74,42,50,-1,75,48,43,-1,75,43,76,-1,76,43,44,-1,76,44,45,-1,45,46,77,-1,76,45,78,-1,78,45,79,-1,79,45,80,-1,45,77,80,-1,77,46,54,-1,46,47,54,-1,49,48,81,-1,81,48,82,-1,82,48,75,-1,53,49,83,-1,83,49,81,-1,74,50,51,-1,84,51,52,-1,74,51,84,-1,85,84,52,-1,85,52,86,-1,86,52,87,-1,87,52,83,-1,52,53,83,-1,77,54,88,-1,88,54,89,-1,54,55,89,-1,89,55,90,-1,90,55,91,-1,55,56,91,-1,56,57,91,-1,91,57,92,-1,92,57,58,-1,92,58,93,-1,93,58,94,-1,94,58,59,-1,94,59,95,-1,95,59,96,-1,59,64,96,-1,59,60,64,-1,97,61,98,-1,61,62,98,-1,64,61,99,-1,99,61,97,-1,62,63,98,-1,98,63,100,-1,100,63,101,-1,101,63,65,-1,96,64,99,-1,101,65,66,-1,101,66,102,-1,102,66,103,-1,103,66,67,-1,67,68,70,-1,103,67,104,-1,104,67,70,-1,70,69,105,-1,105,69,106,-1,106,69,107,-1,69,71,107,-1,104,70,108,-1,108,70,105,-1,72,109,71,-1,71,109,107,-1,109,72,73,-1,109,73,110,-1,110,73,111,-1,111,73,74,-1,111,74,112,-1,112,74,84,-1,113,75,114,-1,114,75,115,-1,115,75,76,-1,113,82,75,-1,115,76,116,-1,116,76,78,-1,80,77,88,-1,116,78,79,-1,116,79,117,-1,117,79,118,-1,118,79,119,-1,79,80,119,-1,120,80,88,-1,119,80,120,-1,121,81,122,-1,122,81,113,-1,81,82,113,-1,83,81,121,-1,87,83,123,-1,123,83,121,-1,112,84,85,-1,112,85,124,-1,124,85,125,-1,125,85,86,-1,125,86,126,-1,126,86,127,-1,127,86,123,-1,86,87,123,-1,120,88,128,-1,128,88,129,-1,129,88,130,-1,88,89,130,-1,130,89,131,-1,89,90,131,-1,90,91,131,-1,131,91,132,-1,91,92,132,-1,132,92,133,-1,133,92,134,-1,134,92,93,-1,134,93,94,-1,134,94,135,-1,135,94,95,-1,135,95,136,-1,136,95,137,-1,137,95,138,-1,95,139,138,-1,95,96,139,-1,139,96,99,-1,99,97,140,-1,97,98,140,-1,140,98,141,-1,98,100,141,-1,139,99,142,-1,142,99,143,-1,143,99,140,-1,144,100,101,-1,141,100,145,-1,145,100,144,-1,144,101,146,-1,146,101,102,-1,146,102,103,-1,146,103,147,-1,147,103,148,-1,148,103,149,-1,103,104,149,-1,149,104,108,-1,108,105,150,-1,150,105,151,-1,105,106,151,-1,106,107,151,-1,151,107,152,-1,109,153,107,-1,107,153,152,-1,154,149,108,-1,154,108,155,-1,155,108,156,-1,156,108,150,-1,153,109,157,-1,157,109,110,-1,157,110,111,-1,157,111,158,-1,158,111,112,-1,158,112,159,-1,159,112,160,-1,160,112,124,-1,122,113,161,-1,161,113,114,-1,161,114,162,-1,162,114,115,-1,163,115,116,-1,162,115,164,-1,164,115,163,-1,163,116,117,-1,163,117,165,-1,165,117,118,-1,118,119,166,-1,165,118,167,-1,167,118,168,-1,168,118,169,-1,118,166,169,-1,166,119,128,-1,119,120,128,-1,123,121,170,-1,170,121,171,-1,171,121,172,-1,121,122,172,-1,172,122,161,-1,127,123,170,-1,160,124,125,-1,160,125,173,-1,173,125,126,-1,174,173,126,-1,174,126,175,-1,175,126,176,-1,176,126,177,-1,126,127,177,-1,177,127,170,-1,128,129,178,-1,166,128,178,-1,178,129,179,-1,129,130,179,-1,130,131,180,-1,179,130,181,-1,181,130,180,-1,131,132,182,-1,180,131,182,-1,132,133,182,-1,182,133,183,-1,183,133,134,-1,184,134,135,-1,183,134,184,-1,184,135,185,-1,185,135,186,-1,186,135,136,-1,186,136,187,-1,187,136,137,-1,137,138,188,-1,187,137,189,-1,137,188,189,-1,138,139,188,-1,188,139,142,-1,143,140,190,-1,190,140,191,-1,140,141,191,-1,191,141,192,-1,192,141,193,-1,141,145,193,-1,142,143,190,-1,188,142,194,-1,194,142,195,-1,195,142,190,-1,193,145,144,-1,193,144,196,-1,196,144,197,-1,197,144,146,-1,197,146,198,-1,198,146,147,-1,198,147,148,-1,148,149,199,-1,198,148,200,-1,200,148,201,-1,201,148,199,-1,199,149,154,-1,202,150,203,-1,150,151,203,-1,156,150,204,-1,204,150,202,-1,203,151,205,-1,151,152,205,-1,152,153,206,-1,205,152,206,-1,206,153,157,-1,199,154,155,-1,207,199,155,-1,207,155,208,-1,155,156,208,-1,208,156,204,-1,206,157,209,-1,209,157,158,-1,210,158,211,-1,211,158,159,-1,209,158,210,-1,212,159,160,-1,211,159,212,-1,212,160,173,-1,172,161,213,-1,213,161,214,-1,214,161,215,-1,215,161,162,-1,215,162,164,-1,216,164,163,-1,216,163,217,-1,217,163,218,-1,218,163,165,-1,215,164,216,-1,218,165,219,-1,219,165,167,-1,169,166,220,-1,220,166,221,-1,221,166,178,-1,222,167,168,-1,219,167,222,-1,168,169,223,-1,168,224,225,-1,168,225,226,-1,168,226,222,-1,226,227,222,-1,224,168,223,-1,223,169,220,-1,177,170,228,-1,228,170,229,-1,229,170,230,-1,170,171,230,-1,230,171,213,-1,171,172,213,-1,231,173,232,-1,232,173,174,-1,212,173,231,-1,233,174,175,-1,232,174,233,-1,233,175,234,-1,175,235,236,-1,175,236,237,-1,175,237,234,-1,237,238,234,-1,175,176,235,-1,235,176,239,-1,176,177,239,-1,239,177,228,-1,221,178,240,-1,240,178,241,-1,241,178,242,-1,178,179,242,-1,242,179,243,-1,179,181,243,-1,181,180,243,-1,243,180,244,-1,244,180,245,-1,180,182,245,-1,182,183,245,-1,245,183,246,-1,246,183,184,-1,246,184,247,-1,247,184,248,-1,248,184,185,-1,248,185,186,-1,248,186,249,-1,249,186,187,-1,250,187,251,-1,187,189,251,-1,249,187,252,-1,252,187,250,-1,189,188,194,-1,251,189,253,-1,253,189,254,-1,254,189,194,-1,195,190,255,-1,190,191,255,-1,255,191,256,-1,256,191,257,-1,191,192,257,-1,257,192,258,-1,192,193,258,-1,258,193,196,-1,254,194,259,-1,259,194,260,-1,260,194,261,-1,194,195,261,-1,261,195,255,-1,258,196,262,-1,262,196,197,-1,263,197,264,-1,264,197,198,-1,262,197,263,-1,264,198,200,-1,201,199,207,-1,265,200,201,-1,264,200,265,-1,265,201,266,-1,266,201,267,-1,267,201,268,-1,201,207,268,-1,204,202,269,-1,202,203,269,-1,269,203,270,-1,270,203,271,-1,203,205,271,-1,208,204,272,-1,272,204,269,-1,205,206,273,-1,271,205,273,-1,273,206,209,-1,274,207,275,-1,275,207,208,-1,268,207,274,-1,275,208,276,-1,276,208,277,-1,277,208,272,-1,273,209,278,-1,278,209,279,-1,279,209,210,-1,279,210,211,-1,279,211,280,-1,280,211,212,-1,280,212,281,-1,281,212,282,-1,282,212,231,-1,213,214,283,-1,230,213,283,-1,283,214,215,-1,283,215,216,-1,216,284,285,-1,216,285,286,-1,216,286,283,-1,284,216,217,-1,284,217,218,-1,218,222,287,-1,218,287,288,-1,218,288,289,-1,218,289,284,-1,290,284,289,-1,222,218,219,-1,223,220,224,-1,220,291,292,-1,220,292,293,-1,220,293,294,-1,220,294,224,-1,295,224,294,-1,220,221,291,-1,291,221,240,-1,227,287,222,-1,296,288,297,-1,297,288,287,-1,297,287,227,-1,227,226,297,-1,297,226,298,-1,298,226,225,-1,298,225,295,-1,295,294,298,-1,295,225,224,-1,239,228,235,-1,228,299,300,-1,228,300,301,-1,228,301,302,-1,228,302,235,-1,303,235,302,-1,228,229,299,-1,229,230,299,-1,230,283,304,-1,230,304,299,-1,304,305,299,-1,306,231,232,-1,282,231,306,-1,232,234,307,-1,232,307,308,-1,232,308,309,-1,232,309,306,-1,310,306,309,-1,234,232,233,-1,234,238,307,-1,237,311,312,-1,238,237,312,-1,308,307,312,-1,307,238,312,-1,313,311,302,-1,236,311,237,-1,303,311,236,-1,302,311,303,-1,235,303,236,-1,240,241,291,-1,241,314,315,-1,241,315,291,-1,315,316,291,-1,241,242,314,-1,314,242,317,-1,317,242,318,-1,242,243,318,-1,318,243,319,-1,243,244,319,-1,244,245,319,-1,319,245,320,-1,245,246,320,-1,320,246,321,-1,321,246,322,-1,322,246,247,-1,322,247,248,-1,322,248,323,-1,323,248,249,-1,323,249,324,-1,324,249,325,-1,325,249,252,-1,325,252,250,-1,325,250,326,-1,326,250,327,-1,250,253,327,-1,250,251,253,-1,253,254,328,-1,327,253,328,-1,328,254,259,-1,261,255,329,-1,329,255,330,-1,330,255,331,-1,255,256,331,-1,331,256,332,-1,256,257,332,-1,257,258,332,-1,332,258,333,-1,333,258,334,-1,334,258,262,-1,335,259,336,-1,259,260,336,-1,328,259,335,-1,260,261,336,-1,336,261,329,-1,334,262,263,-1,337,263,264,-1,334,263,337,-1,338,264,339,-1,339,264,265,-1,337,264,338,-1,339,265,340,-1,340,265,266,-1,340,266,267,-1,340,267,341,-1,341,267,342,-1,267,268,342,-1,342,268,274,-1,272,269,343,-1,343,269,344,-1,269,270,344,-1,270,271,344,-1,344,271,345,-1,271,273,346,-1,345,271,346,-1,277,272,347,-1,347,272,348,-1,348,272,343,-1,346,273,349,-1,349,273,278,-1,342,274,350,-1,350,274,276,-1,274,275,276,-1,350,276,351,-1,351,276,347,-1,276,277,347,-1,349,278,279,-1,349,279,352,-1,352,279,280,-1,352,280,353,-1,353,280,354,-1,354,280,281,-1,281,306,355,-1,281,355,356,-1,281,356,354,-1,306,281,282,-1,357,283,358,-1,358,283,286,-1,358,286,359,-1,359,286,285,-1,359,285,290,-1,290,289,359,-1,290,285,284,-1,359,289,296,-1,296,289,288,-1,298,294,360,-1,360,294,293,-1,360,293,361,-1,361,293,292,-1,361,292,316,-1,316,315,361,-1,316,292,291,-1,297,362,296,-1,363,362,297,-1,298,363,297,-1,296,364,359,-1,362,364,296,-1,365,363,298,-1,360,365,298,-1,366,313,301,-1,301,313,302,-1,367,366,304,-1,300,366,301,-1,305,366,300,-1,304,366,305,-1,299,305,300,-1,357,367,283,-1,283,367,304,-1,306,310,355,-1,309,368,369,-1,310,309,369,-1,356,355,369,-1,355,310,369,-1,308,312,368,-1,309,308,368,-1,312,370,368,-1,312,371,370,-1,311,371,312,-1,311,372,371,-1,313,372,311,-1,313,373,372,-1,366,373,313,-1,361,315,374,-1,374,315,314,-1,318,375,376,-1,318,376,377,-1,318,377,314,-1,317,318,314,-1,318,319,375,-1,319,320,375,-1,320,378,375,-1,320,379,378,-1,380,375,378,-1,320,321,379,-1,381,321,382,-1,383,382,384,-1,385,321,381,-1,386,379,387,-1,388,321,385,-1,389,321,388,-1,390,321,389,-1,391,321,390,-1,392,321,391,-1,393,321,392,-1,379,321,393,-1,379,393,387,-1,394,379,386,-1,395,379,396,-1,379,394,396,-1,397,379,398,-1,379,395,398,-1,379,397,399,-1,399,400,379,-1,379,400,401,-1,401,402,379,-1,379,402,403,-1,404,403,405,-1,406,403,404,-1,379,403,406,-1,381,382,383,-1,382,321,407,-1,407,321,322,-1,407,322,323,-1,407,323,324,-1,407,324,325,-1,407,325,326,-1,407,326,408,-1,408,326,409,-1,326,327,409,-1,409,327,410,-1,410,327,411,-1,327,328,411,-1,411,328,412,-1,412,328,413,-1,413,328,335,-1,329,330,414,-1,336,329,415,-1,415,329,414,-1,414,330,416,-1,416,330,417,-1,330,331,417,-1,417,331,418,-1,331,332,418,-1,418,332,419,-1,332,333,419,-1,419,333,334,-1,420,334,337,-1,419,334,420,-1,413,335,421,-1,421,335,415,-1,335,336,415,-1,420,337,422,-1,422,337,338,-1,423,338,424,-1,424,338,339,-1,422,338,423,-1,424,339,425,-1,425,339,340,-1,425,340,341,-1,425,341,426,-1,426,341,427,-1,341,342,427,-1,428,342,429,-1,429,342,350,-1,427,342,428,-1,348,343,430,-1,343,344,430,-1,344,345,430,-1,430,345,431,-1,345,346,432,-1,433,345,434,-1,434,345,432,-1,435,434,436,-1,433,434,435,-1,437,345,433,-1,438,345,437,-1,439,345,438,-1,440,345,439,-1,441,345,440,-1,442,345,441,-1,443,345,442,-1,444,345,443,-1,445,345,444,-1,446,345,445,-1,447,345,446,-1,448,345,447,-1,449,345,448,-1,450,345,449,-1,451,345,450,-1,452,345,451,-1,453,345,452,-1,454,345,453,-1,455,345,454,-1,456,345,455,-1,457,345,456,-1,431,345,457,-1,458,346,459,-1,432,346,458,-1,460,458,459,-1,459,346,349,-1,351,347,430,-1,347,348,430,-1,459,349,352,-1,461,350,351,-1,429,350,462,-1,462,350,461,-1,461,351,463,-1,463,351,430,-1,464,352,354,-1,459,352,464,-1,459,464,465,-1,354,352,353,-1,356,369,466,-1,354,356,466,-1,358,467,357,-1,468,467,358,-1,359,468,358,-1,357,469,367,-1,357,467,469,-1,364,468,359,-1,470,365,360,-1,361,470,360,-1,471,470,361,-1,374,471,361,-1,467,468,469,-1,469,468,364,-1,469,364,362,-1,469,362,363,-1,469,363,365,-1,469,365,470,-1,469,470,471,-1,469,471,472,-1,469,472,473,-1,469,473,474,-1,469,474,475,-1,469,475,476,-1,469,476,477,-1,469,477,478,-1,469,478,479,-1,469,479,480,-1,469,480,481,-1,482,481,483,-1,484,483,485,-1,486,487,488,-1,486,489,487,-1,490,491,492,-1,488,491,490,-1,493,494,495,-1,469,495,496,-1,469,496,497,-1,469,497,498,-1,469,498,499,-1,469,499,500,-1,469,500,501,-1,469,501,502,-1,469,502,503,-1,469,503,504,-1,469,504,505,-1,469,505,506,-1,469,506,507,-1,469,507,508,-1,469,508,509,-1,469,509,510,-1,469,510,370,-1,469,370,371,-1,469,371,372,-1,469,372,373,-1,469,373,511,-1,512,469,513,-1,514,469,512,-1,469,514,495,-1,515,494,493,-1,493,516,517,-1,490,494,515,-1,484,486,518,-1,488,487,491,-1,469,481,482,-1,493,514,516,-1,490,492,494,-1,514,493,495,-1,484,519,489,-1,484,489,486,-1,517,518,520,-1,517,516,518,-1,513,469,482,-1,482,483,484,-1,520,518,486,-1,484,485,519,-1,366,511,373,-1,367,511,366,-1,367,469,511,-1,466,369,509,-1,369,510,509,-1,368,510,369,-1,368,370,510,-1,472,471,374,-1,521,472,374,-1,374,314,521,-1,521,314,377,-1,521,377,522,-1,522,377,376,-1,522,376,380,-1,380,378,522,-1,522,378,523,-1,380,376,375,-1,523,378,379,-1,406,523,379,-1,406,524,523,-1,525,524,526,-1,404,524,406,-1,527,524,404,-1,526,524,527,-1,526,528,529,-1,526,529,530,-1,528,526,527,-1,527,404,405,-1,528,527,405,-1,405,403,528,-1,529,403,531,-1,532,533,534,-1,535,533,532,-1,528,403,529,-1,529,531,536,-1,529,536,537,-1,529,537,538,-1,529,538,539,-1,540,533,535,-1,539,540,535,-1,529,539,535,-1,402,541,403,-1,403,541,531,-1,401,542,402,-1,402,542,541,-1,401,400,542,-1,399,543,400,-1,400,543,542,-1,399,397,543,-1,398,544,397,-1,397,544,543,-1,398,395,544,-1,396,545,395,-1,395,545,544,-1,396,394,545,-1,394,386,545,-1,387,546,386,-1,386,546,545,-1,393,547,387,-1,387,547,546,-1,393,392,547,-1,547,392,548,-1,548,392,391,-1,548,391,390,-1,390,389,548,-1,548,389,549,-1,549,389,388,-1,549,388,550,-1,550,388,385,-1,550,385,381,-1,550,381,551,-1,551,381,383,-1,383,384,551,-1,551,384,552,-1,384,382,552,-1,552,382,553,-1,554,553,555,-1,556,553,554,-1,557,553,556,-1,558,553,557,-1,559,553,558,-1,552,553,559,-1,560,561,562,-1,563,560,564,-1,564,560,562,-1,565,560,563,-1,463,560,565,-1,430,560,463,-1,566,560,430,-1,567,568,560,-1,569,570,571,-1,572,573,574,-1,553,560,575,-1,382,560,553,-1,407,560,382,-1,408,560,407,-1,576,560,408,-1,577,560,576,-1,578,560,577,-1,579,560,580,-1,581,582,583,-1,584,585,586,-1,587,560,568,-1,588,589,590,-1,591,560,592,-1,593,594,595,-1,575,560,591,-1,575,596,595,-1,596,593,595,-1,595,594,597,-1,591,596,575,-1,594,572,597,-1,572,574,597,-1,598,599,574,-1,586,573,584,-1,600,601,602,-1,590,603,588,-1,604,584,603,-1,605,606,607,-1,606,608,607,-1,609,610,583,-1,610,581,583,-1,583,582,611,-1,582,612,611,-1,611,613,431,-1,613,614,431,-1,601,615,602,-1,431,616,430,-1,616,617,430,-1,618,619,560,-1,617,620,430,-1,620,566,430,-1,621,588,622,-1,623,621,622,-1,571,622,569,-1,624,625,626,-1,571,623,622,-1,600,602,627,-1,604,603,628,-1,629,630,627,-1,586,631,573,-1,632,570,569,-1,587,592,560,-1,633,634,635,-1,598,573,631,-1,636,637,638,-1,574,573,598,-1,574,636,638,-1,574,599,636,-1,637,639,638,-1,638,640,635,-1,640,633,635,-1,635,634,627,-1,634,629,627,-1,632,606,605,-1,627,630,600,-1,602,615,626,-1,590,628,603,-1,615,641,626,-1,641,624,626,-1,626,625,605,-1,642,567,560,-1,625,643,605,-1,604,585,584,-1,643,644,605,-1,644,645,605,-1,645,646,605,-1,569,606,632,-1,646,632,605,-1,639,640,638,-1,612,613,611,-1,619,580,560,-1,621,589,588,-1,608,610,609,-1,608,609,607,-1,566,618,560,-1,614,616,431,-1,579,642,560,-1,408,647,576,-1,648,647,408,-1,408,649,648,-1,408,410,649,-1,408,409,410,-1,410,411,649,-1,649,411,412,-1,649,412,648,-1,648,412,647,-1,412,413,647,-1,647,413,650,-1,650,413,421,-1,415,414,578,-1,578,414,560,-1,414,416,560,-1,421,415,578,-1,416,417,560,-1,560,417,561,-1,417,418,561,-1,418,419,561,-1,561,419,420,-1,561,420,422,-1,577,421,578,-1,650,421,577,-1,561,422,562,-1,562,422,423,-1,562,423,424,-1,562,424,564,-1,564,424,425,-1,564,425,426,-1,564,426,563,-1,563,426,651,-1,426,427,651,-1,651,427,652,-1,652,427,428,-1,653,428,654,-1,428,429,654,-1,652,428,653,-1,654,429,462,-1,655,656,431,-1,431,457,657,-1,658,659,431,-1,660,431,657,-1,660,655,431,-1,659,661,431,-1,656,658,431,-1,661,611,431,-1,457,456,662,-1,657,457,662,-1,456,455,663,-1,662,456,663,-1,455,454,663,-1,454,453,664,-1,663,454,664,-1,453,452,664,-1,452,451,665,-1,664,452,665,-1,451,450,665,-1,450,449,666,-1,665,450,666,-1,449,448,666,-1,448,447,666,-1,447,446,667,-1,666,447,667,-1,446,445,668,-1,667,446,668,-1,668,445,444,-1,669,668,444,-1,669,444,443,-1,669,443,442,-1,669,442,441,-1,670,669,441,-1,670,441,440,-1,671,670,440,-1,439,671,440,-1,671,439,438,-1,672,671,438,-1,437,672,438,-1,672,437,433,-1,673,672,433,-1,433,435,674,-1,673,433,675,-1,675,433,674,-1,676,677,678,-1,679,677,676,-1,679,680,677,-1,680,681,677,-1,681,682,677,-1,682,683,677,-1,677,684,675,-1,684,673,675,-1,683,684,677,-1,435,685,674,-1,435,436,685,-1,686,687,688,-1,685,686,688,-1,689,675,688,-1,675,674,688,-1,674,685,688,-1,436,686,685,-1,436,434,686,-1,432,458,690,-1,434,432,686,-1,686,432,690,-1,464,691,692,-1,465,464,692,-1,690,460,692,-1,460,465,692,-1,458,460,690,-1,459,465,460,-1,462,461,463,-1,654,462,463,-1,653,654,463,-1,463,652,653,-1,565,652,463,-1,354,466,691,-1,464,354,691,-1,691,466,508,-1,466,509,508,-1,691,508,507,-1,692,691,507,-1,692,507,506,-1,687,692,506,-1,687,506,505,-1,688,687,505,-1,688,505,504,-1,693,688,504,-1,503,693,504,-1,694,693,503,-1,502,694,503,-1,695,694,502,-1,501,695,502,-1,696,695,501,-1,500,696,501,-1,697,696,500,-1,499,697,500,-1,698,697,499,-1,498,698,499,-1,699,698,498,-1,497,699,498,-1,700,699,497,-1,496,700,497,-1,701,700,496,-1,495,701,496,-1,702,701,495,-1,494,702,495,-1,703,702,494,-1,492,703,494,-1,704,703,492,-1,491,704,492,-1,491,705,704,-1,487,705,491,-1,487,706,705,-1,489,706,487,-1,489,707,706,-1,519,707,489,-1,519,708,707,-1,485,708,519,-1,485,709,708,-1,483,709,485,-1,483,710,709,-1,481,710,483,-1,481,711,710,-1,481,480,711,-1,480,712,711,-1,480,479,712,-1,479,713,712,-1,479,478,713,-1,478,714,713,-1,478,477,714,-1,477,715,714,-1,477,476,715,-1,476,526,715,-1,476,475,526,-1,526,475,525,-1,475,474,525,-1,525,474,522,-1,474,473,522,-1,522,473,521,-1,473,472,521,-1,482,716,717,-1,718,482,717,-1,718,719,482,-1,719,513,482,-1,513,719,720,-1,721,513,720,-1,721,722,513,-1,722,512,513,-1,484,723,724,-1,725,484,724,-1,725,716,484,-1,716,482,484,-1,726,727,518,-1,518,727,723,-1,518,723,484,-1,728,726,518,-1,728,518,729,-1,518,516,729,-1,516,730,729,-1,731,730,516,-1,731,516,732,-1,516,514,732,-1,514,733,732,-1,734,733,514,-1,734,514,722,-1,514,512,722,-1,520,735,736,-1,737,520,736,-1,737,738,520,-1,738,517,520,-1,486,739,740,-1,741,486,740,-1,741,735,486,-1,735,520,486,-1,488,742,743,-1,744,488,743,-1,744,739,488,-1,739,486,488,-1,745,746,490,-1,490,746,742,-1,490,742,488,-1,747,745,490,-1,747,490,748,-1,490,515,748,-1,515,749,748,-1,750,749,515,-1,750,515,751,-1,515,493,751,-1,493,752,751,-1,753,752,493,-1,753,493,738,-1,493,517,738,-1,522,523,525,-1,525,523,524,-1,526,530,715,-1,532,530,535,-1,715,530,532,-1,715,754,755,-1,755,756,715,-1,715,756,757,-1,754,715,532,-1,530,529,535,-1,754,532,534,-1,754,534,755,-1,534,533,755,-1,756,533,758,-1,759,760,761,-1,761,762,763,-1,761,764,759,-1,763,765,766,-1,763,766,767,-1,763,767,768,-1,763,764,761,-1,768,764,763,-1,769,764,768,-1,770,553,771,-1,772,773,774,-1,772,553,770,-1,774,775,555,-1,774,555,553,-1,774,553,772,-1,771,553,764,-1,771,764,769,-1,776,764,777,-1,755,533,756,-1,756,758,778,-1,756,778,779,-1,756,779,780,-1,756,780,759,-1,756,759,764,-1,756,764,776,-1,540,781,533,-1,533,781,758,-1,782,781,539,-1,539,781,540,-1,539,538,782,-1,783,782,537,-1,537,782,538,-1,537,536,783,-1,531,541,536,-1,536,541,783,-1,541,542,784,-1,783,541,785,-1,785,541,784,-1,542,543,786,-1,784,542,786,-1,543,544,787,-1,786,543,787,-1,544,545,788,-1,787,544,788,-1,788,545,546,-1,546,547,789,-1,788,546,790,-1,790,546,789,-1,789,547,791,-1,791,547,792,-1,547,548,792,-1,792,548,549,-1,793,549,550,-1,792,549,793,-1,794,550,551,-1,794,793,550,-1,795,551,796,-1,551,552,796,-1,796,552,559,-1,795,794,551,-1,796,559,558,-1,796,558,797,-1,797,558,557,-1,556,797,557,-1,797,556,798,-1,798,556,554,-1,798,554,775,-1,775,554,555,-1,764,553,575,-1,576,650,577,-1,647,650,576,-1,799,575,595,-1,764,575,800,-1,800,575,801,-1,801,575,802,-1,802,575,803,-1,803,575,799,-1,799,595,804,-1,804,595,805,-1,805,595,806,-1,806,595,807,-1,807,595,808,-1,808,595,597,-1,808,597,809,-1,809,597,574,-1,809,574,810,-1,810,574,638,-1,810,638,811,-1,811,638,812,-1,812,638,635,-1,812,635,813,-1,813,635,814,-1,814,635,627,-1,815,627,816,-1,816,627,817,-1,627,602,817,-1,814,627,818,-1,818,627,815,-1,819,602,820,-1,602,626,820,-1,817,602,819,-1,820,626,821,-1,821,626,822,-1,626,605,822,-1,822,605,823,-1,605,607,823,-1,607,609,824,-1,823,607,824,-1,825,609,826,-1,826,609,827,-1,827,609,828,-1,828,609,829,-1,609,583,829,-1,824,609,825,-1,829,583,830,-1,830,583,831,-1,831,583,832,-1,832,583,833,-1,833,583,834,-1,583,611,834,-1,679,676,835,-1,836,679,837,-1,837,679,835,-1,838,679,836,-1,834,679,838,-1,839,679,834,-1,611,661,834,-1,661,840,834,-1,840,841,834,-1,841,842,834,-1,842,843,834,-1,843,844,834,-1,844,845,834,-1,845,846,834,-1,846,847,834,-1,847,848,834,-1,848,849,834,-1,849,850,834,-1,850,851,834,-1,851,852,834,-1,852,853,834,-1,853,854,834,-1,854,855,834,-1,855,856,834,-1,856,857,834,-1,857,839,834,-1,858,679,839,-1,565,651,652,-1,563,651,565,-1,580,859,860,-1,579,580,860,-1,619,859,580,-1,618,861,734,-1,721,618,722,-1,722,618,734,-1,859,618,721,-1,619,618,859,-1,566,861,618,-1,620,862,861,-1,566,620,861,-1,617,862,620,-1,616,863,731,-1,733,616,732,-1,732,616,731,-1,862,616,733,-1,617,616,862,-1,614,863,616,-1,864,863,613,-1,613,863,614,-1,612,864,613,-1,612,582,865,-1,729,612,728,-1,728,612,865,-1,730,612,729,-1,864,612,730,-1,582,581,865,-1,581,610,866,-1,865,581,866,-1,610,608,866,-1,608,606,726,-1,866,608,726,-1,606,569,726,-1,569,622,726,-1,726,622,867,-1,622,588,867,-1,867,588,603,-1,868,867,603,-1,603,584,868,-1,868,723,727,-1,584,723,868,-1,724,723,584,-1,573,724,584,-1,869,724,573,-1,573,572,869,-1,869,572,594,-1,870,869,594,-1,594,593,870,-1,870,716,725,-1,593,716,870,-1,717,716,593,-1,596,717,593,-1,871,717,596,-1,871,596,591,-1,872,871,591,-1,592,872,591,-1,872,592,587,-1,873,720,719,-1,587,873,719,-1,718,872,719,-1,872,587,719,-1,587,568,873,-1,873,568,567,-1,860,873,567,-1,642,860,567,-1,860,642,579,-1,589,874,875,-1,590,589,875,-1,621,874,589,-1,623,876,753,-1,737,623,738,-1,738,623,753,-1,874,623,737,-1,621,623,874,-1,571,876,623,-1,570,877,876,-1,571,570,876,-1,632,877,570,-1,646,878,750,-1,752,646,751,-1,751,646,750,-1,877,646,752,-1,632,646,877,-1,645,878,646,-1,879,878,644,-1,644,878,645,-1,643,879,644,-1,643,625,880,-1,748,643,747,-1,747,643,880,-1,749,643,748,-1,879,643,749,-1,625,624,880,-1,624,641,881,-1,880,624,881,-1,641,615,881,-1,615,601,745,-1,881,615,745,-1,601,600,745,-1,600,630,745,-1,745,630,882,-1,630,629,882,-1,882,629,634,-1,883,882,634,-1,634,633,883,-1,883,742,746,-1,633,742,883,-1,743,742,633,-1,640,743,633,-1,884,743,640,-1,640,639,884,-1,884,639,637,-1,885,884,637,-1,637,636,885,-1,885,739,744,-1,636,739,885,-1,740,739,636,-1,599,740,636,-1,886,740,599,-1,886,599,598,-1,887,886,598,-1,631,887,598,-1,887,631,586,-1,888,736,735,-1,586,888,735,-1,741,887,735,-1,887,586,735,-1,586,585,888,-1,888,585,604,-1,875,888,604,-1,628,875,604,-1,875,628,590,-1,661,659,889,-1,840,661,889,-1,658,890,889,-1,659,658,889,-1,658,656,890,-1,656,655,891,-1,890,656,891,-1,655,660,891,-1,660,657,662,-1,891,660,662,-1,891,662,892,-1,892,662,893,-1,662,663,893,-1,893,663,894,-1,663,664,894,-1,894,664,895,-1,664,665,895,-1,895,665,896,-1,665,666,896,-1,896,666,667,-1,896,667,897,-1,897,667,898,-1,667,668,898,-1,898,668,899,-1,899,668,900,-1,668,669,900,-1,900,669,670,-1,900,670,901,-1,901,670,671,-1,902,901,671,-1,902,671,672,-1,903,902,672,-1,903,672,904,-1,904,672,673,-1,684,904,673,-1,904,684,683,-1,905,904,683,-1,682,905,683,-1,905,682,681,-1,906,905,681,-1,680,906,681,-1,858,906,680,-1,679,858,680,-1,835,676,907,-1,676,678,907,-1,689,688,693,-1,678,689,693,-1,908,837,693,-1,837,835,693,-1,835,907,693,-1,907,678,693,-1,678,677,689,-1,677,675,689,-1,690,692,687,-1,686,690,687,-1,908,693,694,-1,909,908,694,-1,909,694,695,-1,910,909,695,-1,911,912,695,-1,912,910,695,-1,910,913,909,-1,911,695,696,-1,914,911,696,-1,914,696,697,-1,915,914,697,-1,915,697,698,-1,916,915,698,-1,917,918,698,-1,918,916,698,-1,917,698,699,-1,919,917,699,-1,919,699,700,-1,920,919,700,-1,921,922,700,-1,922,920,700,-1,921,700,701,-1,923,921,701,-1,924,925,701,-1,925,923,701,-1,924,701,702,-1,926,924,702,-1,926,702,703,-1,927,926,703,-1,928,929,703,-1,929,927,703,-1,928,703,704,-1,930,928,704,-1,704,705,931,-1,930,704,931,-1,705,706,932,-1,933,705,934,-1,934,705,932,-1,931,705,933,-1,706,707,935,-1,932,706,935,-1,707,708,936,-1,937,707,938,-1,938,707,936,-1,935,707,937,-1,709,939,708,-1,708,939,940,-1,708,940,941,-1,941,936,708,-1,710,942,709,-1,709,942,939,-1,711,943,710,-1,710,943,944,-1,710,944,945,-1,945,942,710,-1,712,946,711,-1,711,946,943,-1,713,947,712,-1,712,947,946,-1,714,948,713,-1,949,948,950,-1,713,948,949,-1,713,951,947,-1,951,713,949,-1,715,757,714,-1,714,757,948,-1,717,871,872,-1,718,717,872,-1,859,721,720,-1,860,859,873,-1,873,859,720,-1,724,869,870,-1,725,724,870,-1,726,867,868,-1,727,726,868,-1,865,866,726,-1,728,865,726,-1,863,864,730,-1,731,863,730,-1,861,862,733,-1,734,861,733,-1,874,737,736,-1,875,874,888,-1,888,874,736,-1,740,886,887,-1,741,740,887,-1,743,884,885,-1,744,743,885,-1,745,882,883,-1,746,745,883,-1,880,881,745,-1,747,880,745,-1,878,879,749,-1,750,878,749,-1,876,877,752,-1,753,876,752,-1,757,756,776,-1,950,757,776,-1,950,948,757,-1,776,777,950,-1,950,777,952,-1,950,952,949,-1,953,952,777,-1,954,953,777,-1,777,764,954,-1,954,764,955,-1,764,800,955,-1,798,775,956,-1,956,775,774,-1,773,956,774,-1,956,773,957,-1,957,773,772,-1,770,957,772,-1,957,770,958,-1,958,770,771,-1,769,958,771,-1,958,769,959,-1,959,769,768,-1,767,959,768,-1,766,959,767,-1,960,959,765,-1,765,959,766,-1,960,765,961,-1,961,765,763,-1,961,763,962,-1,962,763,762,-1,761,962,762,-1,760,962,761,-1,963,962,759,-1,759,962,760,-1,759,780,963,-1,964,963,779,-1,779,963,780,-1,779,778,964,-1,781,964,758,-1,758,964,778,-1,781,782,965,-1,964,781,966,-1,781,965,966,-1,782,783,967,-1,782,967,965,-1,783,785,967,-1,784,786,968,-1,785,784,969,-1,969,784,968,-1,967,785,970,-1,785,969,970,-1,786,787,971,-1,968,786,971,-1,787,788,972,-1,971,787,972,-1,972,788,790,-1,789,791,973,-1,790,789,974,-1,974,789,973,-1,972,790,975,-1,975,790,974,-1,973,791,976,-1,976,791,977,-1,791,792,977,-1,977,792,793,-1,978,793,794,-1,977,793,978,-1,979,794,795,-1,979,978,794,-1,980,795,981,-1,981,795,796,-1,980,979,795,-1,981,796,797,-1,798,982,797,-1,982,981,797,-1,956,983,798,-1,983,982,798,-1,799,804,984,-1,803,799,985,-1,985,799,984,-1,955,800,986,-1,986,800,987,-1,800,801,987,-1,987,801,988,-1,801,802,988,-1,802,803,988,-1,988,803,989,-1,989,803,985,-1,804,805,984,-1,805,806,990,-1,984,805,990,-1,990,806,991,-1,806,807,991,-1,991,807,808,-1,991,808,992,-1,992,808,809,-1,992,809,810,-1,992,810,993,-1,993,810,811,-1,994,811,995,-1,995,811,812,-1,993,811,994,-1,995,812,996,-1,996,812,813,-1,996,813,814,-1,996,814,997,-1,997,814,818,-1,815,816,998,-1,999,818,815,-1,999,815,1000,-1,1000,815,998,-1,998,816,1001,-1,816,817,1001,-1,817,819,1002,-1,1001,817,1002,-1,997,818,999,-1,819,820,1002,-1,1002,820,1003,-1,820,821,1003,-1,1004,821,1005,-1,821,822,1005,-1,1003,821,1004,-1,1005,822,1006,-1,822,823,1006,-1,823,824,1006,-1,824,825,1007,-1,1006,824,1007,-1,1007,825,826,-1,1007,826,1008,-1,1008,826,827,-1,1009,827,828,-1,1008,827,1009,-1,1009,828,829,-1,1009,829,1010,-1,1010,829,830,-1,1011,830,1012,-1,1012,830,831,-1,1010,830,1011,-1,1012,831,832,-1,1012,832,1013,-1,1013,832,833,-1,1013,833,1014,-1,1014,833,1015,-1,1015,833,834,-1,834,838,1016,-1,1015,834,1016,-1,1017,906,858,-1,839,1017,858,-1,857,1017,839,-1,1018,1017,857,-1,856,1018,857,-1,855,1018,856,-1,1019,1018,855,-1,854,1019,855,-1,853,1019,854,-1,1020,1019,853,-1,852,1020,853,-1,851,1020,852,-1,850,1020,851,-1,849,1021,1020,-1,850,849,1020,-1,1022,1021,849,-1,848,1022,849,-1,1023,1022,848,-1,847,1023,848,-1,846,1023,847,-1,845,1023,846,-1,844,1024,1023,-1,845,844,1023,-1,844,843,1024,-1,842,1025,1024,-1,843,842,1024,-1,842,841,1025,-1,840,889,1025,-1,841,840,1025,-1,838,1026,1016,-1,838,1027,1026,-1,838,836,913,-1,910,838,913,-1,910,1027,838,-1,836,837,908,-1,913,836,909,-1,909,836,908,-1,1025,889,1028,-1,889,1029,1028,-1,889,890,1029,-1,890,1030,1029,-1,890,891,1030,-1,1030,891,892,-1,1030,892,1031,-1,1031,892,1032,-1,892,893,1032,-1,1032,893,1033,-1,893,894,1033,-1,1033,894,1034,-1,894,895,1034,-1,1034,895,1035,-1,895,896,1035,-1,1035,896,897,-1,1035,897,1036,-1,1036,897,1037,-1,897,898,1037,-1,1037,898,1038,-1,898,899,1038,-1,1038,899,1039,-1,1039,899,1040,-1,899,900,1040,-1,1040,900,901,-1,1040,901,1041,-1,1041,901,902,-1,1042,1041,902,-1,1042,902,903,-1,1043,1042,903,-1,1043,903,1044,-1,1044,903,904,-1,1044,904,905,-1,1045,1044,905,-1,1045,905,906,-1,1046,1045,906,-1,1017,1046,906,-1,1027,910,912,-1,1047,1027,912,-1,914,1047,911,-1,911,1047,912,-1,1048,914,915,-1,1048,915,916,-1,1048,916,1049,-1,1049,916,918,-1,1049,918,1050,-1,1050,918,917,-1,1050,917,919,-1,919,920,1050,-1,1050,920,1051,-1,1051,920,922,-1,1051,922,1052,-1,1052,922,921,-1,1052,921,923,-1,1052,923,1053,-1,1053,923,925,-1,1053,925,1054,-1,1054,925,924,-1,1054,924,926,-1,926,927,1054,-1,1054,927,1055,-1,1055,927,929,-1,1055,929,1056,-1,1056,929,928,-1,1056,928,930,-1,1057,1058,933,-1,931,1058,930,-1,933,1058,931,-1,933,934,1057,-1,1059,1060,937,-1,934,1060,1057,-1,932,1060,934,-1,935,1060,932,-1,937,1060,935,-1,937,938,1059,-1,1061,1062,941,-1,938,1062,1059,-1,936,1062,938,-1,941,1062,936,-1,941,940,1061,-1,1063,1064,945,-1,940,1064,1061,-1,939,1064,940,-1,942,1064,939,-1,945,1064,942,-1,945,944,1063,-1,944,1065,1063,-1,943,1065,944,-1,946,1065,943,-1,952,1066,951,-1,947,1066,946,-1,951,1066,947,-1,951,949,952,-1,1066,952,953,-1,1067,953,1068,-1,1068,953,954,-1,1067,1066,953,-1,954,955,1069,-1,1069,955,1070,-1,1071,1068,954,-1,1071,954,1069,-1,1070,955,1072,-1,955,986,1072,-1,957,1073,956,-1,1073,983,956,-1,958,1074,957,-1,1074,1073,957,-1,959,1075,958,-1,1075,1074,958,-1,960,1075,959,-1,961,1076,960,-1,960,1077,1075,-1,1076,1077,960,-1,1078,1079,961,-1,962,1078,961,-1,1079,1076,961,-1,963,1078,962,-1,963,964,1080,-1,963,1080,1078,-1,964,966,1080,-1,965,967,1081,-1,966,965,1082,-1,965,1081,1082,-1,1080,966,1083,-1,966,1082,1083,-1,967,970,1081,-1,968,971,1084,-1,969,968,1085,-1,1085,968,1084,-1,970,969,1086,-1,969,1085,1086,-1,1081,970,1087,-1,970,1086,1087,-1,971,972,1088,-1,1084,971,1088,-1,1088,972,975,-1,973,976,1089,-1,974,973,1090,-1,1090,973,1089,-1,975,974,1091,-1,1091,974,1090,-1,1088,975,1092,-1,1092,975,1091,-1,1089,976,1093,-1,1093,976,1094,-1,976,977,1094,-1,1094,977,978,-1,1095,978,979,-1,1095,1094,978,-1,1096,979,980,-1,1096,1095,979,-1,1097,980,1098,-1,1098,980,981,-1,1097,1096,980,-1,1098,981,982,-1,983,1099,982,-1,1099,1098,982,-1,1073,1100,983,-1,1100,1099,983,-1,985,984,1101,-1,1101,984,1102,-1,984,990,1102,-1,989,985,1103,-1,1103,985,1104,-1,1104,985,1101,-1,986,987,1072,-1,1072,987,1105,-1,1105,987,1106,-1,987,988,1106,-1,1106,988,1103,-1,988,989,1103,-1,990,991,1102,-1,1102,991,992,-1,1102,992,993,-1,1102,993,1107,-1,1107,993,994,-1,1108,994,995,-1,1107,994,1109,-1,1109,994,1108,-1,1108,995,1110,-1,1110,995,996,-1,1110,996,997,-1,1110,997,1111,-1,1111,997,999,-1,1000,998,1112,-1,1112,998,1113,-1,1113,998,1114,-1,998,1001,1114,-1,1115,999,1112,-1,1112,999,1000,-1,1111,999,1115,-1,1114,1001,1116,-1,1001,1002,1116,-1,1002,1003,1116,-1,1116,1003,1117,-1,1003,1004,1117,-1,1117,1004,1118,-1,1118,1004,1119,-1,1004,1005,1119,-1,1119,1005,1120,-1,1005,1006,1120,-1,1006,1007,1120,-1,1120,1007,1008,-1,1120,1008,1009,-1,1120,1009,1121,-1,1121,1009,1010,-1,1122,1010,1123,-1,1123,1010,1011,-1,1121,1010,1122,-1,1123,1011,1012,-1,1123,1012,1124,-1,1124,1012,1013,-1,1124,1013,1125,-1,1125,1013,1126,-1,1126,1013,1014,-1,1126,1014,1015,-1,1126,1015,1127,-1,1015,1016,1128,-1,1127,1015,1128,-1,1128,1016,1129,-1,1016,1130,1129,-1,1016,1026,1130,-1,1131,1046,1017,-1,1018,1131,1017,-1,1132,1131,1018,-1,1019,1132,1018,-1,1133,1132,1019,-1,1020,1133,1019,-1,1021,1133,1020,-1,1021,1134,1133,-1,1135,1134,1021,-1,1022,1135,1021,-1,1136,1135,1022,-1,1137,1136,1022,-1,1023,1137,1022,-1,1024,1137,1023,-1,1024,1138,1137,-1,1024,1025,1138,-1,1025,1028,1138,-1,1130,1026,1139,-1,1026,1047,1139,-1,1026,1027,1047,-1,1138,1028,1140,-1,1028,1141,1140,-1,1028,1029,1141,-1,1029,1142,1141,-1,1029,1030,1142,-1,1030,1031,1142,-1,1142,1031,1143,-1,1031,1144,1143,-1,1031,1032,1144,-1,1144,1032,1145,-1,1032,1033,1145,-1,1145,1033,1146,-1,1033,1034,1146,-1,1146,1034,1147,-1,1034,1035,1147,-1,1147,1035,1036,-1,1147,1036,1148,-1,1148,1036,1149,-1,1036,1037,1149,-1,1149,1037,1150,-1,1037,1038,1150,-1,1150,1038,1151,-1,1038,1039,1151,-1,1151,1039,1152,-1,1152,1039,1153,-1,1039,1040,1153,-1,1153,1040,1041,-1,1154,1153,1041,-1,1154,1041,1042,-1,1155,1154,1042,-1,1155,1042,1043,-1,1156,1155,1043,-1,1156,1043,1157,-1,1157,1043,1044,-1,1157,1044,1045,-1,1158,1157,1045,-1,1158,1045,1046,-1,1159,1158,1046,-1,1131,1159,1046,-1,1139,1047,1160,-1,1047,1161,1160,-1,1047,914,1161,-1,1160,914,1048,-1,1161,914,1160,-1,1160,1048,1162,-1,1048,1163,1162,-1,1048,1049,1163,-1,1163,1049,1164,-1,1164,1049,1050,-1,1050,1051,1165,-1,1164,1050,1166,-1,1166,1050,1167,-1,1050,1165,1167,-1,1165,1051,1052,-1,1052,1053,1168,-1,1167,1165,1052,-1,1167,1052,1169,-1,1169,1052,1168,-1,1168,1053,1170,-1,1170,1053,1054,-1,1171,1170,1054,-1,1171,1054,1172,-1,1172,1054,1173,-1,1054,1055,1173,-1,1173,1055,1056,-1,1056,930,1174,-1,1172,1173,1056,-1,1172,1056,1175,-1,1175,1056,1174,-1,1176,930,1177,-1,1177,930,1058,-1,1174,930,1176,-1,1178,1058,1179,-1,1058,1180,1179,-1,1058,1057,1180,-1,1177,1058,1178,-1,1180,1057,1060,-1,1179,1060,1181,-1,1060,1182,1181,-1,1060,1059,1182,-1,1180,1060,1179,-1,1183,1059,1062,-1,1182,1059,1183,-1,1183,1062,1184,-1,1184,1062,1185,-1,1062,1186,1185,-1,1062,1061,1186,-1,1186,1061,1064,-1,1187,1064,1188,-1,1064,1063,1188,-1,1185,1186,1064,-1,1185,1064,1187,-1,1188,1063,1189,-1,1189,1063,1065,-1,1190,1189,1065,-1,1190,1065,1191,-1,1065,946,1191,-1,1191,946,1192,-1,1192,946,1066,-1,1191,1192,1066,-1,1191,1066,1067,-1,1193,1191,1067,-1,1193,1067,1194,-1,1194,1067,1071,-1,1071,1067,1068,-1,1195,1071,1069,-1,1195,1069,1196,-1,1069,1070,1196,-1,1196,1070,1197,-1,1197,1070,1198,-1,1070,1072,1198,-1,1199,1194,1071,-1,1199,1071,1195,-1,1198,1072,1200,-1,1072,1105,1200,-1,1074,1201,1073,-1,1201,1100,1073,-1,1075,1202,1074,-1,1202,1201,1074,-1,1077,1202,1075,-1,1079,1203,1076,-1,1076,1204,1077,-1,1203,1204,1076,-1,1077,1205,1202,-1,1204,1205,1077,-1,1080,1206,1078,-1,1078,1206,1079,-1,1206,1207,1079,-1,1207,1203,1079,-1,1080,1083,1206,-1,1082,1081,1208,-1,1081,1087,1208,-1,1083,1082,1209,-1,1082,1208,1209,-1,1206,1083,1210,-1,1083,1209,1210,-1,1084,1088,1211,-1,1085,1084,1212,-1,1212,1084,1211,-1,1086,1085,1213,-1,1085,1212,1213,-1,1087,1086,1214,-1,1086,1213,1214,-1,1208,1087,1215,-1,1087,1214,1215,-1,1211,1088,1092,-1,1216,1151,1093,-1,1151,1152,1093,-1,1216,1093,1094,-1,1216,1094,1095,-1,1217,1095,1096,-1,1217,1216,1095,-1,1096,1097,1218,-1,1218,1217,1096,-1,1097,1219,1220,-1,1219,1097,1098,-1,1220,1218,1097,-1,1219,1098,1099,-1,1100,1221,1099,-1,1221,1219,1099,-1,1201,1222,1100,-1,1222,1221,1100,-1,1223,1101,1224,-1,1101,1102,1224,-1,1104,1101,1223,-1,1224,1102,1107,-1,1106,1103,1225,-1,1225,1103,1226,-1,1226,1103,1223,-1,1103,1104,1223,-1,1105,1106,1200,-1,1200,1106,1225,-1,1227,1107,1109,-1,1224,1107,1227,-1,1227,1109,1108,-1,1227,1108,1228,-1,1228,1108,1110,-1,1228,1110,1229,-1,1229,1110,1230,-1,1230,1110,1111,-1,1230,1111,1115,-1,1231,1115,1112,-1,1231,1112,1232,-1,1232,1112,1233,-1,1112,1113,1233,-1,1233,1113,1234,-1,1113,1114,1234,-1,1114,1116,1234,-1,1230,1115,1231,-1,1234,1116,1235,-1,1235,1116,1236,-1,1116,1117,1236,-1,1236,1117,1237,-1,1117,1118,1237,-1,1118,1119,1237,-1,1119,1120,1238,-1,1237,1119,1238,-1,1238,1120,1121,-1,1238,1121,1239,-1,1239,1121,1122,-1,1239,1122,1123,-1,1239,1123,1240,-1,1240,1123,1241,-1,1241,1123,1124,-1,1241,1124,1242,-1,1242,1124,1125,-1,1242,1125,1126,-1,1242,1126,1243,-1,1243,1126,1127,-1,1127,1128,1244,-1,1245,1127,1244,-1,1243,1127,1245,-1,1128,1129,1246,-1,1244,1128,1246,-1,1246,1129,1247,-1,1129,1248,1247,-1,1129,1139,1248,-1,1130,1139,1129,-1,1249,1159,1131,-1,1132,1249,1131,-1,1250,1249,1132,-1,1133,1250,1132,-1,1134,1250,1133,-1,1134,1251,1250,-1,1252,1251,1134,-1,1135,1252,1134,-1,1253,1252,1135,-1,1136,1253,1135,-1,1254,1253,1136,-1,1255,1254,1136,-1,1137,1255,1136,-1,1138,1255,1137,-1,1138,1140,1255,-1,1248,1139,1256,-1,1139,1160,1256,-1,1255,1140,1257,-1,1140,1258,1257,-1,1140,1141,1258,-1,1141,1259,1258,-1,1141,1142,1259,-1,1142,1143,1259,-1,1259,1143,1260,-1,1143,1261,1260,-1,1143,1144,1261,-1,1144,1262,1261,-1,1144,1145,1262,-1,1262,1145,1263,-1,1145,1146,1263,-1,1263,1146,1264,-1,1146,1147,1264,-1,1264,1147,1148,-1,1152,1265,1089,-1,1152,1089,1093,-1,1265,1152,1153,-1,1265,1153,1154,-1,1266,1265,1154,-1,1266,1154,1155,-1,1267,1266,1155,-1,1267,1155,1156,-1,1268,1267,1156,-1,1268,1156,1269,-1,1269,1156,1157,-1,1269,1157,1158,-1,1270,1269,1158,-1,1270,1158,1159,-1,1271,1270,1159,-1,1249,1271,1159,-1,1256,1160,1162,-1,1256,1162,1272,-1,1272,1162,1273,-1,1273,1162,1166,-1,1162,1164,1166,-1,1162,1163,1164,-1,1273,1166,1274,-1,1166,1169,1274,-1,1166,1167,1169,-1,1169,1168,1171,-1,1168,1170,1171,-1,1274,1169,1275,-1,1275,1169,1276,-1,1169,1171,1276,-1,1276,1171,1172,-1,1276,1172,1277,-1,1277,1172,1278,-1,1278,1172,1175,-1,1279,1174,1176,-1,1175,1174,1280,-1,1280,1174,1279,-1,1278,1175,1280,-1,1176,1177,1279,-1,1279,1177,1281,-1,1281,1177,1178,-1,1178,1179,1282,-1,1281,1178,1282,-1,1283,1179,1284,-1,1179,1181,1284,-1,1282,1179,1283,-1,1284,1181,1184,-1,1181,1183,1184,-1,1181,1182,1183,-1,1284,1184,1285,-1,1285,1184,1286,-1,1286,1184,1187,-1,1184,1185,1187,-1,1187,1190,1287,-1,1187,1188,1190,-1,1286,1187,1287,-1,1188,1189,1190,-1,1287,1190,1288,-1,1288,1190,1193,-1,1190,1191,1193,-1,1288,1193,1199,-1,1199,1193,1194,-1,1289,1195,1290,-1,1290,1195,1291,-1,1291,1195,1196,-1,1289,1199,1195,-1,1291,1196,1197,-1,1292,1291,1197,-1,1197,1198,1292,-1,1292,1198,1293,-1,1293,1198,1294,-1,1198,1200,1294,-1,1295,1288,1199,-1,1295,1199,1289,-1,1294,1200,1296,-1,1200,1225,1296,-1,1202,1297,1201,-1,1297,1222,1201,-1,1205,1297,1202,-1,1298,1203,1207,-1,1299,1204,1203,-1,1298,1299,1203,-1,1300,1205,1204,-1,1299,1300,1204,-1,1301,1297,1205,-1,1300,1301,1205,-1,1206,1210,1207,-1,1210,1302,1207,-1,1302,1298,1207,-1,1209,1208,1303,-1,1208,1215,1303,-1,1210,1209,1304,-1,1209,1303,1304,-1,1304,1302,1210,-1,1089,1266,1090,-1,1265,1266,1089,-1,1090,1267,1091,-1,1266,1267,1090,-1,1091,1268,1092,-1,1267,1268,1091,-1,1092,1305,1211,-1,1268,1305,1092,-1,1216,1217,1150,-1,1151,1216,1150,-1,1217,1218,1149,-1,1150,1217,1149,-1,1220,1148,1218,-1,1218,1148,1149,-1,1306,1264,1220,-1,1220,1264,1148,-1,1307,1263,1306,-1,1306,1263,1264,-1,1308,1262,1307,-1,1307,1262,1263,-1,1301,1261,1308,-1,1308,1261,1262,-1,1300,1260,1301,-1,1301,1260,1261,-1,1299,1309,1300,-1,1300,1309,1260,-1,1298,1310,1299,-1,1299,1310,1309,-1,1298,1302,1311,-1,1298,1311,1310,-1,1301,1308,1297,-1,1308,1222,1297,-1,1308,1307,1222,-1,1307,1221,1222,-1,1307,1306,1221,-1,1219,1221,1306,-1,1306,1220,1219,-1,1226,1223,1312,-1,1223,1227,1312,-1,1223,1224,1227,-1,1225,1226,1296,-1,1296,1226,1313,-1,1313,1226,1312,-1,1312,1227,1314,-1,1314,1227,1228,-1,1314,1228,1229,-1,1314,1229,1315,-1,1315,1229,1316,-1,1316,1229,1230,-1,1316,1230,1317,-1,1317,1230,1231,-1,1317,1231,1232,-1,1232,1233,1318,-1,1317,1232,1319,-1,1319,1232,1318,-1,1233,1234,1318,-1,1318,1234,1320,-1,1234,1235,1320,-1,1320,1235,1321,-1,1321,1235,1322,-1,1235,1236,1322,-1,1236,1237,1322,-1,1322,1237,1323,-1,1323,1237,1239,-1,1237,1238,1239,-1,1323,1239,1240,-1,1323,1240,1324,-1,1324,1240,1325,-1,1325,1240,1241,-1,1325,1241,1242,-1,1325,1242,1326,-1,1326,1242,1243,-1,1326,1243,1327,-1,1327,1243,1328,-1,1328,1243,1245,-1,1245,1244,1329,-1,1328,1245,1329,-1,1244,1246,1329,-1,1329,1246,1330,-1,1330,1246,1331,-1,1246,1247,1331,-1,1247,1272,1332,-1,1247,1256,1272,-1,1248,1256,1247,-1,1331,1247,1332,-1,1333,1271,1249,-1,1250,1333,1249,-1,1251,1333,1250,-1,1251,1334,1333,-1,1335,1334,1251,-1,1335,1251,1252,-1,1336,1335,1252,-1,1336,1252,1253,-1,1337,1336,1253,-1,1337,1253,1254,-1,1311,1337,1254,-1,1257,1311,1254,-1,1255,1257,1254,-1,1310,1311,1257,-1,1257,1258,1310,-1,1258,1309,1310,-1,1258,1259,1309,-1,1259,1260,1309,-1,1338,1212,1211,-1,1211,1305,1338,-1,1339,1213,1212,-1,1338,1339,1212,-1,1334,1214,1213,-1,1213,1339,1334,-1,1335,1215,1214,-1,1214,1334,1335,-1,1303,1215,1336,-1,1336,1215,1335,-1,1304,1303,1337,-1,1337,1303,1336,-1,1311,1302,1304,-1,1311,1304,1337,-1,1334,1339,1333,-1,1333,1339,1271,-1,1339,1338,1271,-1,1338,1270,1271,-1,1338,1305,1270,-1,1305,1269,1270,-1,1305,1268,1269,-1,1272,1273,1332,-1,1332,1273,1340,-1,1340,1273,1274,-1,1341,1274,1275,-1,1340,1274,1341,-1,1275,1276,1277,-1,1341,1275,1342,-1,1342,1275,1343,-1,1275,1277,1343,-1,1343,1277,1344,-1,1344,1277,1278,-1,1344,1278,1345,-1,1345,1278,1346,-1,1278,1280,1346,-1,1346,1280,1279,-1,1346,1279,1347,-1,1347,1279,1348,-1,1279,1281,1348,-1,1348,1281,1282,-1,1349,1282,1350,-1,1282,1283,1350,-1,1348,1282,1349,-1,1283,1284,1285,-1,1350,1283,1351,-1,1351,1283,1285,-1,1351,1285,1352,-1,1352,1285,1353,-1,1285,1286,1353,-1,1286,1287,1354,-1,1353,1286,1354,-1,1354,1287,1295,-1,1295,1287,1288,-1,1355,1295,1289,-1,1355,1289,1356,-1,1356,1289,1290,-1,1356,1290,1291,-1,1356,1291,1357,-1,1357,1291,1292,-1,1358,1357,1292,-1,1358,1292,1359,-1,1292,1293,1359,-1,1293,1294,1359,-1,1359,1294,1360,-1,1294,1296,1360,-1,1353,1354,1295,-1,1353,1295,1361,-1,1361,1295,1355,-1,1296,1313,1362,-1,1360,1296,1363,-1,1363,1296,1362,-1,1313,1312,1362,-1,1362,1312,1314,-1,1362,1314,1364,-1,1364,1314,1315,-1,1364,1315,1316,-1,1364,1316,1365,-1,1365,1316,1366,-1,1366,1316,1317,-1,1366,1317,1367,-1,1367,1317,1319,-1,1319,1318,1367,-1,1367,1318,1368,-1,1318,1320,1368,-1,1368,1320,1369,-1,1369,1320,1370,-1,1320,1321,1370,-1,1321,1322,1370,-1,1370,1322,1371,-1,1322,1323,1371,-1,1371,1323,1324,-1,1371,1324,1325,-1,1371,1325,1372,-1,1372,1325,1373,-1,1373,1325,1326,-1,1373,1326,1374,-1,1374,1326,1327,-1,1374,1327,1328,-1,1374,1328,1375,-1,1328,1329,1376,-1,1375,1328,1376,-1,1329,1330,1377,-1,1376,1329,1377,-1,1330,1331,1377,-1,1377,1331,1378,-1,1331,1332,1378,-1,1378,1332,1379,-1,1379,1332,1341,-1,1332,1340,1341,-1,1379,1341,1342,-1,1380,1342,1381,-1,1342,1344,1381,-1,1342,1343,1344,-1,1379,1342,1382,-1,1382,1342,1380,-1,1381,1344,1383,-1,1383,1344,1345,-1,1383,1345,1384,-1,1384,1345,1385,-1,1345,1347,1385,-1,1345,1346,1347,-1,1347,1348,1349,-1,1385,1347,1349,-1,1385,1349,1384,-1,1384,1349,1386,-1,1349,1350,1386,-1,1350,1351,1352,-1,1386,1350,1387,-1,1387,1350,1352,-1,1387,1352,1388,-1,1388,1352,1389,-1,1389,1352,1361,-1,1352,1353,1361,-1,1390,1355,1356,-1,1389,1361,1355,-1,1389,1355,1391,-1,1391,1355,1390,-1,1390,1356,1392,-1,1392,1356,1357,-1,1392,1357,1358,-1,1393,1392,1358,-1,1358,1359,1393,-1,1393,1359,1394,-1,1359,1360,1394,-1,1394,1360,1395,-1,1395,1360,1396,-1,1360,1363,1396,-1,1363,1362,1364,-1,1363,1364,1396,-1,1396,1364,1397,-1,1397,1364,1365,-1,1397,1365,1366,-1,1397,1366,1398,-1,1398,1366,1399,-1,1399,1366,1367,-1,1367,1368,1399,-1,1399,1368,1400,-1,1400,1368,1401,-1,1368,1369,1401,-1,1369,1370,1401,-1,1401,1370,1402,-1,1402,1370,1372,-1,1370,1371,1372,-1,1402,1372,1373,-1,1402,1373,1403,-1,1403,1373,1404,-1,1404,1373,1374,-1,1404,1374,1405,-1,1405,1374,1375,-1,1375,1376,1406,-1,1405,1375,1406,-1,1376,1377,1406,-1,1406,1377,1407,-1,1377,1378,1407,-1,1407,1378,1408,-1,1408,1378,1382,-1,1378,1379,1382,-1,1380,1383,1409,-1,1380,1381,1383,-1,1410,1382,1380,-1,1410,1380,1411,-1,1411,1380,1409,-1,1408,1382,1410,-1,1409,1383,1412,-1,1412,1383,1384,-1,1384,1386,1412,-1,1412,1386,1413,-1,1413,1386,1388,-1,1386,1387,1388,-1,1413,1388,1414,-1,1414,1388,1415,-1,1388,1389,1415,-1,1415,1389,1391,-1,1415,1391,1390,-1,1415,1390,1416,-1,1416,1390,1417,-1,1417,1390,1392,-1,1417,1392,1393,-1,1418,1417,1393,-1,1393,1394,1418,-1,1418,1394,1419,-1,1419,1394,1420,-1,1394,1395,1420,-1,1395,1396,1420,-1,1420,1396,1397,-1,1420,1397,1421,-1,1421,1397,1398,-1,1421,1398,1399,-1,1421,1399,1422,-1,1422,1399,1423,-1,1399,1400,1423,-1,1400,1401,1423,-1,1423,1401,1424,-1,1401,1402,1424,-1,1424,1402,1403,-1,1424,1403,1404,-1,1425,1404,1426,-1,1426,1404,1405,-1,1424,1404,1425,-1,1405,1406,1427,-1,1426,1405,1427,-1,1406,1407,1427,-1,1427,1407,1428,-1,1428,1407,1410,-1,1407,1408,1410,-1,1411,1409,1412,-1,1428,1410,1429,-1,1429,1410,1411,-1,1430,1411,1431,-1,1411,1412,1431,-1,1429,1411,1430,-1,1412,1413,1414,-1,1431,1412,1414,-1,1431,1414,1430,-1,1430,1414,1432,-1,1414,1415,1432,-1,1432,1415,1416,-1,1432,1416,1417,-1,1432,1417,1433,-1,1433,1417,1418,-1,1434,1433,1418,-1,1434,1418,1435,-1,1418,1419,1435,-1,1419,1420,1435,-1,1435,1420,1421,-1,1436,1421,1422,-1,1435,1421,1436,-1,1422,1423,1436,-1,1436,1423,1437,-1,1423,1424,1437,-1,1437,1424,1425,-1,1437,1425,1426,-1,1437,1426,1438,-1,1426,1427,1439,-1,1438,1426,1439,-1,1427,1428,1429,-1,1439,1427,1429,-1,1439,1429,1430,-1,1439,1430,1440,-1,1440,1430,1433,-1,1430,1432,1433,-1,1440,1433,1434,-1,1441,1440,1434,-1,1434,1435,1436,-1,1434,1436,1441,-1,1441,1436,1438,-1,1436,1437,1438,-1,1438,1439,1440,-1,1441,1438,1440,-1], "@normalIndex":[0,1,2,-1,1,3,2,-1,2,3,4,-1,1,5,3,-1,3,5,6,-1,5,1,0,-1,7,0,8,-1,0,2,8,-1,9,5,0,-1,9,0,10,-1,10,0,11,-1,11,0,7,-1,2,4,12,-1,12,4,13,-1,8,2,12,-1,14,4,15,-1,4,3,15,-1,13,4,14,-1,15,3,6,-1,15,6,16,-1,16,6,17,-1,5,18,6,-1,6,18,17,-1,18,5,9,-1,19,7,20,-1,7,8,20,-1,21,11,7,-1,21,7,22,-1,22,7,19,-1,20,8,23,-1,23,8,12,-1,24,9,25,-1,25,9,10,-1,18,9,24,-1,25,10,26,-1,26,10,27,-1,27,10,21,-1,10,11,21,-1,23,12,28,-1,28,12,29,-1,12,13,29,-1,29,13,30,-1,31,13,32,-1,13,14,32,-1,30,13,31,-1,14,15,33,-1,32,14,34,-1,34,14,33,-1,33,15,35,-1,35,15,36,-1,36,15,16,-1,36,16,37,-1,37,16,38,-1,38,16,17,-1,39,17,40,-1,18,41,17,-1,17,41,40,-1,38,17,39,-1,41,18,42,-1,42,18,24,-1,43,22,19,-1,43,19,44,-1,44,19,45,-1,45,19,46,-1,19,20,46,-1,46,20,47,-1,47,20,28,-1,20,23,28,-1,48,21,43,-1,43,21,22,-1,27,21,49,-1,49,21,48,-1,42,24,25,-1,42,25,50,-1,50,25,51,-1,51,25,26,-1,51,26,52,-1,52,26,53,-1,53,26,49,-1,26,27,49,-1,47,28,54,-1,54,28,55,-1,28,29,55,-1,55,29,56,-1,29,30,56,-1,56,30,57,-1,57,30,58,-1,58,30,31,-1,58,31,59,-1,59,31,60,-1,31,34,60,-1,31,32,34,-1,34,33,61,-1,61,33,62,-1,62,33,63,-1,33,35,63,-1,60,34,64,-1,64,34,61,-1,63,35,36,-1,63,36,65,-1,65,36,66,-1,66,36,37,-1,67,37,68,-1,68,37,39,-1,37,38,39,-1,66,37,67,-1,39,40,69,-1,68,39,70,-1,70,39,69,-1,69,40,71,-1,41,72,40,-1,40,72,71,-1,72,41,73,-1,73,41,42,-1,73,42,74,-1,74,42,50,-1,75,48,43,-1,75,43,76,-1,76,43,44,-1,76,44,45,-1,45,46,77,-1,76,45,78,-1,78,45,79,-1,79,45,80,-1,45,77,80,-1,77,46,54,-1,46,47,54,-1,49,48,81,-1,81,48,82,-1,82,48,75,-1,53,49,83,-1,83,49,81,-1,74,50,51,-1,84,51,52,-1,74,51,84,-1,85,84,52,-1,85,52,86,-1,86,52,87,-1,87,52,83,-1,52,53,83,-1,77,54,88,-1,88,54,89,-1,54,55,89,-1,89,55,90,-1,90,55,91,-1,55,56,91,-1,56,57,91,-1,91,57,92,-1,92,57,58,-1,92,58,93,-1,93,58,94,-1,94,58,59,-1,94,59,95,-1,95,59,96,-1,59,64,96,-1,59,60,64,-1,97,61,98,-1,61,62,98,-1,64,61,99,-1,99,61,97,-1,62,63,98,-1,98,63,100,-1,100,63,101,-1,101,63,65,-1,96,64,99,-1,101,65,66,-1,101,66,102,-1,102,66,103,-1,103,66,67,-1,67,68,70,-1,103,67,104,-1,104,67,70,-1,70,69,105,-1,105,69,106,-1,106,69,107,-1,69,71,107,-1,104,70,108,-1,108,70,105,-1,72,109,71,-1,71,109,107,-1,109,72,73,-1,109,73,110,-1,110,73,111,-1,111,73,74,-1,111,74,112,-1,112,74,84,-1,113,75,114,-1,114,75,115,-1,115,75,76,-1,113,82,75,-1,115,76,116,-1,116,76,78,-1,80,77,88,-1,116,78,79,-1,116,79,117,-1,117,79,118,-1,118,79,119,-1,79,80,119,-1,120,80,88,-1,119,80,120,-1,121,81,122,-1,122,81,113,-1,81,82,113,-1,83,81,121,-1,87,83,123,-1,123,83,121,-1,112,84,85,-1,112,85,124,-1,124,85,125,-1,125,85,86,-1,125,86,126,-1,126,86,127,-1,127,86,123,-1,86,87,123,-1,120,88,128,-1,128,88,129,-1,129,88,130,-1,88,89,130,-1,130,89,131,-1,89,90,131,-1,90,91,131,-1,131,91,132,-1,91,92,132,-1,132,92,133,-1,133,92,134,-1,134,92,93,-1,134,93,94,-1,134,94,135,-1,135,94,95,-1,135,95,136,-1,136,95,137,-1,137,95,138,-1,95,139,138,-1,95,96,139,-1,139,96,99,-1,99,97,140,-1,97,98,140,-1,140,98,141,-1,98,100,141,-1,139,99,142,-1,142,99,143,-1,143,99,140,-1,144,100,101,-1,141,100,145,-1,145,100,144,-1,144,101,146,-1,146,101,102,-1,146,102,103,-1,146,103,147,-1,147,103,148,-1,148,103,149,-1,103,104,149,-1,149,104,108,-1,108,105,150,-1,150,105,151,-1,105,106,151,-1,106,107,151,-1,151,107,152,-1,109,153,107,-1,107,153,152,-1,154,149,108,-1,154,108,155,-1,155,108,156,-1,156,108,150,-1,153,109,157,-1,157,109,110,-1,157,110,111,-1,157,111,158,-1,158,111,112,-1,158,112,159,-1,159,112,160,-1,160,112,124,-1,122,113,161,-1,161,113,114,-1,161,114,162,-1,162,114,115,-1,163,115,116,-1,162,115,164,-1,164,115,163,-1,163,116,117,-1,163,117,165,-1,165,117,118,-1,118,119,166,-1,165,118,167,-1,167,118,168,-1,168,118,169,-1,118,166,169,-1,166,119,128,-1,119,120,128,-1,123,121,170,-1,170,121,171,-1,171,121,172,-1,121,122,172,-1,172,122,161,-1,127,123,170,-1,160,124,125,-1,160,125,173,-1,173,125,126,-1,174,173,126,-1,174,126,175,-1,175,126,176,-1,176,126,177,-1,126,127,177,-1,177,127,170,-1,128,129,178,-1,166,128,178,-1,178,129,179,-1,129,130,179,-1,130,131,180,-1,179,130,181,-1,181,130,180,-1,131,132,182,-1,180,131,182,-1,132,133,182,-1,182,133,183,-1,183,133,134,-1,184,134,135,-1,183,134,184,-1,184,135,185,-1,185,135,186,-1,186,135,136,-1,186,136,187,-1,187,136,137,-1,137,138,188,-1,187,137,189,-1,137,188,189,-1,138,139,188,-1,188,139,142,-1,143,140,190,-1,190,140,191,-1,140,141,191,-1,191,141,192,-1,192,141,193,-1,141,145,193,-1,142,143,190,-1,188,142,194,-1,194,142,195,-1,195,142,190,-1,193,145,144,-1,193,144,196,-1,196,144,197,-1,197,144,146,-1,197,146,198,-1,198,146,147,-1,198,147,148,-1,148,149,199,-1,198,148,200,-1,200,148,201,-1,201,148,199,-1,199,149,154,-1,202,150,203,-1,150,151,203,-1,156,150,204,-1,204,150,202,-1,203,151,205,-1,151,152,205,-1,152,153,206,-1,205,152,206,-1,206,153,157,-1,199,154,155,-1,207,199,155,-1,207,155,208,-1,155,156,208,-1,208,156,204,-1,206,157,209,-1,209,157,158,-1,210,158,211,-1,211,158,159,-1,209,158,210,-1,212,159,160,-1,211,159,212,-1,212,160,173,-1,172,161,213,-1,213,161,214,-1,214,161,215,-1,215,161,162,-1,215,162,164,-1,216,164,163,-1,216,163,217,-1,217,163,218,-1,218,163,165,-1,215,164,216,-1,218,165,219,-1,219,165,167,-1,169,166,220,-1,220,166,221,-1,221,166,178,-1,222,167,168,-1,219,167,222,-1,168,169,223,-1,168,224,225,-1,168,225,226,-1,168,226,222,-1,226,227,222,-1,224,168,223,-1,223,169,220,-1,177,170,228,-1,228,170,229,-1,229,170,230,-1,170,171,230,-1,230,171,213,-1,171,172,213,-1,231,173,232,-1,232,173,174,-1,212,173,231,-1,233,174,175,-1,232,174,233,-1,233,175,234,-1,175,235,236,-1,175,236,237,-1,175,237,234,-1,237,238,234,-1,175,176,235,-1,235,176,239,-1,176,177,239,-1,239,177,228,-1,221,178,240,-1,240,178,241,-1,241,178,242,-1,178,179,242,-1,242,179,243,-1,179,181,243,-1,181,180,243,-1,243,180,244,-1,244,180,245,-1,180,182,245,-1,182,183,245,-1,245,183,246,-1,246,183,184,-1,246,184,247,-1,247,184,248,-1,248,184,185,-1,248,185,186,-1,248,186,249,-1,249,186,187,-1,250,187,251,-1,187,189,251,-1,249,187,252,-1,252,187,250,-1,189,188,194,-1,251,189,253,-1,253,189,254,-1,254,189,194,-1,195,190,255,-1,190,191,255,-1,255,191,256,-1,256,191,257,-1,191,192,257,-1,257,192,258,-1,192,193,258,-1,258,193,196,-1,254,194,259,-1,259,194,260,-1,260,194,261,-1,194,195,261,-1,261,195,255,-1,258,196,262,-1,262,196,197,-1,263,197,264,-1,264,197,198,-1,262,197,263,-1,264,198,200,-1,201,199,207,-1,265,200,201,-1,264,200,265,-1,265,201,266,-1,266,201,267,-1,267,201,268,-1,201,207,268,-1,204,202,269,-1,202,203,269,-1,269,203,270,-1,270,203,271,-1,203,205,271,-1,208,204,272,-1,272,204,269,-1,205,206,273,-1,271,205,273,-1,273,206,209,-1,274,207,275,-1,275,207,208,-1,268,207,274,-1,275,208,276,-1,276,208,277,-1,277,208,272,-1,273,209,278,-1,278,209,279,-1,279,209,210,-1,279,210,211,-1,279,211,280,-1,280,211,212,-1,280,212,281,-1,281,212,282,-1,282,212,231,-1,213,214,283,-1,230,213,283,-1,283,214,215,-1,283,215,216,-1,216,284,285,-1,216,285,286,-1,216,286,283,-1,284,216,217,-1,284,217,218,-1,218,222,287,-1,218,287,288,-1,218,288,289,-1,218,289,284,-1,290,284,289,-1,222,218,219,-1,223,220,224,-1,220,291,292,-1,220,292,293,-1,220,293,294,-1,220,294,224,-1,295,224,294,-1,220,221,291,-1,291,221,240,-1,227,287,222,-1,296,297,298,-1,298,297,299,-1,298,299,300,-1,300,301,298,-1,298,301,302,-1,302,301,303,-1,302,303,304,-1,304,305,302,-1,295,225,224,-1,239,228,235,-1,228,306,307,-1,228,307,308,-1,228,308,309,-1,228,309,235,-1,310,235,309,-1,228,229,306,-1,229,230,306,-1,230,283,311,-1,230,311,306,-1,311,312,306,-1,313,231,232,-1,282,231,313,-1,232,234,314,-1,232,314,315,-1,232,315,316,-1,232,316,313,-1,317,313,316,-1,234,232,233,-1,234,238,314,-1,318,319,320,-1,321,318,320,-1,322,323,320,-1,323,321,320,-1,324,319,325,-1,326,319,318,-1,327,319,326,-1,325,319,327,-1,235,310,236,-1,240,241,291,-1,241,328,329,-1,241,329,291,-1,329,330,291,-1,241,242,331,-1,331,242,332,-1,332,242,333,-1,242,243,333,-1,333,243,334,-1,243,244,334,-1,244,245,334,-1,334,245,335,-1,245,246,335,-1,335,246,336,-1,336,246,337,-1,337,246,247,-1,337,247,248,-1,337,248,338,-1,338,248,249,-1,338,249,339,-1,339,249,340,-1,340,249,252,-1,340,252,250,-1,340,250,341,-1,341,250,342,-1,250,253,342,-1,250,251,253,-1,253,254,343,-1,342,253,343,-1,343,254,259,-1,261,255,344,-1,344,255,345,-1,345,255,346,-1,255,256,346,-1,346,256,347,-1,256,257,347,-1,257,258,347,-1,347,258,348,-1,348,258,349,-1,349,258,262,-1,350,259,351,-1,259,260,351,-1,343,259,350,-1,260,261,351,-1,351,261,344,-1,349,262,263,-1,352,263,264,-1,349,263,352,-1,353,264,354,-1,354,264,265,-1,352,264,353,-1,354,265,355,-1,355,265,266,-1,355,266,267,-1,355,267,356,-1,356,267,357,-1,267,268,357,-1,357,268,274,-1,272,269,358,-1,358,269,359,-1,269,270,359,-1,270,271,359,-1,359,271,360,-1,271,273,361,-1,360,271,361,-1,277,272,362,-1,362,272,363,-1,363,272,358,-1,361,273,364,-1,364,273,278,-1,357,274,365,-1,365,274,276,-1,274,275,276,-1,365,276,366,-1,366,276,362,-1,276,277,362,-1,364,278,279,-1,364,279,367,-1,367,279,280,-1,367,280,368,-1,368,280,369,-1,369,280,281,-1,281,313,370,-1,281,370,371,-1,281,371,372,-1,313,281,282,-1,373,374,375,-1,375,374,376,-1,377,376,378,-1,378,376,379,-1,378,379,380,-1,380,381,378,-1,290,285,284,-1,378,381,296,-1,296,381,297,-1,302,305,382,-1,382,305,383,-1,382,383,384,-1,384,383,385,-1,384,385,386,-1,386,387,384,-1,330,292,291,-1,298,388,296,-1,389,388,298,-1,302,389,298,-1,296,390,378,-1,388,390,296,-1,391,389,302,-1,382,391,302,-1,392,324,393,-1,393,324,325,-1,394,392,395,-1,396,392,393,-1,397,392,396,-1,395,392,397,-1,306,312,307,-1,398,399,374,-1,374,399,395,-1,313,317,370,-1,400,401,402,-1,403,400,402,-1,404,405,402,-1,405,403,402,-1,322,320,401,-1,400,322,401,-1,320,406,401,-1,320,407,406,-1,319,407,320,-1,319,408,407,-1,324,408,319,-1,324,409,408,-1,392,409,324,-1,384,387,410,-1,410,387,411,-1,333,412,413,-1,333,413,414,-1,333,414,331,-1,332,333,331,-1,333,334,412,-1,334,335,412,-1,335,415,412,-1,335,416,415,-1,417,412,415,-1,335,336,416,-1,418,336,419,-1,420,419,421,-1,422,336,418,-1,423,416,424,-1,425,336,422,-1,426,336,425,-1,427,336,426,-1,428,336,427,-1,429,336,428,-1,430,336,429,-1,416,336,430,-1,416,430,424,-1,431,416,423,-1,432,416,433,-1,416,431,433,-1,434,416,435,-1,416,432,435,-1,416,434,436,-1,436,437,416,-1,416,437,438,-1,438,439,416,-1,416,439,440,-1,441,440,442,-1,443,440,441,-1,416,440,443,-1,418,419,420,-1,419,336,444,-1,445,336,337,-1,446,337,338,-1,446,338,339,-1,446,339,340,-1,447,340,341,-1,448,341,449,-1,449,341,450,-1,341,342,450,-1,450,342,451,-1,451,342,452,-1,342,343,452,-1,452,343,453,-1,453,343,454,-1,454,343,350,-1,344,345,455,-1,351,344,456,-1,456,344,455,-1,455,345,457,-1,457,345,458,-1,345,346,458,-1,458,346,459,-1,346,347,459,-1,459,347,460,-1,347,348,460,-1,460,348,349,-1,461,349,352,-1,460,349,461,-1,454,350,462,-1,462,350,456,-1,350,351,456,-1,461,352,463,-1,463,352,353,-1,464,353,465,-1,465,353,354,-1,463,353,464,-1,465,354,466,-1,466,354,355,-1,466,355,356,-1,466,356,467,-1,467,356,468,-1,356,357,468,-1,469,357,470,-1,470,357,365,-1,468,357,469,-1,363,358,471,-1,358,359,471,-1,359,360,472,-1,473,360,474,-1,360,361,475,-1,476,360,477,-1,477,360,475,-1,478,477,479,-1,476,477,478,-1,480,360,476,-1,481,360,480,-1,482,360,481,-1,483,360,482,-1,484,360,483,-1,485,360,484,-1,486,360,485,-1,487,360,486,-1,488,360,487,-1,489,360,488,-1,490,360,489,-1,491,360,490,-1,492,360,491,-1,493,360,492,-1,494,360,493,-1,495,360,494,-1,496,360,495,-1,497,360,496,-1,498,360,497,-1,499,360,498,-1,500,360,499,-1,474,360,500,-1,501,361,502,-1,475,361,501,-1,503,501,502,-1,502,361,364,-1,366,362,504,-1,362,363,471,-1,502,364,367,-1,505,365,366,-1,470,365,506,-1,506,365,505,-1,505,366,507,-1,507,366,508,-1,509,367,369,-1,502,367,509,-1,502,509,510,-1,369,367,368,-1,404,402,511,-1,512,404,511,-1,513,514,515,-1,516,514,513,-1,378,516,517,-1,518,519,520,-1,518,514,519,-1,390,516,378,-1,521,391,382,-1,384,521,382,-1,522,521,384,-1,410,522,384,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,523,523,523,-1,392,524,409,-1,525,524,392,-1,525,519,524,-1,511,402,526,-1,402,527,526,-1,401,527,402,-1,401,406,527,-1,528,522,410,-1,529,528,410,-1,410,411,529,-1,529,411,414,-1,529,414,530,-1,530,414,413,-1,530,413,417,-1,417,415,530,-1,530,415,531,-1,523,523,523,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,533,534,535,-1,441,534,443,-1,536,534,441,-1,535,534,536,-1,535,537,538,-1,535,538,539,-1,537,535,536,-1,536,441,442,-1,523,523,523,-1,442,440,537,-1,538,440,540,-1,541,542,543,-1,544,542,541,-1,537,440,538,-1,538,540,545,-1,538,545,546,-1,538,546,547,-1,538,547,548,-1,549,542,544,-1,548,549,544,-1,538,548,544,-1,439,550,440,-1,440,550,540,-1,438,551,439,-1,439,551,550,-1,438,437,551,-1,436,552,437,-1,437,552,551,-1,436,434,552,-1,435,553,434,-1,434,553,552,-1,435,432,553,-1,433,554,432,-1,432,554,553,-1,433,431,554,-1,431,423,554,-1,424,555,423,-1,423,555,554,-1,430,556,424,-1,424,556,555,-1,430,429,556,-1,556,429,557,-1,557,429,428,-1,557,428,427,-1,427,426,557,-1,557,426,558,-1,558,426,425,-1,558,425,559,-1,559,425,422,-1,559,422,418,-1,559,418,560,-1,560,418,420,-1,420,421,560,-1,560,421,561,-1,421,419,561,-1,561,419,562,-1,563,562,564,-1,565,562,563,-1,566,562,565,-1,567,562,566,-1,568,562,567,-1,561,562,568,-1,569,570,571,-1,572,569,573,-1,573,569,571,-1,574,569,572,-1,507,569,574,-1,575,569,507,-1,532,569,575,-1,532,532,569,-1,532,532,532,-1,532,532,576,-1,532,569,577,-1,532,569,532,-1,578,569,532,-1,449,569,578,-1,579,569,449,-1,580,569,579,-1,581,569,580,-1,532,569,532,-1,532,532,582,-1,532,532,532,-1,532,569,532,-1,532,532,532,-1,532,569,532,-1,532,532,583,-1,577,569,532,-1,577,532,583,-1,532,532,583,-1,583,532,584,-1,532,532,577,-1,532,532,584,-1,532,576,584,-1,532,532,576,-1,532,532,532,-1,532,532,585,-1,532,532,532,-1,532,532,532,-1,586,532,587,-1,532,532,587,-1,588,532,582,-1,532,532,582,-1,582,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,585,-1,532,532,575,-1,532,532,575,-1,532,532,569,-1,532,532,575,-1,532,532,575,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,589,-1,532,532,532,-1,532,585,590,-1,532,532,532,-1,532,532,590,-1,532,532,532,-1,532,532,532,-1,532,532,569,-1,532,532,591,-1,532,532,532,-1,532,532,592,-1,576,532,532,-1,576,532,592,-1,576,532,532,-1,532,532,592,-1,592,532,591,-1,532,532,591,-1,591,532,590,-1,532,532,590,-1,532,532,586,-1,590,532,532,-1,585,532,589,-1,532,532,532,-1,532,532,589,-1,532,532,589,-1,589,532,586,-1,532,532,569,-1,532,532,586,-1,532,532,532,-1,532,532,586,-1,532,532,586,-1,532,532,586,-1,532,532,532,-1,532,532,586,-1,532,532,592,-1,532,532,532,-1,532,532,569,-1,532,532,532,-1,532,532,588,-1,532,588,587,-1,532,532,569,-1,532,532,532,-1,532,532,569,-1,449,593,579,-1,594,593,449,-1,449,595,594,-1,449,451,595,-1,449,450,451,-1,451,452,595,-1,595,452,453,-1,595,453,594,-1,594,453,593,-1,453,454,593,-1,593,454,596,-1,596,454,462,-1,456,455,581,-1,581,455,569,-1,455,457,569,-1,462,456,581,-1,457,458,569,-1,569,458,570,-1,458,459,570,-1,459,460,570,-1,570,460,461,-1,570,461,463,-1,580,462,581,-1,596,462,580,-1,570,463,571,-1,571,463,464,-1,571,464,465,-1,571,465,573,-1,573,465,466,-1,573,466,467,-1,573,467,572,-1,572,467,597,-1,467,468,597,-1,597,468,598,-1,598,468,469,-1,599,469,600,-1,469,470,600,-1,598,469,599,-1,600,470,506,-1,601,602,474,-1,474,500,603,-1,604,605,474,-1,606,474,603,-1,606,601,474,-1,605,607,474,-1,602,604,474,-1,607,608,474,-1,500,499,609,-1,603,500,609,-1,499,498,610,-1,609,499,610,-1,498,497,610,-1,497,496,611,-1,610,497,611,-1,496,495,611,-1,495,494,612,-1,611,495,612,-1,494,493,612,-1,493,492,613,-1,612,493,613,-1,492,491,613,-1,491,490,613,-1,490,489,614,-1,613,490,614,-1,489,488,615,-1,614,489,615,-1,615,488,487,-1,616,615,487,-1,616,487,486,-1,616,486,485,-1,616,485,484,-1,617,616,484,-1,617,484,483,-1,618,617,483,-1,482,618,483,-1,618,482,481,-1,619,618,481,-1,480,619,481,-1,619,480,476,-1,620,619,476,-1,476,478,621,-1,620,476,622,-1,622,476,621,-1,623,624,625,-1,626,624,623,-1,626,627,624,-1,627,628,624,-1,628,629,624,-1,629,630,624,-1,624,631,622,-1,631,620,622,-1,630,631,624,-1,523,523,523,-1,478,479,632,-1,633,634,635,-1,632,633,635,-1,636,622,635,-1,622,621,635,-1,621,632,635,-1,479,633,632,-1,479,477,633,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,509,637,638,-1,510,509,638,-1,639,503,638,-1,503,510,638,-1,501,503,639,-1,523,523,523,-1,506,505,507,-1,600,506,507,-1,599,600,507,-1,507,598,599,-1,574,598,507,-1,512,511,637,-1,509,512,637,-1,637,511,640,-1,511,526,640,-1,637,640,641,-1,638,637,641,-1,638,641,642,-1,634,638,642,-1,634,642,643,-1,635,634,643,-1,635,643,644,-1,645,635,644,-1,646,645,644,-1,647,645,646,-1,648,647,646,-1,649,647,648,-1,650,649,648,-1,651,649,650,-1,652,651,650,-1,653,651,652,-1,654,653,652,-1,655,653,654,-1,656,655,654,-1,657,655,656,-1,658,657,656,-1,659,657,658,-1,660,659,658,-1,661,659,660,-1,662,661,660,-1,663,661,662,-1,664,663,662,-1,665,663,664,-1,666,667,664,-1,668,667,666,-1,669,670,666,-1,669,671,670,-1,672,673,669,-1,672,674,673,-1,675,674,672,-1,675,676,674,-1,677,676,675,-1,677,678,676,-1,679,678,677,-1,679,680,678,-1,681,680,679,-1,681,682,680,-1,683,682,681,-1,683,684,682,-1,683,685,684,-1,685,686,684,-1,685,687,686,-1,687,688,686,-1,687,689,688,-1,689,690,688,-1,689,691,690,-1,691,692,690,-1,691,693,692,-1,693,535,692,-1,693,694,535,-1,535,694,533,-1,694,695,533,-1,533,695,530,-1,695,696,530,-1,530,696,529,-1,696,528,529,-1,697,698,699,-1,700,697,699,-1,700,700,697,-1,700,701,697,-1,702,702,702,-1,702,702,702,-1,702,702,702,-1,702,702,702,-1,703,704,705,-1,704,703,705,-1,704,704,703,-1,704,706,703,-1,707,708,708,-1,708,708,708,-1,708,708,707,-1,709,709,709,-1,709,709,709,-1,709,709,709,-1,710,711,712,-1,712,711,710,-1,712,710,712,-1,710,713,712,-1,714,715,716,-1,717,715,714,-1,717,714,717,-1,714,718,717,-1,702,702,702,-1,702,702,702,-1,702,702,702,-1,702,702,702,-1,719,720,721,-1,701,719,721,-1,701,701,719,-1,701,701,719,-1,705,722,703,-1,706,705,703,-1,706,706,705,-1,706,723,705,-1,724,725,726,-1,726,725,725,-1,726,725,708,-1,727,728,729,-1,727,729,727,-1,729,730,727,-1,711,710,731,-1,713,710,711,-1,713,711,713,-1,711,732,713,-1,733,734,735,-1,718,734,733,-1,718,733,718,-1,733,718,718,-1,530,531,533,-1,533,531,534,-1,535,539,692,-1,541,539,544,-1,692,539,541,-1,692,736,737,-1,737,738,692,-1,692,738,739,-1,736,692,541,-1,532,532,532,-1,523,523,523,-1,736,543,737,-1,543,542,737,-1,738,542,740,-1,741,741,741,-1,742,743,744,-1,742,745,746,-1,747,748,749,-1,744,750,751,-1,744,751,752,-1,744,745,742,-1,752,745,744,-1,753,745,752,-1,754,562,755,-1,756,756,757,-1,758,562,754,-1,757,759,759,-1,760,564,562,-1,760,562,758,-1,755,562,745,-1,755,745,753,-1,761,745,762,-1,737,542,738,-1,738,740,763,-1,738,763,764,-1,738,764,765,-1,738,765,746,-1,738,746,745,-1,738,745,761,-1,549,766,542,-1,542,766,740,-1,767,766,548,-1,548,766,549,-1,548,547,767,-1,768,767,546,-1,546,767,547,-1,546,545,768,-1,540,550,545,-1,545,550,768,-1,550,551,769,-1,768,550,770,-1,770,550,769,-1,551,552,771,-1,769,551,771,-1,552,553,772,-1,771,552,772,-1,553,554,773,-1,772,553,773,-1,773,554,555,-1,555,556,774,-1,773,555,775,-1,775,555,774,-1,774,556,776,-1,776,556,777,-1,556,557,777,-1,777,557,558,-1,778,558,559,-1,777,558,778,-1,779,559,560,-1,779,778,559,-1,780,560,781,-1,560,561,781,-1,781,561,568,-1,780,779,560,-1,781,568,567,-1,781,567,782,-1,782,567,566,-1,565,782,566,-1,782,565,783,-1,783,565,563,-1,783,563,784,-1,784,563,564,-1,745,562,785,-1,579,596,580,-1,593,596,579,-1,786,787,583,-1,745,788,789,-1,789,790,791,-1,791,790,792,-1,792,790,793,-1,793,794,786,-1,786,583,795,-1,795,583,796,-1,796,583,797,-1,797,583,798,-1,798,583,799,-1,799,583,584,-1,799,584,800,-1,800,584,576,-1,800,576,801,-1,801,576,592,-1,801,592,802,-1,802,592,803,-1,803,592,591,-1,803,591,804,-1,804,591,805,-1,805,591,590,-1,806,590,807,-1,807,590,808,-1,590,585,808,-1,805,590,809,-1,809,590,806,-1,810,585,811,-1,585,589,811,-1,808,585,810,-1,811,589,812,-1,812,589,813,-1,589,586,813,-1,813,586,814,-1,586,587,814,-1,587,588,815,-1,814,587,815,-1,816,588,817,-1,817,588,818,-1,818,588,819,-1,819,588,820,-1,588,821,820,-1,815,588,816,-1,820,822,823,-1,823,824,825,-1,825,824,826,-1,826,824,827,-1,827,828,829,-1,830,608,829,-1,626,623,831,-1,832,626,833,-1,833,626,831,-1,834,626,832,-1,829,626,834,-1,835,626,829,-1,608,607,829,-1,607,836,829,-1,836,837,829,-1,837,838,829,-1,838,839,829,-1,839,840,829,-1,840,841,829,-1,841,842,829,-1,842,843,829,-1,843,844,829,-1,844,845,829,-1,845,846,829,-1,846,847,829,-1,847,848,829,-1,848,849,829,-1,849,850,829,-1,850,851,829,-1,851,852,829,-1,852,853,829,-1,853,835,829,-1,854,854,854,-1,574,597,598,-1,572,597,574,-1,855,856,857,-1,858,855,857,-1,859,856,855,-1,860,861,862,-1,863,860,864,-1,864,860,862,-1,856,860,863,-1,859,860,856,-1,865,861,860,-1,866,867,861,-1,865,866,861,-1,868,867,866,-1,869,870,871,-1,872,869,873,-1,873,869,871,-1,867,869,872,-1,868,869,867,-1,870,870,869,-1,874,870,875,-1,875,870,870,-1,876,874,875,-1,876,877,878,-1,879,876,880,-1,880,876,878,-1,881,876,879,-1,874,876,881,-1,877,882,878,-1,882,883,884,-1,878,882,884,-1,883,885,884,-1,885,886,887,-1,884,885,887,-1,886,888,887,-1,888,889,887,-1,887,889,890,-1,889,890,890,-1,890,890,891,-1,892,890,891,-1,891,893,892,-1,892,894,895,-1,893,894,892,-1,896,894,893,-1,897,896,893,-1,898,896,897,-1,897,899,898,-1,898,899,900,-1,901,898,900,-1,900,902,901,-1,901,903,904,-1,902,903,901,-1,905,903,902,-1,906,905,902,-1,907,905,906,-1,907,906,908,-1,909,907,908,-1,910,909,908,-1,909,910,911,-1,912,913,914,-1,911,912,914,-1,915,909,914,-1,909,911,914,-1,911,916,912,-1,912,916,917,-1,857,912,917,-1,918,857,917,-1,857,918,858,-1,919,920,921,-1,922,919,921,-1,920,920,919,-1,923,861,923,-1,923,923,923,-1,923,923,923,-1,920,923,923,-1,920,923,920,-1,861,861,923,-1,866,924,861,-1,861,866,861,-1,924,924,866,-1,869,870,873,-1,925,869,869,-1,869,869,873,-1,924,869,925,-1,924,869,924,-1,870,870,869,-1,874,870,875,-1,875,870,870,-1,926,874,875,-1,926,927,928,-1,929,926,930,-1,930,926,928,-1,931,926,929,-1,874,926,931,-1,927,932,928,-1,932,933,934,-1,928,932,934,-1,933,935,934,-1,935,936,937,-1,934,935,937,-1,936,938,937,-1,938,939,937,-1,937,939,940,-1,939,941,940,-1,940,941,942,-1,943,940,942,-1,942,944,943,-1,943,945,946,-1,944,945,943,-1,947,945,944,-1,897,947,944,-1,899,947,897,-1,897,948,899,-1,899,948,949,-1,950,899,949,-1,949,951,950,-1,950,952,953,-1,951,952,950,-1,952,952,951,-1,906,952,951,-1,954,952,906,-1,954,906,955,-1,956,954,955,-1,957,956,955,-1,956,957,958,-1,959,960,960,-1,958,959,960,-1,961,956,960,-1,956,958,960,-1,958,962,959,-1,959,962,963,-1,921,959,963,-1,964,921,963,-1,921,964,922,-1,607,605,965,-1,836,607,965,-1,604,966,965,-1,605,604,965,-1,604,602,966,-1,602,601,967,-1,966,602,967,-1,601,606,967,-1,606,603,609,-1,967,606,609,-1,967,609,968,-1,968,609,969,-1,609,610,969,-1,969,610,970,-1,610,611,970,-1,970,611,971,-1,611,612,971,-1,971,612,972,-1,612,613,972,-1,972,613,614,-1,972,614,973,-1,973,614,974,-1,614,615,974,-1,974,615,975,-1,975,615,976,-1,615,616,976,-1,976,616,617,-1,976,617,977,-1,977,617,618,-1,978,977,618,-1,978,618,619,-1,979,978,619,-1,979,619,980,-1,980,619,620,-1,631,980,620,-1,980,631,630,-1,981,980,630,-1,629,981,630,-1,981,629,628,-1,982,981,628,-1,627,982,628,-1,983,982,627,-1,626,983,627,-1,831,623,984,-1,523,523,523,-1,636,635,645,-1,625,636,645,-1,985,833,645,-1,833,831,645,-1,831,984,645,-1,984,625,645,-1,625,624,636,-1,532,532,532,-1,639,638,634,-1,633,639,634,-1,985,645,647,-1,986,985,647,-1,986,647,649,-1,987,986,649,-1,988,989,649,-1,989,987,649,-1,987,990,986,-1,988,649,651,-1,991,988,651,-1,991,651,653,-1,992,991,653,-1,992,653,655,-1,993,992,655,-1,994,995,655,-1,995,993,655,-1,994,655,657,-1,996,994,657,-1,996,657,659,-1,997,996,659,-1,998,999,659,-1,999,997,659,-1,998,659,661,-1,1000,998,661,-1,1001,1002,661,-1,1002,1000,661,-1,1001,661,663,-1,1003,1001,663,-1,1003,663,1004,-1,1005,1003,1004,-1,1006,1007,1004,-1,1007,1005,1004,-1,1006,1008,1009,-1,702,1006,1009,-1,1010,1011,1012,-1,702,1010,1012,-1,1013,674,1014,-1,1015,1013,1016,-1,1016,1013,1014,-1,1012,1013,1015,-1,674,676,1017,-1,1014,674,1017,-1,676,678,1018,-1,1019,676,1020,-1,1020,676,1018,-1,1017,676,1019,-1,680,1021,678,-1,678,1021,1022,-1,678,1022,1023,-1,1023,1018,678,-1,682,1024,680,-1,680,1024,1021,-1,684,1025,682,-1,682,1025,1026,-1,682,1026,1027,-1,1027,1024,682,-1,686,1028,684,-1,684,1028,1025,-1,688,1029,686,-1,686,1029,1028,-1,690,1030,688,-1,1031,1030,1032,-1,688,1030,1031,-1,688,1033,1029,-1,1033,688,1031,-1,692,739,690,-1,690,739,1030,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,761,762,1032,-1,1032,762,1034,-1,1032,1034,1031,-1,1035,1034,762,-1,1036,1035,762,-1,762,745,1036,-1,1036,745,1037,-1,745,789,1037,-1,783,784,1038,-1,1038,784,760,-1,1039,1038,760,-1,1038,1039,1040,-1,1040,1039,758,-1,754,1040,758,-1,1040,754,1041,-1,1041,754,755,-1,753,1041,755,-1,1041,753,1042,-1,1042,753,752,-1,751,1042,752,-1,1043,1042,751,-1,1044,1042,1045,-1,1045,1042,1043,-1,1044,1045,1046,-1,1046,1045,1047,-1,1046,1047,1048,-1,1048,1047,743,-1,742,1048,743,-1,1049,1048,742,-1,1050,1048,746,-1,746,1048,1049,-1,746,765,1050,-1,1051,1050,764,-1,764,1050,765,-1,764,763,1051,-1,766,1051,740,-1,740,1051,763,-1,766,767,1052,-1,1051,766,1053,-1,766,1052,1053,-1,767,768,1054,-1,767,1054,1052,-1,768,770,1054,-1,769,771,1055,-1,770,769,1056,-1,1056,769,1055,-1,1054,770,1057,-1,770,1056,1057,-1,771,772,1058,-1,1055,771,1058,-1,772,773,1059,-1,1058,772,1059,-1,1059,773,775,-1,774,776,1060,-1,775,774,1061,-1,1061,774,1060,-1,1059,775,1062,-1,1062,775,1061,-1,1060,776,1063,-1,1063,776,1064,-1,776,777,1064,-1,1064,777,778,-1,1065,778,779,-1,1064,778,1065,-1,1066,779,780,-1,1066,1065,779,-1,1067,780,1068,-1,1068,780,781,-1,1067,1066,780,-1,1068,781,782,-1,783,1069,782,-1,1069,1068,782,-1,1038,1070,783,-1,1070,1069,783,-1,786,795,1071,-1,793,786,1072,-1,1072,786,1071,-1,1037,789,1073,-1,1073,789,1074,-1,789,791,1074,-1,1074,791,1075,-1,791,792,1075,-1,792,793,1075,-1,1075,793,1076,-1,1076,793,1072,-1,795,796,1071,-1,796,797,1077,-1,1071,796,1077,-1,1077,797,1078,-1,797,798,1078,-1,1078,798,799,-1,1078,799,1079,-1,1079,799,800,-1,1079,800,801,-1,1079,801,1080,-1,1080,801,802,-1,1081,802,1082,-1,1082,802,803,-1,1080,802,1081,-1,1082,803,1083,-1,1083,803,804,-1,1083,804,805,-1,1083,805,1084,-1,1084,805,809,-1,806,807,1085,-1,1086,809,806,-1,1086,806,1087,-1,1087,806,1085,-1,1085,807,1088,-1,807,808,1088,-1,808,810,1089,-1,1088,808,1089,-1,1084,809,1086,-1,810,811,1089,-1,1089,811,1090,-1,811,812,1090,-1,1091,812,1092,-1,812,813,1092,-1,1090,812,1091,-1,1092,813,1093,-1,813,814,1093,-1,814,815,1093,-1,815,816,1094,-1,1093,815,1094,-1,1094,816,817,-1,1094,817,1095,-1,1095,817,818,-1,1096,818,819,-1,1095,818,1096,-1,1096,819,820,-1,1096,820,1097,-1,1097,820,823,-1,1098,823,1099,-1,1099,823,825,-1,1097,823,1098,-1,1099,825,826,-1,1099,826,1100,-1,1100,826,827,-1,1100,827,1101,-1,1101,827,1102,-1,1102,827,829,-1,829,834,1103,-1,1102,829,1103,-1,1104,982,983,-1,835,1104,983,-1,853,1104,835,-1,1105,1104,853,-1,852,1105,853,-1,851,1105,852,-1,1106,1105,851,-1,850,1106,851,-1,849,1106,850,-1,1107,1106,849,-1,848,1107,849,-1,847,1107,848,-1,846,1107,847,-1,845,1108,1107,-1,846,845,1107,-1,1109,1108,845,-1,844,1109,845,-1,1110,1109,844,-1,843,1110,844,-1,842,1110,843,-1,841,1110,842,-1,840,1111,1110,-1,841,840,1110,-1,840,839,1111,-1,838,1112,1111,-1,839,838,1111,-1,838,837,1112,-1,836,965,1112,-1,837,836,1112,-1,834,1113,1103,-1,834,1114,1113,-1,834,832,990,-1,987,834,990,-1,987,1114,834,-1,532,532,532,-1,532,532,532,-1,532,532,532,-1,1112,965,1115,-1,965,1116,1115,-1,965,966,1116,-1,966,1117,1116,-1,966,967,1117,-1,1117,967,968,-1,1117,968,1118,-1,1118,968,1119,-1,968,969,1119,-1,1119,969,1120,-1,969,970,1120,-1,1120,970,1121,-1,970,971,1121,-1,1121,971,1122,-1,971,972,1122,-1,1122,972,973,-1,1122,973,1123,-1,1123,973,1124,-1,973,974,1124,-1,1124,974,1125,-1,974,975,1125,-1,1125,975,1126,-1,1126,975,1127,-1,975,976,1127,-1,1127,976,977,-1,1127,977,1128,-1,1128,977,978,-1,1129,1128,978,-1,1129,978,979,-1,1130,1129,979,-1,1130,979,1131,-1,1131,979,980,-1,1131,980,981,-1,1132,1131,981,-1,1132,981,982,-1,1133,1132,982,-1,1104,1133,982,-1,523,523,523,-1,1134,1114,989,-1,1135,1134,988,-1,988,1134,989,-1,1136,1137,1138,-1,1136,1138,1139,-1,1136,1139,1140,-1,1140,1139,1141,-1,1140,1141,1142,-1,1142,1141,1143,-1,1142,1143,1144,-1,1144,1145,1142,-1,1142,1145,1146,-1,1146,1145,1147,-1,1146,1147,1148,-1,1148,1147,1149,-1,1148,1149,1147,-1,1148,1147,1150,-1,1150,1147,1151,-1,1150,1151,1152,-1,1152,1151,1153,-1,1152,1153,1154,-1,1154,1155,1152,-1,1152,1155,1156,-1,1156,1155,1157,-1,1156,1157,1158,-1,1158,1157,1159,-1,1158,1159,1160,-1,1161,1162,1163,-1,1164,1162,1160,-1,1163,1162,1164,-1,1163,1165,1161,-1,1166,1167,1168,-1,1165,1167,1161,-1,1169,1167,1165,-1,1170,1167,1169,-1,1168,1167,1170,-1,1168,1171,1166,-1,1172,1173,1171,-1,1171,1173,1166,-1,1174,1173,1171,-1,1171,1173,1174,-1,1171,1175,1172,-1,1176,1177,1178,-1,1175,1177,1172,-1,1179,1177,1175,-1,1180,1177,1179,-1,1178,1177,1180,-1,1178,1181,1176,-1,1181,1182,1176,-1,1183,1182,1181,-1,1184,1182,1183,-1,1034,1185,1033,-1,1029,1185,1186,-1,1033,1185,1029,-1,523,523,523,-1,1185,1034,1035,-1,1187,1035,1188,-1,1188,1035,1036,-1,1187,1185,1035,-1,1036,1037,1189,-1,1189,1037,1190,-1,1191,1188,1036,-1,1191,1036,1189,-1,1190,1037,1192,-1,1037,1073,1192,-1,1040,1193,1038,-1,1193,1070,1038,-1,1041,1194,1040,-1,1194,1193,1040,-1,1042,1195,1041,-1,1195,1194,1041,-1,1044,1195,1042,-1,1046,1196,1044,-1,1044,1197,1195,-1,1196,1197,1044,-1,1198,1199,1046,-1,1048,1198,1046,-1,1199,1196,1046,-1,1050,1198,1048,-1,1050,1051,1200,-1,1050,1200,1198,-1,1051,1053,1200,-1,1052,1054,1201,-1,1053,1052,1202,-1,1052,1201,1202,-1,1200,1053,1203,-1,1053,1202,1203,-1,1054,1057,1201,-1,1055,1058,1204,-1,1056,1055,1205,-1,1205,1055,1204,-1,1057,1056,1206,-1,1056,1205,1206,-1,1201,1057,1207,-1,1057,1206,1207,-1,1058,1059,1208,-1,1204,1058,1208,-1,1208,1059,1062,-1,1060,1063,1209,-1,1061,1060,1210,-1,1210,1060,1209,-1,1062,1061,1211,-1,1211,1061,1210,-1,1208,1062,1212,-1,1212,1062,1211,-1,1209,1063,1213,-1,1213,1063,1214,-1,1063,1064,1214,-1,1214,1064,1065,-1,1215,1065,1066,-1,1215,1214,1065,-1,1216,1066,1067,-1,1216,1215,1066,-1,1217,1067,1218,-1,1218,1067,1068,-1,1217,1216,1067,-1,1218,1068,1069,-1,1070,1219,1069,-1,1219,1218,1069,-1,1193,1220,1070,-1,1220,1219,1070,-1,1072,1071,1221,-1,1221,1071,1222,-1,1071,1077,1222,-1,1076,1072,1223,-1,1223,1072,1224,-1,1224,1072,1221,-1,1073,1074,1192,-1,1192,1074,1225,-1,1225,1074,1226,-1,1074,1075,1226,-1,1226,1075,1223,-1,1075,1076,1223,-1,1077,1078,1222,-1,1222,1078,1079,-1,1222,1079,1080,-1,1222,1080,1227,-1,1227,1080,1081,-1,1228,1081,1082,-1,1227,1081,1229,-1,1229,1081,1228,-1,1228,1082,1230,-1,1230,1082,1083,-1,1230,1083,1084,-1,1230,1084,1231,-1,1231,1084,1086,-1,1087,1085,1232,-1,1232,1085,1233,-1,1233,1085,1234,-1,1085,1088,1234,-1,1235,1086,1232,-1,1232,1086,1087,-1,1231,1086,1235,-1,1234,1088,1236,-1,1088,1089,1236,-1,1089,1090,1236,-1,1236,1090,1237,-1,1090,1091,1237,-1,1237,1091,1238,-1,1238,1091,1239,-1,1091,1092,1239,-1,1239,1092,1240,-1,1092,1093,1240,-1,1093,1094,1240,-1,1240,1094,1095,-1,1240,1095,1096,-1,1240,1096,1241,-1,1241,1096,1097,-1,1242,1097,1243,-1,1243,1097,1098,-1,1241,1097,1242,-1,1243,1098,1099,-1,1243,1099,1244,-1,1244,1099,1100,-1,1244,1100,1245,-1,1245,1100,1246,-1,1246,1100,1101,-1,1246,1101,1102,-1,1246,1102,1247,-1,1102,1103,1248,-1,1247,1102,1248,-1,1248,1103,1249,-1,1103,1250,1249,-1,1103,1113,1250,-1,1251,1133,1104,-1,1105,1251,1104,-1,1252,1251,1105,-1,1106,1252,1105,-1,1253,1252,1106,-1,1107,1253,1106,-1,1108,1253,1107,-1,1108,1254,1253,-1,1255,1254,1108,-1,1109,1255,1108,-1,1256,1255,1109,-1,1257,1256,1109,-1,1110,1257,1109,-1,1111,1257,1110,-1,1111,1258,1257,-1,1111,1112,1258,-1,1112,1115,1258,-1,1250,1113,1259,-1,1113,1134,1259,-1,1113,1114,1134,-1,1258,1115,1260,-1,1115,1261,1260,-1,1115,1116,1261,-1,1116,1262,1261,-1,1116,1117,1262,-1,1117,1118,1262,-1,1262,1118,1263,-1,1118,1264,1263,-1,1118,1119,1264,-1,1264,1119,1265,-1,1119,1120,1265,-1,1265,1120,1266,-1,1120,1121,1266,-1,1266,1121,1267,-1,1121,1122,1267,-1,1267,1122,1123,-1,1267,1123,1268,-1,1268,1123,1269,-1,1123,1124,1269,-1,1269,1124,1270,-1,1124,1125,1270,-1,1270,1125,1271,-1,1125,1126,1271,-1,1271,1126,1272,-1,1272,1126,1273,-1,1126,1127,1273,-1,1273,1127,1128,-1,1274,1273,1128,-1,1274,1128,1129,-1,1275,1274,1129,-1,1275,1129,1130,-1,1276,1275,1130,-1,1276,1130,1277,-1,1277,1130,1131,-1,1277,1131,1132,-1,1278,1277,1132,-1,1278,1132,1133,-1,1279,1278,1133,-1,1251,1279,1133,-1,1259,1134,1280,-1,1134,1281,1280,-1,1134,1135,1281,-1,1280,1135,1136,-1,1281,1135,1280,-1,1280,1136,1282,-1,1136,1283,1282,-1,1136,1140,1283,-1,1283,1140,1284,-1,1284,1140,1142,-1,1142,1146,1285,-1,1284,1142,1286,-1,1286,1142,1287,-1,1142,1285,1287,-1,1285,1146,1148,-1,1148,1150,1288,-1,1287,1285,1148,-1,1287,1148,1289,-1,1289,1148,1288,-1,1288,1150,1290,-1,1290,1150,1152,-1,1291,1290,1152,-1,1291,1152,1292,-1,1292,1152,1293,-1,1152,1156,1293,-1,1293,1156,1158,-1,1158,1160,1294,-1,1292,1293,1158,-1,1292,1158,1295,-1,1295,1158,1294,-1,1296,1160,1297,-1,1297,1160,1162,-1,1294,1160,1296,-1,1298,1162,1299,-1,1162,1300,1299,-1,1162,1161,1300,-1,1297,1162,1298,-1,1300,1161,1167,-1,1299,1167,1301,-1,1167,1302,1301,-1,1167,1166,1302,-1,1300,1167,1299,-1,1303,1166,1173,-1,1302,1166,1303,-1,1303,1173,1304,-1,1304,1173,1305,-1,1173,1306,1305,-1,1173,1172,1306,-1,1306,1172,1177,-1,1307,1177,1308,-1,1177,1176,1308,-1,1305,1306,1177,-1,1305,1177,1307,-1,1308,1176,1309,-1,1309,1176,1182,-1,1310,1309,1182,-1,1310,1182,1311,-1,1182,1186,1311,-1,1311,1186,1312,-1,1312,1186,1185,-1,1311,1312,1185,-1,1311,1185,1187,-1,1313,1311,1187,-1,1313,1187,1314,-1,1314,1187,1191,-1,1191,1187,1188,-1,1315,1191,1189,-1,1315,1189,1316,-1,1189,1190,1316,-1,1316,1190,1317,-1,1317,1190,1318,-1,1190,1192,1318,-1,1319,1314,1191,-1,1319,1191,1315,-1,1318,1192,1320,-1,1192,1225,1320,-1,1194,1321,1193,-1,1321,1220,1193,-1,1195,1322,1194,-1,1322,1321,1194,-1,1197,1322,1195,-1,1199,1323,1196,-1,1196,1324,1197,-1,1323,1324,1196,-1,1197,1325,1322,-1,1324,1325,1197,-1,1200,1326,1198,-1,1198,1326,1199,-1,1326,1327,1199,-1,1327,1323,1199,-1,1200,1203,1326,-1,1202,1201,1328,-1,1201,1207,1328,-1,1203,1202,1329,-1,1202,1328,1329,-1,1326,1203,1330,-1,1203,1329,1330,-1,1204,1208,1331,-1,1205,1204,1332,-1,1332,1204,1331,-1,1206,1205,1333,-1,1205,1332,1333,-1,1207,1206,1334,-1,1206,1333,1334,-1,1328,1207,1335,-1,1207,1334,1335,-1,1331,1208,1212,-1,1336,1271,1213,-1,1271,1272,1213,-1,1336,1213,1214,-1,1336,1214,1215,-1,1337,1215,1216,-1,1337,1336,1215,-1,1216,1217,1338,-1,1338,1337,1216,-1,1217,1339,1340,-1,1339,1217,1218,-1,1340,1338,1217,-1,1339,1218,1219,-1,1220,1341,1219,-1,1341,1339,1219,-1,1321,1342,1220,-1,1342,1341,1220,-1,1343,1221,1344,-1,1221,1222,1344,-1,1224,1221,1343,-1,1344,1222,1227,-1,1226,1223,1345,-1,1345,1223,1346,-1,1346,1223,1343,-1,1223,1224,1343,-1,1225,1226,1320,-1,1320,1226,1345,-1,1347,1227,1229,-1,1344,1227,1347,-1,1347,1229,1228,-1,1347,1228,1348,-1,1348,1228,1230,-1,1348,1230,1349,-1,1349,1230,1350,-1,1350,1230,1231,-1,1350,1231,1235,-1,1351,1235,1232,-1,1351,1232,1352,-1,1352,1232,1353,-1,1232,1233,1353,-1,1353,1233,1354,-1,1233,1234,1354,-1,1234,1236,1354,-1,1350,1235,1351,-1,1354,1236,1355,-1,1355,1236,1356,-1,1236,1237,1356,-1,1356,1237,1357,-1,1237,1238,1357,-1,1238,1239,1357,-1,1239,1240,1358,-1,1357,1239,1358,-1,1358,1240,1241,-1,1358,1241,1359,-1,1359,1241,1242,-1,1359,1242,1243,-1,1359,1243,1360,-1,1360,1243,1361,-1,1361,1243,1244,-1,1361,1244,1362,-1,1362,1244,1245,-1,1362,1245,1246,-1,1362,1246,1363,-1,1363,1246,1247,-1,1247,1248,1364,-1,1365,1247,1364,-1,1363,1247,1365,-1,1248,1249,1366,-1,1364,1248,1366,-1,1366,1249,1367,-1,1249,1368,1367,-1,1249,1259,1368,-1,1250,1259,1249,-1,1369,1279,1251,-1,1252,1369,1251,-1,1370,1369,1252,-1,1253,1370,1252,-1,1254,1370,1253,-1,1254,1371,1370,-1,1372,1371,1254,-1,1255,1372,1254,-1,1373,1372,1255,-1,1256,1373,1255,-1,1374,1373,1256,-1,1375,1374,1256,-1,1257,1375,1256,-1,1258,1375,1257,-1,1258,1260,1375,-1,1368,1259,1376,-1,1259,1280,1376,-1,1375,1260,1377,-1,1260,1378,1377,-1,1260,1261,1378,-1,1261,1379,1378,-1,1261,1262,1379,-1,1262,1263,1379,-1,1379,1263,1380,-1,1263,1381,1380,-1,1263,1264,1381,-1,1264,1382,1381,-1,1264,1265,1382,-1,1382,1265,1383,-1,1265,1266,1383,-1,1383,1266,1384,-1,1266,1267,1384,-1,1384,1267,1268,-1,1272,1385,1209,-1,1272,1209,1213,-1,1385,1272,1273,-1,1385,1273,1274,-1,1386,1385,1274,-1,1386,1274,1275,-1,1387,1386,1275,-1,1387,1275,1276,-1,1388,1387,1276,-1,1388,1276,1389,-1,1389,1276,1277,-1,1389,1277,1278,-1,1390,1389,1278,-1,1390,1278,1279,-1,1391,1390,1279,-1,1369,1391,1279,-1,1376,1280,1282,-1,1376,1282,1392,-1,1392,1282,1393,-1,1393,1282,1286,-1,1282,1284,1286,-1,1282,1283,1284,-1,1393,1286,1394,-1,1286,1289,1394,-1,1286,1287,1289,-1,1289,1288,1291,-1,1288,1290,1291,-1,1394,1289,1395,-1,1395,1289,1396,-1,1289,1291,1396,-1,1396,1291,1292,-1,1396,1292,1397,-1,1397,1292,1398,-1,1398,1292,1295,-1,1399,1294,1296,-1,1295,1294,1400,-1,1400,1294,1399,-1,1398,1295,1400,-1,1296,1297,1399,-1,1399,1297,1401,-1,1401,1297,1298,-1,1298,1299,1402,-1,1401,1298,1402,-1,1403,1299,1404,-1,1299,1301,1404,-1,1402,1299,1403,-1,1404,1301,1304,-1,1301,1303,1304,-1,1301,1302,1303,-1,1404,1304,1405,-1,1405,1304,1406,-1,1406,1304,1307,-1,1304,1305,1307,-1,1307,1310,1407,-1,1307,1308,1310,-1,1406,1307,1407,-1,1308,1309,1310,-1,1407,1310,1408,-1,1408,1310,1313,-1,1310,1311,1313,-1,1408,1313,1319,-1,1319,1313,1314,-1,1409,1315,1410,-1,1410,1315,1411,-1,1411,1315,1316,-1,1409,1319,1315,-1,1411,1316,1317,-1,1412,1411,1317,-1,1317,1318,1412,-1,1412,1318,1413,-1,1413,1318,1414,-1,1318,1320,1414,-1,1415,1408,1319,-1,1415,1319,1409,-1,1414,1320,1416,-1,1320,1345,1416,-1,1322,1417,1321,-1,1417,1342,1321,-1,1325,1417,1322,-1,1418,1323,1327,-1,1419,1324,1323,-1,1418,1419,1323,-1,1420,1325,1324,-1,1419,1420,1324,-1,1421,1417,1325,-1,1420,1421,1325,-1,1326,1330,1327,-1,1330,1422,1327,-1,1422,1418,1327,-1,1329,1328,1423,-1,1328,1335,1423,-1,1330,1329,1424,-1,1329,1423,1424,-1,1424,1422,1330,-1,1209,1386,1210,-1,1385,1386,1209,-1,1210,1387,1211,-1,1386,1387,1210,-1,1211,1388,1212,-1,1387,1388,1211,-1,1212,1425,1331,-1,1388,1425,1212,-1,1336,1337,1270,-1,1271,1336,1270,-1,1337,1338,1269,-1,1270,1337,1269,-1,1340,1268,1338,-1,1338,1268,1269,-1,1426,1384,1340,-1,1340,1384,1268,-1,1427,1383,1426,-1,1426,1383,1384,-1,1428,1382,1427,-1,1427,1382,1383,-1,1421,1381,1428,-1,1428,1381,1382,-1,1420,1380,1421,-1,1421,1380,1381,-1,1419,1429,1420,-1,1420,1429,1380,-1,1418,1430,1419,-1,1419,1430,1429,-1,1418,1422,1431,-1,1418,1431,1430,-1,1421,1428,1417,-1,1428,1342,1417,-1,1428,1427,1342,-1,1427,1341,1342,-1,1427,1426,1341,-1,1339,1341,1426,-1,1426,1340,1339,-1,1346,1343,1432,-1,1343,1347,1432,-1,1343,1344,1347,-1,1345,1346,1416,-1,1416,1346,1433,-1,1433,1346,1432,-1,1432,1347,1434,-1,1434,1347,1348,-1,1434,1348,1349,-1,1434,1349,1435,-1,1435,1349,1436,-1,1436,1349,1350,-1,1436,1350,1437,-1,1437,1350,1351,-1,1437,1351,1352,-1,1352,1353,1438,-1,1437,1352,1439,-1,1439,1352,1438,-1,1353,1354,1438,-1,1438,1354,1440,-1,1354,1355,1440,-1,1440,1355,1441,-1,1441,1355,1442,-1,1355,1356,1442,-1,1356,1357,1442,-1,1442,1357,1443,-1,1443,1357,1359,-1,1357,1358,1359,-1,1443,1359,1360,-1,1443,1360,1444,-1,1444,1360,1445,-1,1445,1360,1361,-1,1445,1361,1362,-1,1445,1362,1446,-1,1446,1362,1363,-1,1446,1363,1447,-1,1447,1363,1448,-1,1448,1363,1365,-1,1365,1364,1449,-1,1448,1365,1449,-1,1364,1366,1449,-1,1449,1366,1450,-1,1450,1366,1451,-1,1366,1367,1451,-1,1367,1392,1452,-1,1367,1376,1392,-1,1368,1376,1367,-1,1451,1367,1452,-1,1453,1391,1369,-1,1370,1453,1369,-1,1371,1453,1370,-1,1371,1454,1453,-1,1455,1454,1371,-1,1455,1371,1372,-1,1456,1455,1372,-1,1456,1372,1373,-1,1457,1456,1373,-1,1457,1373,1374,-1,1431,1457,1374,-1,1377,1431,1374,-1,1375,1377,1374,-1,1430,1431,1377,-1,1377,1378,1430,-1,1378,1429,1430,-1,1378,1379,1429,-1,1379,1380,1429,-1,1458,1332,1331,-1,1331,1425,1458,-1,1459,1333,1332,-1,1458,1459,1332,-1,1454,1334,1333,-1,1333,1459,1454,-1,1455,1335,1334,-1,1334,1454,1455,-1,1423,1335,1456,-1,1456,1335,1455,-1,1424,1423,1457,-1,1457,1423,1456,-1,1431,1422,1424,-1,1431,1424,1457,-1,1454,1459,1453,-1,1453,1459,1391,-1,1459,1458,1391,-1,1458,1390,1391,-1,1458,1425,1390,-1,1425,1389,1390,-1,1425,1388,1389,-1,1392,1393,1452,-1,1452,1393,1460,-1,1460,1393,1394,-1,1461,1394,1395,-1,1460,1394,1461,-1,1395,1396,1397,-1,1461,1395,1462,-1,1462,1395,1463,-1,1395,1397,1463,-1,1463,1397,1464,-1,1464,1397,1398,-1,1464,1398,1465,-1,1465,1398,1466,-1,1398,1400,1466,-1,1466,1400,1399,-1,1466,1399,1467,-1,1467,1399,1468,-1,1399,1401,1468,-1,1468,1401,1402,-1,1469,1402,1470,-1,1402,1403,1470,-1,1468,1402,1469,-1,1403,1404,1405,-1,1470,1403,1471,-1,1471,1403,1405,-1,1471,1405,1472,-1,1472,1405,1473,-1,1405,1406,1473,-1,1406,1407,1474,-1,1473,1406,1474,-1,1474,1407,1415,-1,1415,1407,1408,-1,1475,1415,1409,-1,1475,1409,1476,-1,1476,1409,1410,-1,1476,1410,1411,-1,1476,1411,1477,-1,1477,1411,1412,-1,1478,1477,1412,-1,1478,1412,1479,-1,1412,1413,1479,-1,1413,1414,1479,-1,1479,1414,1480,-1,1414,1416,1480,-1,1473,1474,1415,-1,1473,1415,1481,-1,1481,1415,1475,-1,1416,1433,1482,-1,1480,1416,1483,-1,1483,1416,1482,-1,1433,1432,1482,-1,1482,1432,1434,-1,1482,1434,1484,-1,1484,1434,1435,-1,1484,1435,1436,-1,1484,1436,1485,-1,1485,1436,1486,-1,1486,1436,1437,-1,1486,1437,1487,-1,1487,1437,1439,-1,1439,1438,1487,-1,1487,1438,1488,-1,1438,1440,1488,-1,1488,1440,1489,-1,1489,1440,1490,-1,1440,1441,1490,-1,1441,1442,1490,-1,1490,1442,1491,-1,1442,1443,1491,-1,1491,1443,1444,-1,1491,1444,1445,-1,1491,1445,1492,-1,1492,1445,1493,-1,1493,1445,1446,-1,1493,1446,1494,-1,1494,1446,1447,-1,1494,1447,1448,-1,1494,1448,1495,-1,1448,1449,1496,-1,1495,1448,1496,-1,1449,1450,1497,-1,1496,1449,1497,-1,1450,1451,1497,-1,1497,1451,1498,-1,1451,1452,1498,-1,1498,1452,1499,-1,1499,1452,1461,-1,1452,1460,1461,-1,1499,1461,1462,-1,1500,1462,1501,-1,1462,1464,1501,-1,1462,1463,1464,-1,1499,1462,1502,-1,1502,1462,1500,-1,1501,1464,1503,-1,1503,1464,1465,-1,1503,1465,1504,-1,1504,1465,1505,-1,1465,1467,1505,-1,1465,1466,1467,-1,1467,1468,1469,-1,1505,1467,1469,-1,1505,1469,1504,-1,1504,1469,1506,-1,1469,1470,1506,-1,1470,1471,1472,-1,1506,1470,1507,-1,1507,1470,1472,-1,1507,1472,1508,-1,1508,1472,1509,-1,1509,1472,1481,-1,1472,1473,1481,-1,1510,1475,1476,-1,1509,1481,1475,-1,1509,1475,1511,-1,1511,1475,1510,-1,1510,1476,1512,-1,1512,1476,1477,-1,1512,1477,1478,-1,1513,1512,1478,-1,1478,1479,1513,-1,1513,1479,1514,-1,1479,1480,1514,-1,1514,1480,1515,-1,1515,1480,1516,-1,1480,1483,1516,-1,1483,1482,1484,-1,1483,1484,1516,-1,1516,1484,1517,-1,1517,1484,1485,-1,1517,1485,1486,-1,1517,1486,1518,-1,1518,1486,1519,-1,1519,1486,1487,-1,1487,1488,1519,-1,1519,1488,1520,-1,1520,1488,1521,-1,1488,1489,1521,-1,1489,1490,1521,-1,1521,1490,1522,-1,1522,1490,1492,-1,1490,1491,1492,-1,1522,1492,1493,-1,1522,1493,1523,-1,1523,1493,1524,-1,1524,1493,1494,-1,1524,1494,1525,-1,1525,1494,1495,-1,1495,1496,1526,-1,1525,1495,1526,-1,1496,1497,1526,-1,1526,1497,1527,-1,1497,1498,1527,-1,1527,1498,1528,-1,1528,1498,1502,-1,1498,1499,1502,-1,1500,1503,1529,-1,1500,1501,1503,-1,1530,1502,1500,-1,1530,1500,1531,-1,1531,1500,1529,-1,1528,1502,1530,-1,1529,1503,1532,-1,1532,1503,1504,-1,1504,1506,1532,-1,1532,1506,1533,-1,1533,1506,1508,-1,1506,1507,1508,-1,1533,1508,1534,-1,1534,1508,1535,-1,1508,1509,1535,-1,1535,1509,1511,-1,1535,1511,1510,-1,1535,1510,1536,-1,1536,1510,1537,-1,1537,1510,1512,-1,1537,1512,1513,-1,1538,1537,1513,-1,1513,1514,1538,-1,1538,1514,1539,-1,1539,1514,1540,-1,1514,1515,1540,-1,1515,1516,1540,-1,1540,1516,1517,-1,1540,1517,1541,-1,1541,1517,1518,-1,1541,1518,1519,-1,1541,1519,1542,-1,1542,1519,1543,-1,1519,1520,1543,-1,1520,1521,1543,-1,1543,1521,1544,-1,1521,1522,1544,-1,1544,1522,1523,-1,1544,1523,1524,-1,1545,1524,1546,-1,1546,1524,1525,-1,1544,1524,1545,-1,1525,1526,1547,-1,1546,1525,1547,-1,1526,1527,1547,-1,1547,1527,1548,-1,1548,1527,1530,-1,1527,1528,1530,-1,1531,1529,1532,-1,1548,1530,1549,-1,1549,1530,1531,-1,1550,1531,1551,-1,1531,1532,1551,-1,1549,1531,1550,-1,1532,1533,1534,-1,1551,1532,1534,-1,1551,1534,1550,-1,1550,1534,1552,-1,1534,1535,1552,-1,1552,1535,1536,-1,1552,1536,1537,-1,1552,1537,1553,-1,1553,1537,1538,-1,1554,1553,1538,-1,1554,1538,1555,-1,1538,1539,1555,-1,1539,1540,1555,-1,1555,1540,1541,-1,1556,1541,1542,-1,1555,1541,1556,-1,1542,1543,1556,-1,1556,1543,1557,-1,1543,1544,1557,-1,1557,1544,1545,-1,1557,1545,1546,-1,1557,1546,1558,-1,1546,1547,1559,-1,1558,1546,1559,-1,1547,1548,1549,-1,1559,1547,1549,-1,1559,1549,1550,-1,1559,1550,1560,-1,1560,1550,1553,-1,1550,1552,1553,-1,1560,1553,1554,-1,1561,1560,1554,-1,1554,1555,1556,-1,1554,1556,1561,-1,1561,1556,1558,-1,1556,1557,1558,-1,1558,1559,1560,-1,1561,1558,1560,-1], "@solid":false, "-coord": { "Coordinate": { "@point":[-44.6674,-1.12054,0,-44.7852,-0.376604,0,-44.7263,-0.376604,-0.935713,-44.7852,0.376604,0,-44.7263,0.376604,-0.935713,-44.7263,-0.376604,0.935713,-44.7263,0.376604,0.935713,-44.38,-1.83688,-0.86716,-44.6099,-1.12054,-0.912673,-44.6099,-1.12054,0.912673,-44.38,-1.83688,0.86716,-44.4346,-1.83688,0,-44.551,-0.376604,-1.84839,-44.551,0.376604,-1.84839,-44.6099,1.12054,-0.912673,-44.6674,1.12054,0,-44.6099,1.12054,0.912673,-44.551,0.376604,1.84839,-44.551,-0.376604,1.84839,-43.8924,-2.50799,-1.58088,-44.2176,-1.83688,-1.71297,-44.0927,-2.50799,0,-44.0423,-2.50799,-0.800294,-44.4389,-1.12054,-1.80287,-44.4389,-1.12054,1.80287,-44.2176,-1.83688,1.71297,-43.8924,-2.50799,1.58088,-44.0423,-2.50799,0.800294,-44.1587,-1.12054,-2.64868,-44.2636,-0.376604,-2.71555,-44.2636,0.376604,-2.71555,-44.1587,1.12054,-2.64868,-44.4389,1.12054,-1.80287,-44.38,1.83688,-0.86716,-44.2176,1.83688,-1.71297,-44.4346,1.83688,0,-44.38,1.83688,0.86716,-44.2176,1.83688,1.71297,-44.4389,1.12054,1.80287,-44.1587,1.12054,2.64868,-44.2636,0.376604,2.71555,-44.2636,-0.376604,2.71555,-44.1587,-1.12054,2.64868,-43.605,-3.11735,-0.713722,-43.4713,-3.11735,-1.40987,-43.2521,-3.11735,-2.0713,-43.6466,-2.50799,-2.32254,-43.9513,-1.83688,-2.51659,-43.6499,-3.11735,0,-43.605,-3.11735,0.713722,-43.9513,-1.83688,2.51659,-43.6466,-2.50799,2.32254,-43.2521,-3.11735,2.0713,-43.4713,-3.11735,1.40987,-43.5877,-1.83688,-3.25826,-43.776,-1.12054,-3.42927,-43.8713,-0.376604,-3.51584,-43.8713,0.376604,-3.51584,-43.776,1.12054,-3.42927,-43.5877,1.83688,-3.25826,-43.9513,1.83688,-2.51659,-43.8924,2.50799,-1.58088,-44.0423,2.50799,-0.800294,-44.0927,2.50799,0,-43.6466,2.50799,-2.32254,-44.0423,2.50799,0.800294,-43.8924,2.50799,1.58088,-43.6466,2.50799,2.32254,-43.9513,1.83688,2.51659,-43.776,1.12054,3.42927,-43.5877,1.83688,3.25826,-43.8713,0.376604,3.51584,-43.8713,-0.376604,3.51584,-43.776,-1.12054,3.42927,-43.5877,-1.83688,3.25826,-43.079,-3.64995,-0.609576,-42.9648,-3.64995,-1.20414,-43.311,-2.50799,-3.00702,-42.7776,-3.64995,-1.76906,-42.522,-3.64995,-2.29042,-42.9529,-3.11735,-2.68173,-43.079,-3.64995,0.609576,-43.1174,-3.64995,0,-42.9648,-3.64995,1.20414,-43.311,-2.50799,3.00702,-42.9529,-3.11735,2.68173,-42.522,-3.64995,2.29042,-42.7776,-3.64995,1.76906,-42.894,-2.50799,-3.61745,-43.1358,-1.83688,-3.91969,-43.3003,-1.12054,-4.12542,-43.3836,-0.376604,-4.22956,-43.3836,0.376604,-4.22956,-43.3003,1.12054,-4.12542,-43.1358,1.83688,-3.91969,-42.894,2.50799,-3.61745,-43.311,2.50799,-3.00702,-43.4713,3.11735,-1.40987,-43.605,3.11735,-0.713722,-43.2521,3.11735,-2.0713,-43.6499,3.11735,0,-43.605,3.11735,0.713722,-43.4713,3.11735,1.40987,-43.2521,3.11735,2.0713,-43.311,2.50799,3.00702,-43.1358,1.83688,3.91969,-43.3003,1.12054,4.12542,-43.3836,0.376604,4.22956,-42.894,2.50799,3.61745,-43.3836,-0.376604,4.22956,-43.3003,-1.12054,4.12542,-43.1358,-1.83688,3.91969,-42.894,-2.50799,3.61745,-42.508,-4.09267,0,-42.4771,-4.09267,-0.490421,-42.3852,-4.09267,-0.968766,-42.2346,-4.09267,-1.42326,-42.029,-4.09267,-1.8427,-41.7734,-4.09267,-2.21677,-42.2043,-3.64995,-2.75537,-42.5809,-3.11735,-3.22613,-42.3852,-4.09267,0.968766,-42.4771,-4.09267,0.490421,-42.2346,-4.09267,1.42326,-42.5809,-3.11735,3.22613,-42.2043,-3.64995,2.75537,-41.7734,-4.09267,2.21677,-42.029,-4.09267,1.8427,-42.1454,-3.11735,-3.69109,-42.4056,-2.50799,-4.1388,-42.6066,-1.83688,-4.48461,-42.7434,-1.12054,-4.71998,-42.8127,-0.376604,-4.83914,-42.8127,0.376604,-4.83914,-42.7434,1.12054,-4.71998,-42.6066,1.83688,-4.48461,-42.4056,2.50799,-4.1388,-42.1454,3.11735,-3.69109,-42.5809,3.11735,-3.22613,-42.9529,3.11735,-2.68173,-42.9648,3.64995,-1.20414,-43.079,3.64995,-0.609576,-42.522,3.64995,-2.29042,-42.7776,3.64995,-1.76906,-43.079,3.64995,0.609576,-43.1174,3.64995,0,-42.9648,3.64995,1.20414,-42.7776,3.64995,1.76906,-42.522,3.64995,2.29042,-42.9529,3.11735,2.68173,-42.6066,1.83688,4.48461,-42.7434,1.12054,4.71998,-42.8127,0.376604,4.83914,-42.8127,-0.376604,4.83914,-42.5809,3.11735,3.22613,-42.1454,3.11735,3.69109,-42.4056,2.50799,4.1388,-42.7434,-1.12054,4.71998,-42.6066,-1.83688,4.48461,-42.4056,-2.50799,4.1388,-42.1454,-3.11735,3.69109,-41.8369,-4.43462,0,-41.8143,-4.43462,-0.359189,-41.6367,-4.43462,-1.04241,-41.747,-4.43462,-0.709534,-41.4861,-4.43462,-1.34961,-41.8323,-3.64995,-3.15249,-41.2989,-4.43462,-1.62359,-41.0797,-4.43462,-1.85758,-41.4742,-4.09267,-2.53626,-41.6367,-4.43462,1.04241,-41.747,-4.43462,0.709534,-41.8143,-4.43462,0.359189,-41.8323,-3.64995,3.15249,-41.4742,-4.09267,2.53626,-41.0797,-4.43462,1.85758,-41.2989,-4.43462,1.62359,-41.4861,-4.43462,1.34961,-41.657,-3.11735,-4.06516,-41.858,-2.50799,-4.55825,-42.1189,-1.12054,-5.19833,-42.0133,-1.83688,-4.9391,-42.1724,-0.376604,-5.32956,-42.1724,0.376604,-5.32956,-42.1189,1.12054,-5.19833,-42.0133,1.83688,-4.9391,-41.858,2.50799,-4.55825,-41.657,3.11735,-4.06516,-42.2043,3.64995,-2.75537,-41.8323,3.64995,-3.15249,-42.2346,4.09267,-1.42326,-42.3852,4.09267,-0.968766,-42.4771,4.09267,-0.490421,-42.508,4.09267,0,-41.7734,4.09267,-2.21677,-42.029,4.09267,-1.8427,-42.4771,4.09267,0.490421,-42.3852,4.09267,0.968766,-42.2346,4.09267,1.42326,-42.2043,3.64995,2.75537,-42.029,4.09267,1.8427,-41.7734,4.09267,2.21677,-42.0133,1.83688,4.9391,-42.1189,1.12054,5.19833,-41.858,2.50799,4.55825,-42.1724,0.376604,5.32956,-42.1724,-0.376604,5.32956,-41.8323,3.64995,3.15249,-41.657,3.11735,4.06516,-42.1189,-1.12054,5.19833,-42.0133,-1.83688,4.9391,-41.858,-2.50799,4.55825,-41.657,-3.11735,4.06516,-41.1067,-4.66738,0.219113,-41.1205,-4.66738,0,-41.1067,-4.66738,-0.219113,-41.0657,-4.66738,-0.432832,-40.9984,-4.66738,-0.635892,-40.9065,-4.66738,-0.823294,-40.7923,-4.66738,-0.990425,-41.1386,-4.09267,-2.7933,-41.4152,-3.64995,-3.47198,-18.2709,-9.6,-4.06737,-40.8339,-4.43462,-2.04584,-16.1803,-9.6,-5.87785,-16.3898,-9.6,-5.69642,-17.3205,-9.56774,-5,-18.0614,-9.6,-4.24879,-40.9065,-4.66738,0.823294,-40.9984,-4.66738,0.635892,-41.0657,-4.66738,0.432832,-41.4152,-3.64995,3.47198,-41.1386,-4.09267,2.7933,-40.8339,-4.43462,2.04584,-16.1803,-9.6,5.87785,-18.2709,-9.6,4.06737,-18.0614,-9.6,4.24879,-17.3205,-9.56774,5,-16.3898,-9.6,5.69642,-40.7923,-4.66738,0.990425,-40.9633,-3.64995,-3.70597,-41.1279,-3.11735,-4.33913,-41.2647,-2.50799,-4.86545,-41.3704,-1.83688,-5.27197,-41.4423,-1.12054,-5.54867,-41.4787,-0.376604,-5.68875,-41.4787,0.376604,-5.68875,-41.4423,1.12054,-5.54867,-41.3704,1.83688,-5.27197,-41.2647,2.50799,-4.86545,-40.9633,3.64995,-3.70597,-41.4152,3.64995,-3.47198,-41.1279,3.11735,-4.33913,-41.1386,4.09267,-2.7933,-41.4742,4.09267,-2.53626,-41.6367,4.43462,-1.04241,-41.747,4.43462,-0.709534,-41.8143,4.43462,-0.359189,-41.8369,4.43462,0,-41.0797,4.43462,-1.85758,-41.2989,4.43462,-1.62359,-41.4861,4.43462,-1.34961,-41.8143,4.43462,0.359189,-41.747,4.43462,0.709534,-41.6367,4.43462,1.04241,-41.4861,4.43462,1.34961,-41.2989,4.43462,1.62359,-41.0797,4.43462,1.85758,-41.4742,4.09267,2.53626,-41.3704,1.83688,5.27197,-41.4423,1.12054,5.54867,-41.4787,0.376604,5.68875,-41.2647,2.50799,4.86545,-41.4787,-0.376604,5.68875,-41.1386,4.09267,2.7933,-41.4152,3.64995,3.47198,-40.9633,3.64995,3.70597,-41.1279,3.11735,4.33913,-41.4423,-1.12054,5.54867,-41.3704,-1.83688,5.27197,-41.2647,-2.50799,4.86545,-41.1279,-3.11735,4.33913,-40.9633,-3.64995,3.70597,-20,-9.6,0,-19.563,-9.6,-2.07912,-19.6099,-9.6,-1.85572,-19.8289,-9.57592,-1.30526,-18.3299,-9.6,-3.97655,-18.4776,-9.5879,-3.82683,-19.3185,-9.57924,-2.58819,-19.4549,-9.6,-2.24543,-13.3826,-9.6,-7.43145,-13.6166,-9.6,-7.30149,-14.1421,-9.56862,-7.07107,-15.8671,-9.5817,-6.08761,-16.0526,-9.6,-5.94881,-18.4776,-18,-3.82683,-17.3205,-18,-5,-15.8671,-18,-6.08761,-19.563,-9.6,2.07912,-19.4549,-9.6,2.24543,-19.3185,-9.57924,2.58819,-18.4776,-9.5879,3.82683,-18.3299,-9.6,3.97655,-19.8289,-9.57592,1.30526,-19.6099,-9.6,1.85572,-13.3826,-9.6,7.43145,-16.0526,-9.6,5.94881,-15.8671,-9.5817,6.08761,-14.1421,-9.56862,7.07107,-13.6166,-9.6,7.30149,-17.3205,-18,5,-15.8671,-18,6.08761,-18.4776,-18,3.82683,-10,-9.6,-8.66025,-12.1752,-9.5411,-7.93353,-13.0192,-9.6,-7.56348,-40.6402,-2.50799,-5.05286,-40.6937,-1.83688,-5.47503,-40.7301,-1.12054,-5.76239,-40.7486,-0.376604,-5.90786,-40.7486,0.376604,-5.90786,-40.7301,1.12054,-5.76239,-40.6937,1.83688,-5.47503,-40.6402,2.50799,-5.05286,-40.571,3.11735,-4.50626,-40.4877,3.64995,-3.84871,-40.775,4.09267,-2.98155,-40.8339,4.43462,-2.04584,-40.9065,4.66738,-0.823294,-40.9984,4.66738,-0.635892,-41.0657,4.66738,-0.432832,-41.1067,4.66738,-0.219113,-41.1205,4.66738,0,-41.1067,4.66738,0.219113,-40.6586,4.66738,-1.13317,-40.7923,4.66738,-0.990425,-41.0657,4.66738,0.432832,-40.9984,4.66738,0.635892,-40.9065,4.66738,0.823294,-40.7923,4.66738,0.990425,-40.6586,4.66738,1.13317,-40.8339,4.43462,2.04584,-40.6937,1.83688,5.47503,-40.7301,1.12054,5.76239,-40.7486,0.376604,5.90786,-40.7486,-0.376604,5.90786,-40.571,3.11735,4.50626,-40.6402,2.50799,5.05286,-40.7301,-1.12054,5.76239,-40.775,4.09267,2.98155,-40.4877,3.64995,3.84871,-40.6937,-1.83688,5.47503,-40.6402,-2.50799,5.05286,-10,-9.6,8.66025,-13.0192,-9.6,7.56348,-12.1752,-9.5411,7.93353,-20,-18,0,-19.8289,-18,-1.30526,-19.3185,-18,-2.58819,-14.1421,-18,-7.07107,-12.1752,-18,-7.93353,-22.1731,-22,-4.5922,-20.7846,-22,-6,-23.1822,-22,-3.10583,-19.0405,-22,-7.30514,-19.3185,-18,2.58819,-19.8289,-18,1.30526,-14.1421,-18,7.07107,-12.1752,-18,7.93353,-16.9706,-22,8.48528,-19.0405,-22,7.30514,-20.7846,-22,6,-22.1731,-22,4.5922,-10,-18,-8.66025,-6.18034,-9.6,-9.51056,-6.59077,-9.6,-9.4192,-7.65367,-9.48036,-9.23879,-5.76528,-9,-9.5593,-4.60535,-9,-9.68258,-5.83823,-9.6,-9.54692,-2.86618,0.925595,-9.86422,-2.09057,4.8,-9.94522,-2.49708,1.32507,-9.90276,-2.09057,1.60341,-9.94522,-3.37495,0.374952,-9.81108,-4.45771,-3.32122,-9.698,-4.49401,-3.00798,-9.69421,-3.85444,-0.446756,-9.761,-3.99755,-0.69201,-9.74606,-4.35313,-1.78262,-9.70892,-4.36841,-1.82949,-9.70733,-4.45771,-2.67878,-9.698,-4.49494,-3,-9.69411,-4.37265,-4.1302,-9.70688,-4.05727,-5.12483,-9.73982,-4.36841,-4.17051,-9.70733,-3.58823,-6.00945,-9.78881,-3.99755,-5.30799,-9.74606,-3.37495,-6.37495,-9.81108,-2.98852,-6.79319,-9.85144,-2.49708,-7.32507,-9.90276,-2.26798,-7.48194,-9.92669,-2.09057,-7.60341,-9.94522,-2.28216,-9.55429,-9.92521,-2.09057,-9.6,-9.94522,-2.28216,-9,-9.92521,-6.18034,4.8,-9.51056,-10,4.8,-8.66025,-40.3923,4.09267,-3.09639,-40.2874,4.43462,-2.26783,-40.5676,4.43462,-2.18372,-40.3463,4.66738,-1.33212,-40.5087,4.66738,-1.24801,-40.3047,4.7852,-0.276703,-40.2663,4.7852,-0.332874,-40.3356,4.7852,-0.213718,-40.3582,4.7852,-0.145471,-40.372,4.7852,-0.073642,-40.3766,4.7852,0,-40.372,4.7852,0.073642,-40.2214,4.7852,-0.380848,-40.3582,4.7852,0.145471,-40.3356,4.7852,0.213718,-40.3047,4.7852,0.276703,-40.2663,4.7852,0.332874,-40.2214,4.7852,0.380848,-40.5087,4.66738,1.24801,-40.3463,4.66738,1.33212,-40.5676,4.43462,2.18372,-6.18034,4.8,9.51056,-2.09057,4.8,9.94522,-4.60535,-9,9.68258,-2.09057,-7.60341,9.94522,-2.28216,-9,9.92521,-2.09057,-9.6,9.94522,-2.28216,-9.55429,9.92521,-2.49708,-7.32507,9.90276,-2.86618,-6.9256,9.86422,-3.37495,-6.37495,9.81108,-3.85444,-5.55324,9.761,-3.99755,-5.30799,9.74606,-4.35313,-4.21738,9.70892,-4.36841,-4.17051,9.70733,-4.45771,-3.32122,9.698,-4.49494,-3,9.69411,-4.49401,-2.99202,9.69421,-4.45771,-2.67878,9.698,-4.37265,-1.8698,9.70688,-4.36841,-1.82949,9.70733,-4.05727,-0.875174,9.73982,-3.99755,-0.69201,9.74606,-3.58823,0.00945417,9.78881,-3.37495,0.374952,9.81108,-2.98852,0.793191,9.85144,-2.49708,1.32507,9.90276,-2.26798,1.48194,9.92669,-2.09057,1.60341,9.94522,-5.76528,-9,9.5593,-6.18034,-9.6,9.51056,-5.83823,-9.6,9.54692,-40.3923,4.09267,3.09639,-40.2874,4.43462,2.26783,-10,4.8,8.66025,-7.65367,-9.48036,9.23879,-6.59077,-9.6,9.4192,-10,-18,8.66025,-24,-22,0,-23.7947,-22,-1.56631,-23.7947,-22,1.56631,-16.9706,-22,-8.48528,-14.6103,-22,-9.52024,-12,-22,-10.3923,-9.1844,-22,-11.0866,-6.21166,-22,-11.5911,-3.13263,-22,-11.8973,0,-22,-12,3.13263,-22,-11.8973,6.21166,-22,-11.5911,9.1844,-22,-11.0866,12,-22,-10.3923,14.6103,-22,-9.52024,-10.445,-22,-1.94986,16.9706,-22,-8.48528,-8.75302,-22,-1.56366,19.0405,-22,-7.30514,9.55496,-22,-1.94986,23.1822,-22,-3.10583,11.247,-22,-1.56366,22.1731,-22,-4.5922,12,-22,0,23.7947,-22,-1.56631,24,-22,0,9.55496,-22,1.94986,23.7947,-22,1.56631,23.1822,-22,3.10583,22.1731,-22,4.5922,20.7846,-22,6,19.0405,-22,7.30514,16.9706,-22,8.48528,14.6103,-22,9.52024,12,-22,10.3923,9.1844,-22,11.0866,6.21166,-22,11.5911,3.13263,-22,11.8973,0,-22,12,-3.13263,-22,11.8973,-6.21166,-22,11.5911,-9.1844,-22,11.0866,-12,-22,10.3923,-14.6103,-22,9.52024,-23.1822,-22,3.10583,-11.8019,-22,0.867767,-11.8019,-22,-0.867767,-10.445,-22,1.94986,11.247,-22,1.56366,-8.75302,-22,1.56366,8.19806,-22,0.867767,-8,-22,0,20.7846,-22,-6,8.19806,-22,-0.867767,-7.65367,-18,-9.23879,-5.17638,-18,-9.65926,-5.17638,-9,-9.65926,-2.61052,-9,-9.91445,-2.61052,-18,-9.91445,0,-18,-10,-2.27736,-9.6,-9.92537,-1.6716,-9.6,-9.94522,-1.6716,-9,-9.94522,0,-9,-10,-1.3191,-7.92296,-9.94522,1.6716,-9.6,-9.94522,2.09057,-7.60341,-9.94522,2.09057,-9.6,-9.94522,1.6716,-9,-9.94522,-1.11419,-7.94994,-9.94522,0,-8.09662,-9.94522,0.204911,-8.06964,-9.94522,1.3191,-7.92296,-9.94522,1.51005,-7.84387,-9.94522,-1.16469,-7.34667,-9.698,-2.25,-6.89711,-9.698,-3.18198,-6.18198,-9.698,-3.89711,-5.25,-9.698,-4.34667,-4.16469,-9.698,-3.74683,-4.00396,-9.221,-3.879,-3,-9.221,-4.34667,-1.83531,-9.698,-3.89711,-0.75,-9.698,-3.18198,0.181981,-9.698,-2.25,0.897114,-9.698,-1.51005,1.84387,-9.94522,2.09057,4.8,-9.94522,1.3191,1.92296,-9.94522,2.09057,1.60341,-9.94522,1.11419,1.94994,-9.94522,0,2.09662,-9.94522,-0.204911,2.06964,-9.94522,-1.3191,1.92296,-9.94522,-19.563,4.8,-2.07912,-20,4.8,0,-19.563,4.8,2.07912,-16.1803,4.8,5.87785,-18.2709,4.8,4.06737,-13.3826,4.8,7.43145,-13.0406,4.8,3.04056,-13.9727,4.8,-1.64554,-13.1417,4.8,-2.88916,-5.7,4.8,0,7.11084,4.8,3.14172,6.95944,4.8,3.04056,-8.35446,4.8,-3.97268,-7.11084,4.8,-3.14172,16.1803,4.8,-5.87785,6.18034,4.8,-9.51056,-13.3826,4.8,-7.43145,-16.1803,4.8,-5.87785,-18.2709,4.8,-4.06737,-14.3,4.8,0,-14.2645,4.8,0.178586,-6.95944,4.8,3.04056,-8.20306,4.8,3.87152,6.18034,4.8,9.51056,-6.95944,4.8,-3.04056,6.85828,4.8,-2.88916,6.95944,4.8,-3.04056,-13.0406,4.8,-3.04056,-6.02732,4.8,-1.64554,5.73552,4.8,0.178586,5.7,4.8,0,-11.6455,4.8,-3.97268,-11.7969,4.8,-3.87152,-10,4.8,-4.3,-8.53305,4.8,-4.00821,10,4.8,-8.66025,-10.1786,4.8,-4.26448,13.3826,4.8,-7.43145,8.35446,4.8,-3.97268,9.82141,4.8,-4.26448,14.3,4.8,0,14.0082,4.8,1.46695,19.563,4.8,2.07912,-6.12848,4.8,-1.79694,6.02732,4.8,-1.64554,16.1803,4.8,5.87785,-5.99179,4.8,1.46695,13.3826,4.8,7.43145,-6.02732,4.8,1.64554,10,4.8,8.66025,-6.85828,4.8,2.88916,2.09057,4.8,9.94522,-8.35446,4.8,3.97268,-9.82141,4.8,4.26448,-10,4.8,4.3,13.9727,4.8,1.64554,-11.467,4.8,4.00821,-11.6455,4.8,3.97268,-13.8715,4.8,1.79694,-13.9727,4.8,1.64554,-12.8892,4.8,3.14172,6.02732,4.8,1.64554,-5.73552,4.8,-0.178586,6.12848,4.8,1.79694,13.0406,4.8,3.04056,11.7969,4.8,3.87152,18.2709,4.8,4.06737,20,4.8,0,5.99179,4.8,-1.46695,13.9727,4.8,-1.64554,14.2645,4.8,-0.178586,8.20306,4.8,-3.87152,8.35446,4.8,3.97268,13.0406,4.8,-3.04056,13.8715,4.8,-1.79694,19.563,4.8,-2.07912,10,4.8,-4.3,11.467,4.8,-4.00821,18.2709,4.8,-4.06737,11.6455,4.8,-3.97268,12.8892,4.8,-3.14172,13.1417,4.8,2.88916,-14.0082,4.8,-1.46695,11.6455,4.8,3.97268,10.1786,4.8,4.26448,10,4.8,4.3,8.53305,4.8,4.00821,-40.1164,4.7852,-0.447714,-40.0589,4.7852,-0.464959,-40.1753,4.66738,-1.38343,-40.171,4.7852,-0.419445,-40.171,4.7852,0.419445,-40.1164,4.7852,0.447714,-40.0589,4.7852,0.464959,-40.1753,4.66738,1.38343,0,2.09662,9.94522,0.204911,2.06964,9.94522,-1.3191,1.92296,9.94522,1.3191,1.92296,9.94522,1.51005,1.84387,9.94522,-1.11419,1.94994,9.94522,2.09057,1.60341,9.94522,-1.16469,1.34667,9.698,-2.25,0.897114,9.698,-3.18198,0.181981,9.698,-3.89711,-0.75,9.698,-4.34667,-1.83531,9.698,-3.74683,-1.99604,9.221,-3.879,-3,9.221,-4.34667,-4.16469,9.698,-3.89711,-5.25,9.698,-3.18198,-6.18198,9.698,-2.25,-6.89711,9.698,-1.51005,-7.84387,9.94522,-1.6716,-9.6,9.94522,-1.6716,-9,9.94522,2.09057,-9.6,9.94522,1.6716,-9,9.94522,1.6716,-9.6,9.94522,2.09057,-7.60341,9.94522,1.3191,-7.92296,9.94522,1.11419,-7.94994,9.94522,0,-8.09662,9.94522,-0.204911,-8.06964,9.94522,-1.3191,-7.92296,9.94522,-2.27736,-9.6,9.92537,-2.61052,-9,9.91445,-2.61052,-18,9.91445,0,-18,10,0,-9,10,-5.17638,-9,9.65926,-7.65367,-18,9.23879,-5.17638,-18,9.65926,2.61052,-18,9.91445,5.17638,-18,9.65926,7.65367,-18,9.23879,10,-18,8.66025,12.1752,-18,7.93353,14.1421,-18,7.07107,15.8671,-18,6.08761,17.3205,-18,5,18.4776,-18,3.82683,19.3185,-18,2.58819,19.8289,-18,1.30526,20,-18,0,19.8289,-18,-1.30526,19.3185,-18,-2.58819,18.4776,-18,-3.82683,17.3205,-18,-5,15.8671,-18,-6.08761,14.1421,-18,-7.07107,12.1752,-18,-7.93353,10,-18,-8.66025,7.65367,-18,-9.23879,5.17638,-18,-9.65926,2.61052,-18,-9.91445,-10.445,2.53838,-1.94986,-10.5092,2.5,-1.89872,-11.7536,2.5,-0.906349,-11.8019,2.51916,-0.867767,-11.8019,2.5,-0.833943,-11.8019,2.5,0.833943,-11.8019,2.51916,0.867767,-8.75302,2.53197,-1.56366,-8.83873,2.5,-1.58323,-10.3552,2.5,-1.92935,-8,2.5,0,-8.72625,2.5,-1.50807,-8.72625,2.5,1.50807,-8.75302,2.53197,1.56366,-8.83873,2.5,1.58323,-10.3552,2.5,1.92935,-10.445,2.53838,1.94986,-10.5092,2.5,1.89872,-11.7536,2.5,0.906349,8.19806,2.51916,-0.867767,8.19806,2.5,-0.833943,8.19806,2.5,0.833943,8.19806,2.51916,0.867767,9.55496,2.53838,-1.94986,9.49084,2.5,-1.89872,8.24644,2.5,-0.906349,11.247,2.53197,-1.56366,11.1613,2.5,-1.58323,9.64481,2.5,-1.92935,12,2.5,0,11.2738,2.5,-1.50807,11.2738,2.5,1.50807,11.247,2.53197,1.56366,11.1613,2.5,1.58323,9.64481,2.5,1.92935,9.55496,2.53838,1.94986,9.49084,2.5,1.89872,8.24644,2.5,0.906349,2.27736,-9.6,-9.92537,2.28216,-9.55429,-9.92521,2.28216,-9,-9.92521,2.61052,-9,-9.91445,2.49708,-7.32507,-9.90276,3.99755,-5.30799,-9.74606,4.35313,-4.21738,-9.70892,4.36841,-4.17051,-9.70733,4.45771,-3.32122,-9.698,4.49494,-3,-9.69411,40.7486,0.376604,-5.90786,4.49401,-2.99202,-9.69421,4.45771,-2.67878,-9.698,4.37265,-1.8698,-9.70688,4.36841,-1.82949,-9.70733,4.05727,-0.875174,-9.73982,3.58823,0.00945417,-9.78881,3.99755,-0.69201,-9.74606,3.37495,0.374952,-9.81108,2.98852,0.793191,-9.85144,2.49708,1.32507,-9.90276,2.26798,1.48194,-9.92669,4.60535,-9,-9.68258,40.7486,-0.376604,-5.90786,2.86618,-6.9256,-9.86422,3.37495,-6.37495,-9.81108,3.85444,-5.55324,-9.761,2.25,-6.89711,-9.698,1.16469,-7.34667,-9.698,0,-7.5,-9.698,-1.00396,-6.74683,-9.221,0,-6.879,-9.221,-1.9395,-6.35931,-9.221,-2.74287,-5.74287,-9.221,-3.35931,-4.9395,-9.221,-3.28608,-3.8805,-8.6,-2.94622,-4.701,-8.6,-3.402,-3,-8.6,-3.74683,-1.99604,-9.221,-3.35931,-1.0605,-9.221,-2.74287,-0.257133,-9.221,-1.9395,0.359313,-9.221,-1.16469,1.34667,-9.698,0,1.5,-9.698,1.16469,1.34667,-9.698,40.4877,3.64995,-3.84871,40.7301,1.12054,-5.76239,40.6937,1.83688,-5.47503,40.6402,2.50799,-5.05286,40.571,3.11735,-4.50626,40.3923,4.09267,-3.09639,40.2874,4.43462,-2.26783,40.1753,4.66738,-1.38343,40.0589,4.7852,-0.464959,40.1164,4.7852,-0.447714,40.171,4.7852,-0.419445,40.2214,4.7852,-0.380848,40.2663,4.7852,-0.332874,40.3047,4.7852,-0.276703,40.3356,4.7852,-0.213718,40.3582,4.7852,-0.145471,40.3766,4.7852,0,40.372,4.7852,0.073642,40.3582,4.7852,0.145471,40.372,4.7852,-0.073642,40.3356,4.7852,0.213718,40.3047,4.7852,0.276703,40.2663,4.7852,0.332874,40.2214,4.7852,0.380848,40.171,4.7852,0.419445,40.1164,4.7852,0.447714,40.0589,4.7852,0.464959,40.1753,4.66738,1.38343,40.2874,4.43462,2.26783,40.3923,4.09267,3.09639,40.4877,3.64995,3.84871,40.571,3.11735,4.50626,40.6402,2.50799,5.05286,40.6937,1.83688,5.47503,40.7301,1.12054,5.76239,40.7486,0.376604,5.90786,2.28216,-9.55429,9.92521,4.60535,-9,9.68258,2.28216,-9,9.92521,40.7486,-0.376604,5.90786,2.49708,-7.32507,9.90276,2.49708,1.32507,9.90276,2.86618,0.925595,9.86422,3.37495,0.374952,9.81108,3.85444,-0.446756,9.761,3.99755,-0.69201,9.74606,4.35313,-1.78262,9.70892,4.36841,-1.82949,9.70733,4.45771,-2.67878,9.698,4.49494,-3,9.69411,4.49401,-3.00798,9.69421,4.45771,-3.32122,9.698,4.37265,-4.1302,9.70688,4.36841,-4.17051,9.70733,4.05727,-5.12483,9.73982,3.99755,-5.30799,9.74606,3.58823,-6.00945,9.78881,3.37495,-6.37495,9.81108,2.98852,-6.79319,9.85144,2.26798,-7.48194,9.92669,-11.8478,2.5,0.765367,-12,2.5,0,-11.4142,2.5,1.41421,-10.7654,2.5,1.84776,-10,2.5,2,-9.23463,2.5,1.84776,-8.58579,2.5,1.41421,-8.15224,2.5,0.765367,-8.15224,2.5,-0.765367,-8.58579,2.5,-1.41421,-9.23463,2.5,-1.84776,-10,2.5,-2,-10.7654,2.5,-1.84776,-11.4142,2.5,-1.41421,-11.8478,2.5,-0.765367,8.15224,2.5,0.765367,8,2.5,0,8.58579,2.5,1.41421,9.23463,2.5,1.84776,10,2.5,2,10.7654,2.5,1.84776,11.4142,2.5,1.41421,11.8478,2.5,0.765367,11.8478,2.5,-0.765367,11.4142,2.5,-1.41421,10.7654,2.5,-1.84776,10,2.5,-2,9.23463,2.5,-1.84776,8.58579,2.5,-1.41421,8.15224,2.5,-0.765367,2.25,0.897114,9.698,1.16469,1.34667,9.698,0,1.5,9.698,0,0.879,9.221,-1.00396,0.746826,9.221,-1.9395,0.359313,9.221,-2.74287,-0.257133,9.221,-3.35931,-1.0605,9.221,-2.94622,-1.299,8.6,-3.28608,-2.1195,8.6,-3.402,-3,8.6,-3.74683,-4.00396,9.221,-3.35931,-4.9395,9.221,-2.74287,-5.74287,9.221,-1.9395,-6.35931,9.221,-1.16469,-7.34667,9.698,0,-7.5,9.698,1.16469,-7.34667,9.698,2.27736,-9.6,9.92537,2.61052,-9,9.91445,5.17638,-9,9.65926,5.83823,-9.6,9.54692,7.65367,-9.48036,9.23879,6.59077,-9.6,9.4192,5.76528,-9,9.5593,10,-9.6,8.66025,12.1752,-9.5411,7.93353,13.0192,-9.6,7.56348,14.1421,-9.56862,7.07107,13.6166,-9.6,7.30149,15.8671,-9.5817,6.08761,16.0526,-9.6,5.94881,17.3205,-9.56774,5,16.3898,-9.6,5.69642,18.0614,-9.6,4.24879,18.4776,-9.5879,3.82683,18.3299,-9.6,3.97655,19.3185,-9.57924,2.58819,19.4549,-9.6,2.24543,19.8289,-9.57592,1.30526,19.6099,-9.6,1.85572,20,-9.6,0,19.8289,-9.57592,-1.30526,19.3185,-9.57924,-2.58819,19.6099,-9.6,-1.85572,19.4549,-9.6,-2.24543,18.4776,-9.5879,-3.82683,17.3205,-9.56774,-5,18.3299,-9.6,-3.97655,18.0614,-9.6,-4.24879,15.8671,-9.5817,-6.08761,16.0526,-9.6,-5.94881,16.3898,-9.6,-5.69642,14.1421,-9.56862,-7.07107,12.1752,-9.5411,-7.93353,13.0192,-9.6,-7.56348,13.6166,-9.6,-7.30149,10,-9.6,-8.66025,7.65367,-9.48036,-9.23879,5.17638,-9,-9.65926,5.83823,-9.6,-9.54692,5.76528,-9,-9.5593,6.59077,-9.6,-9.4192,6.18034,-9.6,-9.51056,40.7301,-1.12054,-5.76239,41.4787,-0.376604,-5.68875,41.4787,0.376604,-5.68875,2.25,0.897114,-9.698,3.18198,0.181981,-9.698,3.89711,-0.75,-9.698,4.34667,-1.83531,-9.698,3.74683,-1.99604,-9.221,3.879,-3,-9.221,4.34667,-4.16469,-9.698,3.89711,-5.25,-9.698,3.18198,-6.18198,-9.698,1.9395,-6.35931,-9.221,2.74287,-5.74287,-9.221,1.00396,-6.74683,-9.221,-0.880502,-6.28608,-8.6,0,-6.402,-8.6,0.880502,-6.28608,-8.6,-1.701,-5.94622,-8.6,-2.40558,-5.40558,-8.6,-2.9963,-3.80286,-7.876,-2.68641,-4.551,-7.876,-2.19345,-5.19344,-7.876,-3.102,-3,-7.876,-3.28608,-2.1195,-8.6,-2.94622,-1.299,-8.6,-2.40558,-0.594423,-8.6,-1.701,-0.053782,-8.6,-1.00396,0.746826,-9.221,0,0.879,-9.221,1.00396,0.746826,-9.221,40.775,4.09267,-2.98155,40.9633,3.64995,-3.70597,41.4423,1.12054,-5.54867,41.3704,1.83688,-5.27197,41.2647,2.50799,-4.86545,41.1279,3.11735,-4.33913,40.5676,4.43462,-2.18372,40.3463,4.66738,-1.33212,40.5087,4.66738,-1.24801,40.6586,4.66738,-1.13317,40.7923,4.66738,-0.990425,40.9065,4.66738,-0.823294,40.9984,4.66738,-0.635892,41.0657,4.66738,-0.432832,41.1067,4.66738,0.219113,41.1067,4.66738,-0.219113,41.1205,4.66738,0,41.0657,4.66738,0.432832,40.9984,4.66738,0.635892,40.9065,4.66738,0.823294,40.7923,4.66738,0.990425,40.6586,4.66738,1.13317,40.5087,4.66738,1.24801,40.3463,4.66738,1.33212,40.5676,4.43462,2.18372,40.775,4.09267,2.98155,40.9633,3.64995,3.70597,41.1279,3.11735,4.33913,41.2647,2.50799,4.86545,41.3704,1.83688,5.27197,41.4423,1.12054,5.54867,41.4787,0.376604,5.68875,41.4787,-0.376604,5.68875,2.25,-6.89711,9.698,3.18198,-6.18198,9.698,3.89711,-5.25,9.698,4.34667,-4.16469,9.698,3.74683,-4.00396,9.221,3.879,-3,9.221,4.34667,-1.83531,9.698,3.89711,-0.75,9.698,3.18198,0.181981,9.698,40.7301,-1.12054,5.76239,6.18034,-9.6,9.51056,2.74287,-0.257133,9.221,1.9395,0.359313,9.221,1.00396,0.746826,9.221,0.880502,0.28608,8.6,0,0.402,8.6,-0.880502,0.28608,8.6,-1.701,-0.053782,8.6,-2.40558,-0.594423,8.6,-2.19345,-0.806555,7.876,-2.68641,-1.449,7.876,-2.9963,-2.19714,7.876,-3.102,-3,7.876,-3.28608,-3.8805,8.6,-2.94622,-4.701,8.6,-2.40558,-5.40558,8.6,-1.701,-5.94622,8.6,-1.00396,-6.74683,9.221,0,-6.879,9.221,1.00396,-6.74683,9.221,40.6937,-1.83688,5.47503,41.1279,-3.11735,4.33913,13.3826,-9.6,7.43145,41.1386,-4.09267,2.7933,16.1803,-9.6,5.87785,41.0797,-4.43462,1.85758,18.2709,-9.6,4.06737,40.9065,-4.66738,0.823294,19.563,-9.6,2.07912,41.0657,-4.66738,0.432832,19.563,-9.6,-2.07912,41.0657,-4.66738,-0.432832,18.2709,-9.6,-4.06737,40.9065,-4.66738,-0.823294,16.1803,-9.6,-5.87785,41.0797,-4.43462,-1.85758,13.3826,-9.6,-7.43145,41.1386,-4.09267,-2.7933,41.1279,-3.11735,-4.33913,40.6937,-1.83688,-5.47503,41.3704,-1.83688,-5.27197,41.4423,-1.12054,-5.54867,42.1724,-0.376604,-5.32956,42.1724,0.376604,-5.32956,42.1189,-1.12054,-5.19833,42.1189,1.12054,-5.19833,1.9395,0.359313,-9.221,2.74287,-0.257133,-9.221,3.35931,-1.0605,-9.221,3.28608,-2.1195,-8.6,2.94622,-1.299,-8.6,3.74683,-4.00396,-9.221,3.402,-3,-8.6,3.35931,-4.9395,-9.221,1.701,-5.94622,-8.6,2.40558,-5.40558,-8.6,2.94622,-4.701,-8.6,-0.802857,-5.9963,-7.876,0,-6.102,-7.876,0.802857,-5.9963,-7.876,1.551,-5.68641,-7.876,-1.551,-5.68641,-7.876,-2.89778,-3.77646,-7.1,-2.59808,-4.5,-7.1,-2.12132,-5.12132,-7.1,-1.5,-5.59808,-7.1,-3,-3,-7.1,-2.9963,-2.19714,-7.876,-2.68641,-1.449,-7.876,-2.19345,-0.806555,-7.876,-1.551,-0.313589,-7.876,-0.880502,0.28608,-8.6,0,0.402,-8.6,0.880502,0.28608,-8.6,41.1386,4.09267,-2.7933,40.8339,4.43462,-2.04584,41.657,3.11735,-4.06516,41.4152,3.64995,-3.47198,42.0133,1.83688,-4.9391,41.858,2.50799,-4.55825,41.0797,4.43462,-1.85758,41.4861,4.43462,-1.34961,41.2989,4.43462,-1.62359,41.6367,4.43462,-1.04241,41.747,4.43462,-0.709534,41.8369,4.43462,0,41.8143,4.43462,0.359189,41.747,4.43462,0.709534,41.8143,4.43462,-0.359189,41.6367,4.43462,1.04241,41.4861,4.43462,1.34961,41.2989,4.43462,1.62359,41.0797,4.43462,1.85758,40.8339,4.43462,2.04584,41.1386,4.09267,2.7933,41.4152,3.64995,3.47198,41.657,3.11735,4.06516,41.858,2.50799,4.55825,42.0133,1.83688,4.9391,42.1189,1.12054,5.19833,42.1724,0.376604,5.32956,42.1724,-0.376604,5.32956,42.1189,-1.12054,5.19833,41.4423,-1.12054,5.54867,1.9395,-6.35931,9.221,2.74287,-5.74287,9.221,3.35931,-4.9395,9.221,2.94622,-4.701,8.6,3.28608,-3.8805,8.6,3.402,-3,8.6,3.74683,-1.99604,9.221,3.35931,-1.0605,9.221,41.3704,-1.83688,5.27197,2.94622,-1.299,8.6,2.40558,-0.594423,8.6,1.701,-0.053782,8.6,1.551,-0.313589,7.876,0.802857,-0.003698,7.876,0,0.102,7.876,-0.802857,-0.003698,7.876,-1.551,-0.313589,7.876,-1.5,-0.401924,7.1,-2.12132,-0.87868,7.1,-2.59808,-1.5,7.1,-2.89778,-2.22354,7.1,-3,-3,7.1,-2.9963,-3.80286,7.876,-2.68641,-4.551,7.876,-2.19345,-5.19344,7.876,-1.551,-5.68641,7.876,-0.880502,-6.28608,8.6,0,-6.402,8.6,0.880502,-6.28608,8.6,41.2647,-2.50799,4.86545,40.6402,-2.50799,5.05286,41.657,-3.11735,4.06516,40.9633,-3.64995,3.70597,41.4152,-3.64995,3.47198,40.8339,-4.43462,2.04584,41.8323,-3.64995,3.15249,41.4742,-4.09267,2.53626,41.2989,-4.43462,1.62359,41.7734,-4.09267,2.21677,40.7923,-4.66738,0.990425,41.4861,-4.43462,1.34961,41.6367,-4.43462,1.04241,40.9984,-4.66738,0.635892,41.1067,-4.66738,0.219113,41.747,-4.43462,0.709534,41.1205,-4.66738,0,41.1067,-4.66738,-0.219113,41.747,-4.43462,-0.709534,41.6367,-4.43462,-1.04241,40.9984,-4.66738,-0.635892,41.4861,-4.43462,-1.34961,40.7923,-4.66738,-0.990425,41.2989,-4.43462,-1.62359,41.7734,-4.09267,-2.21677,41.4742,-4.09267,-2.53626,40.8339,-4.43462,-2.04584,41.8323,-3.64995,-3.15249,41.4152,-3.64995,-3.47198,40.9633,-3.64995,-3.70597,41.657,-3.11735,-4.06516,41.2647,-2.50799,-4.86545,40.6402,-2.50799,-5.05286,41.858,-2.50799,-4.55825,42.0133,-1.83688,-4.9391,42.7434,-1.12054,-4.71998,42.8127,-0.376604,-4.83914,42.8127,0.376604,-4.83914,42.7434,1.12054,-4.71998,42.6066,-1.83688,-4.48461,42.6066,1.83688,-4.48461,1.701,-0.053782,-8.6,2.40558,-0.594423,-8.6,2.9963,-2.19714,-7.876,2.68641,-1.449,-7.876,2.19345,-0.806555,-7.876,3.28608,-3.8805,-8.6,3.102,-3,-7.876,2.19345,-5.19344,-7.876,2.68641,-4.551,-7.876,2.9963,-3.80286,-7.876,-0.776457,-5.89778,-7.1,0,-6,-7.1,0.776457,-5.89778,-7.1,1.5,-5.59808,-7.1,2.12132,-5.12132,-7.1,-2.89778,-2.22354,-7.1,-2.59808,-1.5,-7.1,-2.12132,-0.87868,-7.1,-0.802857,-0.003698,-7.876,-1.5,-0.401924,-7.1,0,0.102,-7.876,0.802857,-0.003698,-7.876,41.8323,3.64995,-3.15249,41.4742,4.09267,-2.53626,42.4056,2.50799,-4.1388,42.1454,3.11735,-3.69109,41.7734,4.09267,-2.21677,42.029,4.09267,-1.8427,42.2346,4.09267,-1.42326,42.3852,4.09267,-0.968766,42.4771,4.09267,-0.490421,42.508,4.09267,0,42.4771,4.09267,0.490421,42.3852,4.09267,0.968766,42.2346,4.09267,1.42326,42.029,4.09267,1.8427,41.7734,4.09267,2.21677,41.4742,4.09267,2.53626,41.8323,3.64995,3.15249,42.1454,3.11735,3.69109,42.4056,2.50799,4.1388,42.6066,1.83688,4.48461,42.7434,1.12054,4.71998,42.8127,-0.376604,4.83914,42.8127,0.376604,4.83914,42.7434,-1.12054,4.71998,42.6066,-1.83688,4.48461,42.0133,-1.83688,4.9391,1.701,-5.94622,8.6,2.40558,-5.40558,8.6,2.19345,-5.19344,7.876,2.68641,-4.551,7.876,2.9963,-3.80286,7.876,3.102,-3,7.876,3.28608,-2.1195,8.6,41.858,-2.50799,4.55825,2.9963,-2.19714,7.876,2.68641,-1.449,7.876,2.19345,-0.806555,7.876,2.12132,-0.87868,7.1,1.5,-0.401924,7.1,0.776457,-0.102223,7.1,0,0,7.1,-0.776457,-0.102223,7.1,-2.89778,-3.77646,7.1,-2.59808,-4.5,7.1,-2.12132,-5.12132,7.1,-1.5,-5.59808,7.1,-0.802857,-5.9963,7.876,0,-6.102,7.876,0.802857,-5.9963,7.876,42.4056,-2.50799,4.1388,42.1454,-3.11735,3.69109,42.2043,-3.64995,2.75537,42.522,-3.64995,2.29042,42.029,-4.09267,1.8427,42.2346,-4.09267,1.42326,42.3852,-4.09267,0.968766,41.8369,-4.43462,0,41.8143,-4.43462,0.359189,41.8143,-4.43462,-0.359189,42.3852,-4.09267,-0.968766,42.2346,-4.09267,-1.42326,42.029,-4.09267,-1.8427,42.522,-3.64995,-2.29042,42.2043,-3.64995,-2.75537,42.1454,-3.11735,-3.69109,42.4056,-2.50799,-4.1388,43.1358,-1.83688,-3.91969,43.3003,-1.12054,-4.12542,43.3836,-0.376604,-4.22956,43.3836,0.376604,-4.22956,43.3003,1.12054,-4.12542,43.1358,1.83688,-3.91969,42.894,-2.50799,-3.61745,42.894,2.50799,-3.61745,1.551,-0.313589,-7.876,2.89778,-2.22354,-7.1,2.59808,-1.5,-7.1,2.12132,-0.87868,-7.1,1.5,-0.401924,-7.1,3,-3,-7.1,2.59808,-4.5,-7.1,2.89778,-3.77646,-7.1,-0.776457,-5.89778,7.1,-0.776457,-0.102223,-7.1,0,0,-7.1,0.776457,-0.102223,-7.1,2.59808,-1.5,7.1,2.89778,-2.22354,7.1,3,-3,7.1,42.2043,3.64995,-2.75537,42.5809,3.11735,-3.22613,42.522,3.64995,-2.29042,42.7776,3.64995,-1.76906,42.9648,3.64995,-1.20414,43.079,3.64995,-0.609576,43.079,3.64995,0.609576,43.1174,3.64995,0,42.9648,3.64995,1.20414,42.7776,3.64995,1.76906,42.522,3.64995,2.29042,42.2043,3.64995,2.75537,42.5809,3.11735,3.22613,42.894,2.50799,3.61745,43.1358,1.83688,3.91969,43.3003,1.12054,4.12542,43.3836,0.376604,4.22956,43.3836,-0.376604,4.22956,43.3003,-1.12054,4.12542,43.1358,-1.83688,3.91969,42.894,-2.50799,3.61745,1.551,-5.68641,7.876,1.5,-5.59808,7.1,2.12132,-5.12132,7.1,2.59808,-4.5,7.1,2.89778,-3.77646,7.1,0,-6,7.1,0.776457,-5.89778,7.1,42.5809,-3.11735,3.22613,42.9529,-3.11735,2.68173,43.2521,-3.11735,2.0713,42.7776,-3.64995,1.76906,42.9648,-3.64995,1.20414,43.079,-3.64995,0.609576,42.4771,-4.09267,0.490421,42.508,-4.09267,0,42.4771,-4.09267,-0.490421,43.079,-3.64995,-0.609576,42.9648,-3.64995,-1.20414,42.7776,-3.64995,-1.76906,43.2521,-3.11735,-2.0713,42.9529,-3.11735,-2.68173,42.5809,-3.11735,-3.22613,43.5877,-1.83688,-3.25826,43.776,-1.12054,-3.42927,43.8713,-0.376604,-3.51584,43.8713,0.376604,-3.51584,43.776,1.12054,-3.42927,43.5877,1.83688,-3.25826,43.311,-2.50799,-3.00702,42.9529,3.11735,-2.68173,43.311,2.50799,-3.00702,43.2521,3.11735,-2.0713,43.4713,3.11735,-1.40987,43.605,3.11735,-0.713722,43.6499,3.11735,0,43.605,3.11735,0.713722,43.4713,3.11735,1.40987,43.2521,3.11735,2.0713,42.9529,3.11735,2.68173,43.311,2.50799,3.00702,43.5877,1.83688,3.25826,43.776,1.12054,3.42927,43.8713,0.376604,3.51584,43.8713,-0.376604,3.51584,43.776,-1.12054,3.42927,43.5877,-1.83688,3.25826,43.311,-2.50799,3.00702,43.8924,-2.50799,1.58088,43.4713,-3.11735,1.40987,43.6466,-2.50799,2.32254,43.605,-3.11735,0.713722,43.6499,-3.11735,0,43.1174,-3.64995,0,43.605,-3.11735,-0.713722,43.4713,-3.11735,-1.40987,43.8924,-2.50799,-1.58088,43.6466,-2.50799,-2.32254,44.1587,-1.12054,-2.64868,43.9513,-1.83688,-2.51659,44.2636,-0.376604,-2.71555,44.2636,0.376604,-2.71555,44.1587,1.12054,-2.64868,43.9513,1.83688,-2.51659,43.6466,2.50799,-2.32254,43.8924,2.50799,-1.58088,44.0423,2.50799,-0.800294,44.0927,2.50799,0,44.0423,2.50799,0.800294,43.8924,2.50799,1.58088,43.6466,2.50799,2.32254,43.9513,1.83688,2.51659,44.1587,1.12054,2.64868,44.2636,0.376604,2.71555,44.2636,-0.376604,2.71555,44.1587,-1.12054,2.64868,43.9513,-1.83688,2.51659,44.0423,-2.50799,0.800294,44.2176,-1.83688,1.71297,44.38,-1.83688,0.86716,44.0927,-2.50799,0,44.0423,-2.50799,-0.800294,44.38,-1.83688,-0.86716,44.2176,-1.83688,-1.71297,44.4389,-1.12054,-1.80287,44.551,-0.376604,-1.84839,44.551,0.376604,-1.84839,44.4389,1.12054,-1.80287,44.2176,1.83688,-1.71297,44.38,1.83688,-0.86716,44.4346,1.83688,0,44.38,1.83688,0.86716,44.2176,1.83688,1.71297,44.4389,1.12054,1.80287,44.551,0.376604,1.84839,44.551,-0.376604,1.84839,44.4389,-1.12054,1.80287,44.6099,-1.12054,0.912673,44.6674,-1.12054,0,44.4346,-1.83688,0,44.6099,-1.12054,-0.912673,44.7263,-0.376604,-0.935713,44.7263,0.376604,-0.935713,44.6099,1.12054,-0.912673,44.6674,1.12054,0,44.6099,1.12054,0.912673,44.7263,0.376604,0.935713,44.7263,-0.376604,0.935713,44.7852,-0.376604,0,44.7852,0.376604,0] } }, "-normal": { "Normal": { "@vector":[-0.972365,-0.233467,0,-0.996919,-0.0784414,0,-0.991395,-0.0786756,-0.104624,-0.998633,0.0522767,0,-0.98894,0.0786931,-0.125722,-0.991395,-0.0786756,0.104624,-0.98894,0.0786931,0.125722,-0.912707,-0.39432,-0.107134,-0.961514,-0.234702,-0.142848,-0.961514,-0.234702,0.142848,-0.912707,-0.39432,0.107134,-0.923876,-0.382692,0,-0.965974,-0.0912218,-0.242016,-0.961261,0.0912218,-0.260106,-0.961514,0.234702,-0.142848,-0.972365,0.233467,0,-0.961514,0.234702,0.142848,-0.961261,0.0912218,0.260106,-0.965974,-0.0912218,0.242016,-0.817645,-0.53825,-0.204312,-0.893675,-0.378304,-0.241312,-0.852633,-0.52251,0,-0.844839,-0.524167,-0.107218,-0.940072,-0.237292,-0.244861,-0.940072,-0.237292,0.244861,-0.893675,-0.378304,0.241312,-0.817645,-0.53825,0.204312,-0.844839,-0.524167,0.107218,-0.899212,-0.25298,-0.356958,-0.92266,-0.081786,-0.376841,-0.913828,0.0817652,-0.397784,-0.899212,0.25298,-0.356958,-0.940072,0.237292,-0.244861,-0.912707,0.39432,-0.107134,-0.893675,0.378304,-0.241312,-0.923876,0.382692,0,-0.912707,0.39432,0.107134,-0.893675,0.378304,0.241312,-0.940072,0.237292,0.244861,-0.899212,0.25298,0.356958,-0.913828,0.0817652,0.397784,-0.92266,-0.081786,0.376841,-0.899212,-0.25298,0.356958,-0.759144,-0.642757,-0.102779,-0.730465,-0.65595,-0.190133,-0.69253,-0.6637,-0.282674,-0.793908,-0.514388,-0.324213,-0.850347,-0.395319,-0.347323,-0.743119,-0.669159,0,-0.759144,-0.642757,0.102779,-0.850347,-0.395319,0.347323,-0.793908,-0.514388,0.324213,-0.69253,-0.6637,0.282674,-0.730465,-0.65595,0.190133,-0.791174,-0.414677,-0.449541,-0.834391,-0.237413,-0.497421,-0.869258,-0.0669789,-0.489801,-0.854719,0.0669789,-0.514751,-0.834391,0.237413,-0.497421,-0.791174,0.414677,-0.449541,-0.850347,0.395319,-0.347323,-0.817645,0.53825,-0.204312,-0.844839,0.524167,-0.107218,-0.852633,0.52251,0,-0.793908,0.514388,-0.324213,-0.844839,0.524167,0.107218,-0.817645,0.53825,0.204312,-0.793908,0.514388,0.324213,-0.850347,0.395319,0.347323,-0.834391,0.237413,0.497421,-0.791174,0.414677,0.449541,-0.854719,0.0669789,0.514751,-0.869258,-0.0669789,0.489801,-0.834391,-0.237413,0.497421,-0.791174,-0.414677,0.449541,-0.635149,-0.768828,-0.0740914,-0.628672,-0.759043,-0.169191,-0.721763,-0.559812,-0.407025,-0.587983,-0.772474,-0.239918,-0.536593,-0.787162,-0.304046,-0.628081,-0.675638,-0.386042,-0.635149,-0.768828,0.0740914,-0.649461,-0.760395,0,-0.628672,-0.759042,0.169191,-0.721763,-0.559812,0.407025,-0.628081,-0.675638,0.386042,-0.536593,-0.787162,0.304046,-0.587983,-0.772474,0.239918,-0.646442,-0.560065,-0.518113,-0.718418,-0.389905,-0.576064,-0.754101,-0.255976,-0.60482,-0.78308,-0.098834,-0.614018,-0.76931,0.0988341,-0.631184,-0.754101,0.255976,-0.60482,-0.718418,0.389905,-0.576064,-0.646442,0.560065,-0.518113,-0.721763,0.559812,-0.407025,-0.730465,0.65595,-0.190133,-0.759144,0.642757,-0.102779,-0.69253,0.6637,-0.282674,-0.743119,0.669159,0,-0.759144,0.642757,0.102779,-0.730465,0.65595,0.190133,-0.69253,0.6637,0.282674,-0.721763,0.559812,0.407025,-0.718418,0.389905,0.576064,-0.754101,0.255976,0.60482,-0.76931,0.0988341,0.631184,-0.646442,0.560065,0.518113,-0.78308,-0.098834,0.614018,-0.754101,-0.255976,0.60482,-0.718418,-0.389905,0.576064,-0.646442,-0.560065,0.518113,-0.544651,-0.838663,0,-0.504345,-0.861542,-0.0581484,-0.491882,-0.862024,-0.122337,-0.490807,-0.847957,-0.200194,-0.422781,-0.87423,-0.2387,-0.379103,-0.874173,-0.303483,-0.493516,-0.774729,-0.395267,-0.568005,-0.685769,-0.455072,-0.491882,-0.862024,0.122337,-0.504345,-0.861542,0.0581485,-0.490807,-0.847957,0.200194,-0.568005,-0.685769,0.455072,-0.493516,-0.774729,0.395267,-0.379103,-0.874173,0.303483,-0.422781,-0.87423,0.2387,-0.496666,-0.696064,-0.518476,-0.533586,-0.588263,-0.607645,-0.594882,-0.439417,-0.673073,-0.657913,-0.251388,-0.709898,-0.681709,-0.0716093,-0.72811,-0.657172,0.0716094,-0.750331,-0.657913,0.251388,-0.709898,-0.594882,0.439417,-0.673073,-0.533586,0.588263,-0.607645,-0.496666,0.696064,-0.518476,-0.568005,0.685769,-0.455072,-0.628081,0.675638,-0.386042,-0.628672,0.759043,-0.169191,-0.635149,0.768828,-0.0740914,-0.536593,0.787162,-0.304046,-0.587983,0.772474,-0.239918,-0.635149,0.768828,0.0740914,-0.649461,0.760395,0,-0.628672,0.759043,0.169191,-0.587983,0.772474,0.239918,-0.536593,0.787162,0.304046,-0.628081,0.675638,0.386042,-0.594882,0.439417,0.673073,-0.657913,0.251388,0.709898,-0.657172,0.0716094,0.750331,-0.681709,-0.0716093,0.72811,-0.568005,0.685769,0.455072,-0.496666,0.696064,0.518476,-0.533586,0.588263,0.607645,-0.657913,-0.251388,0.709898,-0.594882,-0.439417,0.673073,-0.533586,-0.588263,0.607645,-0.496666,-0.696064,0.518476,-0.382677,-0.923882,0,-0.391518,-0.918499,-0.0554398,-0.342956,-0.928883,-0.139848,-0.352407,-0.931746,-0.0875134,-0.306878,-0.932903,-0.188462,-0.390053,-0.808041,-0.441507,-0.272563,-0.937802,-0.215028,-0.255045,-0.92527,-0.280762,-0.303238,-0.888614,-0.34411,-0.342956,-0.928883,0.139848,-0.352407,-0.931746,0.0875134,-0.391518,-0.918499,0.0554398,-0.390053,-0.808041,0.441507,-0.303238,-0.888614,0.34411,-0.255045,-0.92527,0.280764,-0.272563,-0.937802,0.215028,-0.306878,-0.932903,0.188462,-0.377791,-0.710152,-0.594103,-0.443165,-0.56338,-0.697286,-0.503261,-0.285594,-0.815576,-0.481719,-0.439375,-0.758219,-0.558209,-0.0920175,-0.824582,-0.533539,0.092057,-0.84075,-0.503261,0.285594,-0.815576,-0.481719,0.439375,-0.758219,-0.443165,0.56338,-0.697286,-0.377791,0.710152,-0.594103,-0.493516,0.774729,-0.395267,-0.390053,0.808041,-0.441508,-0.490807,0.847957,-0.200194,-0.491882,0.862024,-0.122337,-0.504345,0.861542,-0.0581485,-0.544651,0.838663,0,-0.379103,0.874173,-0.303483,-0.422781,0.87423,-0.2387,-0.504345,0.861542,0.0581484,-0.491882,0.862024,0.122337,-0.490807,0.847957,0.200194,-0.493516,0.774729,0.395267,-0.422781,0.87423,0.2387,-0.379103,0.874173,0.303483,-0.481719,0.439375,0.758219,-0.503261,0.285594,0.815576,-0.443165,0.56338,0.697286,-0.533539,0.092057,0.84075,-0.558209,-0.0920175,0.824582,-0.390053,0.808041,0.441507,-0.377791,0.710152,0.594103,-0.503261,-0.285594,0.815576,-0.481719,-0.439375,0.758219,-0.443165,-0.56338,0.697286,-0.377791,-0.710152,0.594103,-0.279489,-0.959494,0.0354556,-0.268453,-0.963293,0,-0.279489,-0.959494,-0.0354556,-0.251618,-0.965719,-0.0638366,-0.252871,-0.961947,-0.103509,-0.239401,-0.960208,-0.143835,-0.234791,-0.95841,-0.162244,-0.262522,-0.872322,-0.412476,-0.30251,-0.817408,-0.490236,-0.202395,-0.962795,-0.179059,-0.242992,-0.916255,-0.318482,-0.205204,-0.930384,-0.303772,-0.160858,-0.969341,-0.185748,-0.237563,-0.931831,-0.274325,-0.120816,-0.982822,-0.139517,-0.239401,-0.960207,0.143839,-0.252871,-0.961947,0.103509,-0.255148,-0.964637,0.0661486,-0.30251,-0.817408,0.490236,-0.262522,-0.87233,0.412459,-0.242992,-0.916255,0.318482,-0.203341,-0.939797,0.274651,-0.201242,-0.966215,0.161031,-0.160858,-0.969341,0.185749,-0.237592,-0.931817,0.27435,-0.120862,-0.98281,0.139561,-0.234791,-0.95841,0.162244,-0.27086,-0.78936,-0.55095,-0.26812,-0.716288,-0.644239,-0.293002,-0.597802,-0.746179,-0.348171,-0.437229,-0.829221,-0.360328,-0.279904,-0.889841,-0.385429,-0.108715,-0.916311,-0.360593,0.108715,-0.926366,-0.360328,0.279904,-0.889841,-0.348171,0.437229,-0.829221,-0.287842,0.607359,-0.740448,-0.226056,0.811427,-0.538966,-0.314546,0.810325,-0.494404,-0.26078,0.720031,-0.643078,-0.258642,0.876316,-0.406417,-0.303238,0.888614,-0.34411,-0.342956,0.928883,-0.139848,-0.352407,0.931746,-0.0875134,-0.391518,0.918499,-0.0554398,-0.382677,0.923882,0,-0.237254,0.939411,-0.247421,-0.27445,0.936178,-0.219654,-0.306878,0.932903,-0.188462,-0.391518,0.918499,0.0554398,-0.352407,0.931746,0.0875134,-0.342956,0.928883,0.139848,-0.306878,0.932903,0.188462,-0.27445,0.936178,0.219654,-0.237254,0.939411,0.247421,-0.303238,0.888614,0.34411,-0.348171,0.437229,0.829221,-0.360328,0.279904,0.889841,-0.360593,0.108715,0.926366,-0.287842,0.607359,0.740448,-0.385429,-0.108715,0.916311,-0.258642,0.876316,0.406417,-0.314546,0.810325,0.494404,-0.226056,0.811427,0.538966,-0.26078,0.720031,0.643078,-0.360328,-0.279904,0.889841,-0.348171,-0.437229,0.829221,-0.293002,-0.597802,0.746179,-0.264092,-0.715676,0.646577,-0.27086,-0.78936,0.55095,-0.227208,-0.973846,0,-0.192223,-0.977227,-0.0898771,-0.152122,-0.987845,-0.0319572,-0.226799,-0.972774,-0.0476768,-0.15534,-0.982689,-0.100957,-0.230999,-0.961299,-0.150147,-0.231002,-0.9613,-0.150134,-0.116641,-0.990276,-0.075815,-0.215591,-0.848387,-0.483488,-0.16855,-0.937804,-0.303504,-0.245027,-0.863283,-0.441253,-0.245221,-0.863112,-0.441479,-0.127249,-0.965074,-0.228997,-0.742907,0.344608,-0.573877,-0.753178,6.71937e-006,-0.657817,-0.665536,0.240623,-0.706514,-0.711936,9.81022e-006,-0.702244,-0.711977,0,-0.702203,-0.638336,2.12197e-006,-0.769758,-0.559732,0.224603,-0.797655,-0.599171,0,-0.800621,-0.599163,-2.20451e-006,-0.800627,-0.530798,0,-0.847498,-0.191396,-0.978819,0.072667,-0.15534,-0.982687,0.10097,-0.230996,-0.961303,0.150124,-0.230885,-0.961345,0.150029,-0.116459,-0.99031,0.0756561,-0.226693,-0.972801,0.0476271,-0.114016,-0.993191,0.0239361,-0.215389,-0.867089,0.449183,-0.168549,-0.937826,0.303435,-0.245028,-0.863271,0.441276,-0.244998,-0.863333,0.44117,-0.12688,-0.965252,0.228454,-0.638336,2.12197e-006,0.769758,-0.654814,0.235268,0.718239,-0.549308,0.219721,0.806215,-0.599171,0,0.800621,-0.530798,0,0.847498,-0.599163,-2.20451e-006,0.800627,-0.729462,0.337335,0.595055,-0.753178,6.71937e-006,0.657817,-0.711977,0,0.702203,-0.711936,9.81022e-006,0.702244,-0.226587,-0.590722,-0.774407,-0.239927,-0.711519,-0.660436,-0.129751,-0.925,-0.357128,-0.252975,-0.386021,-0.887125,-0.231057,-0.555362,-0.798865,-0.220288,-0.449905,-0.865482,-0.241566,-0.283253,-0.928124,-0.190697,-0.0575071,-0.979963,-0.132015,0.0287245,-0.990831,-0.228843,0.28372,-0.9312,-0.208535,0.470753,-0.857266,-0.185958,0.603012,-0.775755,-0.177072,0.724342,-0.666314,-0.137634,0.834935,-0.532861,-0.15932,0.897723,-0.410744,-0.177719,0.94366,-0.279146,-0.190773,0.975573,-0.108915,-0.185567,0.979714,-0.075667,-0.221666,0.973317,-0.0593094,-0.241694,0.969914,-0.0291741,-0.233431,0.972373,0,-0.241694,0.969914,0.0291741,-0.136661,0.978689,-0.153268,-0.184288,0.971748,-0.147461,-0.221666,0.973317,0.0593094,-0.185567,0.979714,0.075667,-0.190773,0.975573,0.108915,-0.184288,0.971748,0.147461,-0.136661,0.978689,0.153268,-0.177719,0.94366,0.279146,-0.208535,0.470753,0.857266,-0.228843,0.28372,0.9312,-0.117454,0.0138093,0.992982,-0.190697,-0.0575071,0.979963,-0.177072,0.724342,0.666314,-0.185958,0.603012,0.775755,-0.241566,-0.283253,0.928124,-0.15932,0.897723,0.410744,-0.137634,0.834935,0.532861,-0.223516,-0.454564,0.862214,-0.231057,-0.555362,0.798865,-0.252975,-0.386021,0.887125,-0.171265,-0.865109,0.47144,-0.23987,-0.711641,0.660325,-0.226587,-0.590722,0.774407,-0.966811,0.253327,-0.0332075,-1,0,0,-0.935867,0.305036,-0.176367,-0.956491,0,-0.291762,-0.953739,0.182636,-0.238801,-0.874013,0.272351,-0.4024,-0.929184,-3.39652e-006,-0.369619,-0.929168,-4.13414e-006,-0.369658,-0.865833,0,-0.500334,-0.44565,0.281325,-0.849855,-0.43334,0,-0.901231,-0.373401,0.198465,-0.906192,-0.401598,-3.63521e-006,-0.915816,-0.401587,-4.73107e-006,-0.915821,-0.345416,0,-0.93845,-0.581339,0.634539,-0.509318,-0.511261,0.597259,-0.617976,-0.642783,0.669141,-0.372934,-0.43866,0.561564,-0.701587,-0.865831,0.267961,0.422533,-0.865833,0,0.500334,-0.921033,0.296869,0.252126,-0.956491,0,0.291762,-0.929168,-4.13414e-006,0.369658,-0.929184,-3.39652e-006,0.369619,-0.922378,0.383012,0.0502046,-0.963251,0.187545,0.192289,-0.43334,0,0.901231,-0.432675,0.275685,0.858365,-0.364251,0.195062,0.910644,-0.401598,-3.63521e-006,0.915816,-0.345416,0,0.93845,-0.401587,-4.73107e-006,0.915821,-0.390701,0.539874,0.745579,-0.462885,0.573072,0.676259,-0.535186,0.609662,0.584713,-0.603236,0.646645,0.466858,-0.281734,0.25242,-0.925694,-0.25152,-0.332018,-0.909121,-0.152945,-0.203328,-0.967091,-0.186779,-0.213419,-0.95894,-0.19829,-0.170608,-0.965181,-0.130406,-0.00460707,-0.99145,-0.10423,-0.000472785,-0.994553,-0.146843,-0.00255656,-0.989156,0.0672622,-0.157219,-0.985271,-0.0696318,0.00267026,-0.997569,0.0448207,-0.170002,-0.984424,0.04891,-0.182225,-0.98204,0.0856565,-0.139114,-0.986565,0.295044,0.044648,-0.95444,0.346121,0.0516862,-0.936765,0.146067,-0.144862,-0.978611,0.166987,-0.109139,-0.9799,0.130168,-0.0760368,-0.988572,0.137039,-0.0510128,-0.989251,0.295096,-0.044663,-0.954423,0.193449,0.000163849,-0.98111,0.14338,0.026032,-0.989325,0.177388,0.0912084,-0.979905,0.13673,0.0511372,-0.989288,0.146074,0.144873,-0.978608,0.117114,0.0985425,-0.988217,0.085662,0.139107,-0.986565,0.101945,0.188446,-0.976778,0.0448146,0.170002,-0.984424,0.0481297,0.218955,-0.974547,-0.0135959,0.0804846,-0.996663,-0.0758069,-0.00150765,-0.997121,-0.0699349,-0.00254016,-0.997548,-0.0802128,0,-0.996778,-0.135088,0.369945,-0.91918,-0.136328,0.448305,-0.883424,-0.135344,0.519832,-0.843479,-0.110413,0.759577,-0.640977,-0.103681,0.819161,-0.564115,-0.0473293,0.978691,-0.19981,-0.114378,0.895145,-0.430852,-0.0895925,0.943188,-0.319952,-0.111839,0.950995,-0.288271,-0.0748715,0.98099,-0.179033,-0.0951154,0.9842,-0.149342,-0.0651159,0.997234,-0.0358416,-0.0743324,0.995459,-0.0594679,-0.0703196,0.997112,-0.0286702,-0.0743714,0.997008,-0.0210568,-0.0928957,0.995581,-0.0137503,-0.104821,0.994491,0,-0.0928957,0.995581,0.0137503,-0.0449743,0.997616,-0.0523334,-0.0743714,0.997008,0.0210568,-0.0703196,0.997112,0.0286702,-0.0651159,0.997234,0.0358416,-0.0743325,0.995459,0.0594679,-0.0449743,0.997616,0.0523334,-0.0951154,0.9842,0.149343,-0.0748715,0.98099,0.179033,-0.111839,0.950995,0.288271,-0.135344,0.519832,0.843479,-0.136328,0.448305,0.883424,-0.135088,0.369945,0.91918,-0.0209731,0.00160201,0.999779,-0.104477,-0.00256268,0.994524,-0.00209734,0.090638,0.995882,-0.0896869,0,0.99597,-0.0784368,-0.00190474,0.996917,-0.0687754,-0.00188462,0.99763,0.044816,0.170001,0.984424,0.101945,0.188444,0.976778,0.0856583,0.139114,0.986565,0.146067,0.144863,0.978611,0.166986,0.109139,0.9799,0.130163,0.0760348,0.988573,0.137034,0.0510108,0.989252,0.295097,0.0446631,0.954423,0.271366,-0.000292105,0.962476,0.34661,-0.0517411,0.936581,0.295032,-0.0446468,0.954444,0.143658,-0.0260607,0.989284,0.137014,-0.0511641,0.989247,0.177395,-0.0912103,0.979904,0.117126,-0.0985453,0.988216,0.146072,-0.144872,0.978609,0.0856595,-0.139106,0.986566,0.101945,-0.188446,0.976778,0.044816,-0.170005,0.984424,0.0481327,-0.21896,0.974546,0.0178804,-0.145791,0.989154,-0.121143,-0.00575773,0.992618,-0.161093,-0.240328,0.957231,-0.15198,-0.00191677,0.988382,-0.074981,0.897165,0.435285,-0.114378,0.895145,0.430852,-0.0895925,0.943188,0.319952,-0.0473293,0.978691,0.19981,-0.0666027,0.92965,0.362375,-0.199094,-0.213407,0.956462,-0.181141,-0.141839,0.973175,-0.27034,0.24886,0.930046,-0.25152,-0.332018,0.909121,-0.878336,0.452546,-0.154039,-0.706769,0.70677,-0.0308823,-0.826675,0.562591,-0.0100378,-0.687303,0.69517,-0.210604,-0.80108,0.557129,-0.218811,-0.825271,0.561636,0.0590971,-0.696962,0.700897,0.151616,-0.872563,0.449088,0.192232,-0.367111,0.529883,-0.764496,-0.298216,0.503267,-0.811042,0,-1,0,-0.660034,0.67911,0.321195,-0.791258,0.551084,0.264987,-0.253968,0.488467,0.834806,-0.320824,0.511515,0.797135,-0.232369,0.481996,-0.844798,-0.209011,0.242622,-0.947338,-0.150588,0.156594,-0.976116,-0.121825,0,-0.992552,0,1,0,-0.0748265,0.231429,-0.96997,-0.045989,1.46407e-005,-0.998942,-0.0182546,0.152681,-0.988107,-0.0509786,-0.00188531,-0.998698,-0.0163783,0,-0.999866,-0.00727921,0,-0.999974,0.0163834,0,-0.999866,0.0504792,0.188386,-0.980797,0.0196541,0,-0.999807,0.0021001,0.0906347,-0.995882,0.0699349,-0.00254016,-0.997548,0.00655125,0,-0.999979,0.0307772,0.233772,-0.971804,-0.0102646,0.233873,-0.972213,-0.0256689,0.19497,-0.980473,-0.0587407,0.186162,-0.980762,-0.0752505,0.181676,-0.980475,0.118388,0.456275,-0.881928,0.231873,0.424695,-0.875139,0.333895,0.350214,-0.875137,0.41316,0.251868,-0.875135,0.464276,0.136378,-0.875128,0.672075,0.171689,-0.720304,0.683453,0.00311502,-0.729988,0.466544,-0.128089,-0.875174,0.435645,-0.245755,-0.86592,0.35021,-0.333892,-0.87514,0.238922,-0.406346,-0.881929,0.0752535,-0.18168,-0.980474,0.0481431,0.00123196,-0.99884,-0.0704462,-0.223251,-0.972212,-0.0148652,-0.121218,-0.992515,-0.0307771,-0.233772,-0.971804,1.98398e-006,-0.195031,-0.980797,0.0307773,-0.233773,-0.971804,0.0504757,-0.188387,-0.980797,-0.00010213,1,-4.32023e-005,-0.000622345,1,0,-0.000493629,1,0.000208811,-0.000551846,1,0.000798787,-0.000525655,1,0.000454406,-0.00082668,0.999998,0.00189312,-0.0309263,0.989047,0.144323,0.000306581,1,-0.000443771,0.041522,0.980168,-0.19377,-0.0626509,0.95425,-0.292372,-0.00082668,0.999998,-0.00189312,-0.000551846,1,-0.000798787,-0.000630786,1,-0.000545287,0.041522,0.980168,0.19377,0.0386829,0.985817,-0.163308,0.0006889,0.999999,-0.0015776,0.000370222,1,0.000156608,0.000250839,1,0.000363085,0.0006889,0.999999,0.0015776,0.0425792,0.982789,0.179757,0.000350436,1,0.000302937,0.000396037,1,0,0.000370222,1,-0.000156608,0.000350436,1,-0.000302937,-0.027688,0.99759,-0.0636225,-0.02827,0.994918,-0.096637,-0.0564309,0.978813,-0.196828,-0.029169,0.998521,-0.0458897,-0.029169,0.998521,0.0458897,-0.027688,0.99759,0.0636225,-0.02827,0.994918,0.096637,-0.0564309,0.978813,0.196828,-1.98398e-006,-0.195031,0.980797,-0.0307773,-0.233773,0.971804,0.050479,-0.188386,0.980797,-0.0704414,-0.223244,0.972214,-0.0752511,-0.181677,0.980475,0.0307771,-0.233772,0.971804,-0.0148653,-0.121212,0.992515,0.0699356,0.00534196,0.997537,0.118388,-0.456274,0.881929,0.231873,-0.424695,0.875139,0.333894,-0.350213,0.875138,0.41316,-0.251868,0.875135,0.464276,-0.136378,0.875128,0.672075,-0.171689,0.720304,0.683453,-0.00311503,0.729988,0.466544,0.128089,0.875174,0.435645,0.245756,0.86592,0.350211,0.333892,0.875139,0.238921,0.406346,0.88193,0.0902316,0.21784,0.971804,-0.0163783,0,0.999866,-0.0109191,0,0.99994,0.0524592,-0.00190541,0.998621,0.00363946,0,0.999993,0.0245669,0,0.999698,0.0533849,0.0399904,0.997773,-0.0704464,0.223251,0.972212,-0.0307772,0.233772,0.971804,1.70748e-006,0.195031,0.980797,0.030777,0.233773,0.971804,0.0403433,0.150571,0.987776,-0.0509786,-0.00188531,0.998698,-0.045989,1.46407e-005,0.998942,-0.0647081,0.230604,0.970894,-0.0115817,0.152696,0.988205,0.0163834,0,0.999866,-0.198205,0.240026,0.950317,-0.140395,0.175172,0.974476,-0.133235,0,0.991084,-0.190019,0.470721,0.861577,-0.128477,0.458062,0.879587,-0.0686607,0.450271,0.890248,-0.0097701,0.44719,0.894386,0.0489863,0.448732,0.892323,0.0513715,0.138232,0.989067,0.108403,0.454943,0.883898,0.128786,0.235695,0.963256,0.169294,0.465967,0.868455,0.190249,0.181618,0.96479,0.232369,0.481996,0.844798,0.268403,0.252441,0.929642,0.298216,0.503267,0.811042,0.345538,0.265307,0.90012,0.367111,0.529883,0.764496,0.425639,0.210442,0.880083,0.43866,0.561564,0.701587,0.520999,0.300521,0.798904,0.511261,0.597259,0.617976,0.621209,0.240728,0.745754,0.581339,0.634539,0.509318,0.729032,0.257432,0.634224,0.642783,0.669141,0.372934,0.81968,0.365265,0.441256,0.687303,0.69517,0.210604,0.897511,0.324206,0.298938,0.706769,0.70677,0.0308823,0.816432,0.556293,0.154843,0.88816,0.458094,0.0363611,0.696962,0.700897,-0.151616,0.886162,0.457064,-0.0762181,0.809091,0.551969,-0.201747,0.660034,0.67911,-0.321195,0.88978,0.320382,-0.325034,0.807852,0.358771,-0.467609,0.603236,0.646645,-0.466858,0.717938,0.251779,-0.648978,0.535186,0.609662,-0.584713,0.610001,0.235152,-0.756705,0.462885,0.573072,-0.676259,0.507098,0.293793,-0.81027,0.390701,0.539874,-0.745579,0.415681,0.206169,-0.885835,0.320824,0.511515,-0.797135,0.333341,0.260661,-0.906057,0.253968,0.488467,-0.834806,0.256977,0.248839,-0.933832,0.190019,0.470721,-0.861577,0.182114,0.179649,-0.966727,0.128477,0.458062,-0.879587,0.118401,0.233977,-0.965006,0.0686607,0.450271,-0.890248,0.0453212,0.137722,-0.989433,0.0097701,0.44719,-0.894386,-0.0489863,0.448732,-0.892323,-0.108403,0.454943,-0.883898,-0.169294,0.465967,-0.868455,0.623544,1.51498e-005,0.781789,0.623057,0,0.782177,0.623272,0,0.782005,0.623815,2.93756e-005,0.781572,0.62349,0,0.781831,1,0,0,-0.222579,-2.39949e-006,0.974915,-0.222598,-4.95e-006,0.97491,-0.222559,0,0.974919,-0.222534,0,0.974925,-0.900969,0,0.433884,-0.900973,0,0.433875,-0.900969,0,-0.433884,-0.222579,-2.39949e-006,-0.974915,-0.222559,0,-0.974919,-0.222598,-4.95e-006,-0.97491,-0.222534,0,-0.974925,0.623544,1.51498e-005,-0.781789,0.623272,0,-0.782005,0.623057,0,-0.782177,0.623814,3.02995e-005,-0.781573,0.62349,0,-0.781831,0.623501,0,0.781823,0.623532,0,0.781797,0.62351,0,0.781815,-0.222624,0,0.974904,-0.222523,0,0.974928,-0.90098,0,0.43386,-0.900878,1.61206e-005,0.434073,-0.900909,1.07471e-005,0.434007,-0.900874,1.61206e-005,-0.43408,-0.90098,0,-0.43386,-0.900909,1.07471e-005,-0.434007,-0.900973,0,-0.433875,-0.222624,0,-0.974904,-0.222523,0,-0.974928,0.623501,0,-0.781823,0.62351,0,-0.781815,0.623532,0,-0.781797,0.0572395,-0.00253293,-0.998357,0.0759214,-0.00151972,-0.997113,0.0896653,9.55108e-006,-0.995972,0.0769335,0,-0.997036,-0.0840227,0.198718,-0.976448,-0.937434,0.299599,0.177365,-0.0880397,0.0407768,-0.995282,-0.310766,0.0457091,-0.949387,-0.0955826,0.015845,-0.995295,0.1453,0.0287366,-0.98897,-0.121498,0.0910723,-0.988405,0.176454,0.00861075,-0.984271,0.578,0.0571333,-0.814034,0.353063,0.0295961,-0.935131,-0.0866389,-0.0206399,-0.996026,-0.158404,-0.0275865,-0.986989,-0.100247,-0.0421008,-0.994071,-0.177395,-0.0912103,-0.979904,-0.146079,-0.144876,-0.978607,-0.0721852,-0.0787284,-0.994279,0.45265,0.490109,0.744917,0.254899,0.360968,0.897067,-0.0856713,-0.139111,-0.986564,0.0370281,0.203334,0.978409,-0.0448141,-0.170002,-0.984424,0.104477,-0.00256268,-0.994524,0.174206,-0.0670895,-0.982421,-0.0672664,0.157221,-0.98527,-0.131382,0.159478,-0.97842,-0.104091,0.12089,-0.987193,-0.227904,0.412687,-0.881901,-0.122319,0.468059,-0.875191,-0.00498828,0.500155,-0.865921,0.179088,0.683951,-0.707205,-0.00403551,0.706998,-0.707204,0.350005,0.614297,-0.707203,0.497071,0.502777,-0.707203,0.610262,0.356995,-0.707203,0.83556,0.226845,-0.50038,0.748378,0.435375,-0.500379,0.865802,0.00285873,-0.500379,0.683951,-0.179088,-0.707205,0.614297,-0.350005,-0.707203,0.502778,-0.49707,-0.707203,0.356993,-0.61026,-0.707204,0.136346,-0.464267,-0.875138,0.0115413,-0.483737,-0.875138,-0.114053,-0.470239,-0.875138,-0.14757,-0.356269,-0.922657,0.135088,0.369945,-0.91918,0.137634,0.834935,-0.532861,0.0816345,0.89222,-0.444161,0.136328,0.448305,-0.883424,0.228843,0.28372,-0.9312,0.135344,0.519832,-0.843479,0.208535,0.470753,-0.857266,0.185958,0.603012,-0.775755,0.177072,0.724342,-0.666314,0.0899911,0.847925,-0.522422,0.114378,0.895145,-0.430852,0.0895925,0.943188,-0.319952,0.0564309,0.978813,-0.196828,0.02827,0.994918,-0.096637,0.027688,0.99759,-0.0636225,0.029169,0.998521,-0.0458897,0.0449743,0.997616,-0.0523334,0.0743324,0.995459,-0.0594679,0.0651159,0.997234,-0.0358416,0.0703196,0.997112,-0.0286702,0.0743714,0.997008,-0.0210568,0.104821,0.994491,0,0.0928957,0.995581,0.0137503,0.0743714,0.997008,0.0210568,0.0928957,0.995581,-0.0137503,0.0703196,0.997112,0.0286702,0.0651159,0.997234,0.0358416,0.0743324,0.995459,0.0594679,0.0449743,0.997616,0.0523334,0.029169,0.998521,0.0458897,0.027688,0.99759,0.0636225,0.02827,0.994918,0.096637,0.0564309,0.978813,0.196828,0.0895925,0.943188,0.319952,0.114378,0.895145,0.430852,0.137634,0.834935,0.532861,0.0816345,0.89222,0.444161,0.0899911,0.847925,0.522422,0.177072,0.724342,0.666314,0.135344,0.519832,0.843479,0.185958,0.603012,0.775755,0.208535,0.470753,0.857266,0.228843,0.28372,0.9312,0.136328,0.448305,0.883424,0.125338,0.0148953,0.992002,0.135088,0.369945,0.91918,0.0759214,-0.00151972,0.997113,0.104477,-0.00256248,0.994524,0.0683571,0,0.997661,0.156884,-0.0512316,0.986287,-0.0448159,0.170004,0.984424,-0.0840226,-0.198719,0.976448,-0.0672654,-0.15722,0.98527,-0.131387,-0.159483,0.978418,-0.104039,-0.120859,0.987203,-0.166987,-0.109139,0.9799,-0.130168,-0.0760368,0.988572,-0.137039,-0.0510128,0.989251,-0.206672,-0.0344341,0.977804,-0.347166,-0.0169679,0.93765,-0.395254,0.057098,0.916796,-0.206378,0.0343896,0.977868,-0.143666,0.0260616,0.989283,-0.137023,0.0511649,0.989246,-0.177395,0.0912105,0.979904,-0.117126,0.0985466,0.988216,-0.146072,0.144872,0.978609,-0.08566,0.139106,0.986566,-0.101944,0.188445,0.976778,0.0389189,-0.205999,-0.977778,0.700219,0.700218,-0.139241,0.653214,0.707111,-0.27075,0.706835,0.706819,0.0281201,0.707107,0.707107,4.49777e-005,0.65326,0.707104,-0.270658,0.593623,0.700216,-0.396621,0.499997,0.707108,-0.500002,0.593811,0.700245,-0.396289,0.593468,0.700195,-0.396892,0.593818,0.700253,-0.396265,0.500002,0.707113,-0.499989,0.39664,0.700215,-0.593613,0.27062,0.707107,-0.653272,0.270634,0.707102,-0.653272,0.139287,0.700215,-0.700212,0,0.707107,-0.707107,0.139314,0.700221,-0.700201,0.139237,0.70021,-0.700227,0.13927,0.700213,-0.700218,-0.227034,0.706328,-0.670489,-0.139277,0.700215,-0.700215,-0.355662,0.70402,-0.614704,-0.396636,0.700216,-0.593614,-0.449166,0.705364,-0.548372,-0.39661,0.700222,-0.593624,-0.396588,0.700227,-0.593633,-0.396674,0.700206,-0.5936,-0.532567,0.706331,-0.466335,-0.593616,0.700213,-0.396637,-0.624826,0.705364,-0.334744,-0.670483,0.706332,-0.227041,-0.700209,0.700218,-0.139292,-0.706825,0.706829,-0.0281258,-0.707107,0.707107,-4.54444e-006,-0.700215,0.700215,0.139278,-0.653283,0.707106,0.270596,-0.593613,0.700215,0.396639,-0.500018,0.70708,0.500019,-0.449178,0.705367,0.548357,-0.39669,0.700185,0.593615,-0.396719,0.700109,0.593684,-0.396662,0.700219,0.593593,-0.396638,0.700213,0.593616,-0.270603,0.707106,0.65328,-0.270614,0.707105,0.653277,-0.139288,0.700215,0.700212,4.52564e-006,0.707087,0.707126,0.0701171,0.70537,0.705363,0.139244,0.700197,0.70024,0.139289,0.700136,0.700292,0.13923,0.700225,0.700215,0.139274,0.700216,0.700214,0.227044,0.706328,0.670486,0.313579,0.706327,0.634642,0.480143,0.706557,0.519847,0.396627,0.700216,0.59362,0.548316,0.705383,0.449204,0.61862,0.704706,0.347417,0.592953,0.700635,0.396884,0.593629,0.700012,0.396974,0.594694,0.698847,0.397431,0.59369,0.700185,0.396578,0.670507,0.706323,0.226999,0.700234,0.700203,0.139239,0.700215,0.700215,-0.139278,0.653283,0.707106,-0.270596,0.706825,0.706829,0.0281258,0.707107,0.707107,4.54444e-006,0.593613,0.700214,-0.39664,0.270603,0.707107,-0.653279,0.1393,0.700218,-0.700208,-0.355646,0.704018,-0.614714,-0.396627,0.700216,-0.59362,-0.449187,0.705353,-0.548368,-0.396491,0.700246,-0.593676,-0.39652,0.700237,-0.593667,-0.396694,0.700197,-0.593598,-0.532606,0.706322,-0.466305,-0.59369,0.700185,-0.396578,-0.624859,0.705351,-0.334712,-0.670507,0.706323,-0.226999,-0.700234,0.700203,-0.139239,-0.706835,0.706819,-0.0281201,-0.707107,0.707107,-4.49777e-005,-0.700219,0.700218,0.139241,-0.653269,0.707106,0.27063,-0.65326,0.707104,0.270658,-0.593592,0.700208,0.396683,-0.500096,0.707,0.500054,-0.4492,0.705373,0.548332,-0.39681,0.700089,0.593647,-0.397004,0.699802,0.593856,-0.396675,0.700223,0.59358,-0.270634,0.707102,0.653272,-0.139307,0.700217,0.700207,0,0.707111,0.707103,0.0701675,0.705362,0.705365,0.139297,0.700211,0.700214,0.139275,0.700231,0.700199,0.227033,0.706332,0.670486,0.31357,0.706331,0.634642,0.47992,0.706823,0.51969,0.396636,0.700216,0.593614,0.548374,0.705365,0.449162,0.618791,0.704599,0.347329,0.593624,0.700205,0.39664,0.593626,0.700193,0.396658,0.593616,0.700213,0.396637,0.670483,0.706332,0.227041,0.700209,0.700218,0.139292,-0.227904,-0.412687,0.881901,-0.134268,-0.481821,0.865922,-0.0115413,-0.483737,0.875138,-0.00403561,-0.706998,0.707204,0.179087,-0.683951,0.707205,0.350004,-0.614296,0.707204,0.497071,-0.502776,0.707204,0.610261,-0.356995,0.707203,0.748378,-0.435375,0.500378,0.83556,-0.226845,0.50038,0.865802,-0.00285873,0.500379,0.683951,0.179088,0.707205,0.614297,0.350005,0.707203,0.502778,0.497071,0.707203,0.356995,0.610262,0.707203,0.136347,0.464267,0.875137,0.0115409,0.483737,0.875137,-0.114054,0.470239,0.875138,-0.14757,0.356268,0.922657,0.0572395,-0.00253293,0.998357,0.0769335,0,0.997036,0.150316,1.37289e-006,0.988638,0.142743,-0.00307092,0.989755,0.213018,-0.170594,0.96204,0.186779,-0.213419,0.95894,0.126291,-0.00511957,0.99198,0.263144,-0.33204,0.905817,0.373676,-2.81168e-006,0.927559,0.401587,-2.09341e-006,0.915821,0.464613,0,0.885514,0.401598,2.12026e-006,0.915816,0.565476,-3.7303e-006,0.824765,0.599162,3.97995e-006,0.800628,0.676039,0,0.736865,0.599171,9.56581e-006,0.800621,0.711977,2.85005e-006,0.702203,0.791784,0,0.610801,0.711937,1.48864e-006,0.702244,0.899952,-5.18222e-006,0.435989,0.937457,0.119627,0.3269,0.929168,-4.07335e-006,0.369658,0.977418,0,0.211316,0.929184,3.65909e-006,0.369619,0.937013,0.215729,0.274714,0.988637,0.14905,0.0195383,0.966811,0.253327,-0.0332057,0.946735,0.123161,-0.29753,0.977418,0,-0.211316,0.921797,0.209039,-0.326488,0.899952,-5.18222e-006,-0.435989,0.929184,3.65909e-006,-0.369619,0.929168,-4.07335e-006,-0.369658,0.791784,0,-0.610801,0.676039,0,-0.736865,0.711937,1.48864e-006,-0.702244,0.711977,2.85005e-006,-0.702203,0.565476,-3.7303e-006,-0.824765,0.599162,3.97995e-006,-0.800628,0.599171,9.56581e-006,-0.800621,0.464613,0,-0.885514,0.373676,-2.81168e-006,-0.927559,0.401587,-2.09341e-006,-0.915821,0.401598,2.12026e-006,-0.915816,0.263144,-0.33204,-0.905817,0.213018,-0.170594,-0.96204,0.150316,1.37289e-006,-0.988638,0.151981,-0.00191703,-0.988382,0.121143,-0.00575773,-0.992618,0.186779,-0.213419,-0.95894,0.152945,-0.203328,-0.967091,0.241566,-0.283253,-0.928124,0.360593,-0.108715,-0.926366,0.385429,0.108715,-0.916311,-0.231873,-0.424695,-0.875139,-0.234747,-0.305928,-0.92266,-0.333894,-0.350213,-0.875138,-0.41316,-0.251868,-0.875135,-0.483099,-0.129474,-0.86594,-0.310125,-0.0456289,-0.9496,-0.681863,-0.186882,-0.707204,-0.607147,-0.0801121,-0.790541,-0.693555,-0.0151247,-0.720245,-0.182218,0.00974212,-0.98321,-0.485144,0.122222,-0.865851,-0.356318,0.147526,-0.922645,-0.417459,0.244473,-0.875192,-0.339962,0.344191,-0.875191,-0.356995,0.610262,-0.707203,-0.502778,0.497071,-0.707203,-0.186882,0.681863,-0.707205,0.221326,0.837039,-0.50038,-0.00285876,0.865802,-0.500379,-0.226845,0.83556,-0.500381,0.430424,0.751237,-0.500378,0.610194,0.614234,-0.50038,0.932622,0.251422,-0.25885,0.835771,0.484234,-0.258851,0.681965,0.684046,-0.258853,0.965916,0.00147303,-0.258851,0.83704,-0.221326,-0.500379,0.751236,-0.430425,-0.500378,0.614236,-0.610193,-0.500378,0.435375,-0.748378,-0.500378,0.186882,-0.681863,-0.707205,0.0040356,-0.706998,-0.707204,-0.179087,-0.683951,-0.707205,0.15932,0.897723,-0.410744,0.226056,0.811427,-0.538966,0.360328,0.279904,-0.889841,0.348171,0.437229,-0.829221,0.287842,0.607359,-0.740448,0.26078,0.720031,-0.643078,0.111839,0.950995,-0.288271,0.0748715,0.98099,-0.179033,0.0951154,0.9842,-0.149343,0.136661,0.978689,-0.153269,0.184288,0.971748,-0.147461,0.190773,0.975573,-0.108915,0.185567,0.979714,-0.075667,0.221666,0.973317,-0.0593094,0.241694,0.969914,0.0291741,0.241694,0.969914,-0.0291741,0.233431,0.972373,0,0.221666,0.973317,0.0593094,0.185567,0.979714,0.075667,0.190773,0.975573,0.108915,0.184288,0.971748,0.147461,0.136661,0.978689,0.153268,0.0951154,0.9842,0.149343,0.0748715,0.98099,0.179033,0.111839,0.950995,0.288271,0.15932,0.897723,0.410744,0.226056,0.811427,0.538966,0.26078,0.720031,0.643078,0.287842,0.607359,0.740448,0.348171,0.437229,0.829221,0.360328,0.279904,0.889841,0.385429,0.108715,0.916311,0.360593,-0.108715,0.926366,-0.231873,0.424695,0.875139,-0.333895,0.350214,0.875137,-0.41316,0.251868,0.875135,-0.483099,0.129473,0.86594,-0.681863,0.186882,0.707204,-0.693555,0.0151247,0.720245,-0.485144,-0.122222,0.865851,-0.417458,-0.244472,0.875193,-0.339963,-0.344192,0.87519,0.241566,-0.283253,0.928124,0.163937,-0.251652,0.953832,-0.502778,-0.49707,0.707203,-0.356993,-0.61026,0.707204,-0.186882,-0.681863,0.707205,-0.226847,-0.835561,0.500378,-0.00285784,-0.865802,0.500378,0.221326,-0.83704,0.500379,0.430425,-0.751236,0.500378,0.610194,-0.614236,0.500378,0.681964,-0.684047,0.258853,0.835772,-0.484233,0.258852,0.932622,-0.251422,0.25885,0.965916,-0.00147303,0.258851,0.83704,0.221326,0.500379,0.751237,0.430424,0.500378,0.614234,0.610194,0.50038,0.435375,0.748377,0.50038,0.186882,0.681863,0.707205,0.00403551,0.706998,0.707204,-0.179088,0.683951,0.707205,0.220288,-0.449905,0.865482,0.263185,-0.386015,0.884152,0.264092,-0.715676,0.646577,0.226587,-0.590722,0.774407,0.23987,-0.711641,0.660325,0.171265,-0.865109,0.47144,0.210286,-0.86764,0.450534,0.16855,-0.937804,0.303504,0.260783,-0.871474,0.415361,0.245027,-0.863283,0.441253,0.245028,-0.863271,0.441276,0.168549,-0.937826,0.303435,0.19635,-0.941276,0.274675,0.160858,-0.969341,0.185748,0.25311,-0.926015,0.280058,0.237603,-0.93181,0.274364,0.19628,-0.966925,0.16288,0.15534,-0.982689,0.100957,0.238562,-0.960322,0.144467,0.230999,-0.961299,0.150147,0.230996,-0.961303,0.150124,0.15534,-0.982687,0.10097,0.184295,-0.979795,0.0776938,0.152122,-0.987845,0.0319572,0.251618,-0.965719,0.0638366,0.226799,-0.972774,0.0476768,0.227208,-0.973846,0,0.184295,-0.979795,-0.0776938,0.251618,-0.965719,-0.0638366,0.152122,-0.987845,-0.0319572,0.226799,-0.972774,-0.0476768,0.15534,-0.982687,-0.10097,0.19628,-0.966925,-0.16288,0.238562,-0.960322,-0.144467,0.15534,-0.982689,-0.100957,0.230996,-0.961303,-0.150124,0.230999,-0.961299,-0.150147,0.160858,-0.969341,-0.185749,0.19635,-0.941276,-0.274675,0.25311,-0.926015,-0.280058,0.237603,-0.93181,-0.274364,0.168549,-0.937826,-0.303435,0.210286,-0.86764,-0.450534,0.260783,-0.871474,-0.415361,0.16855,-0.937804,-0.303504,0.245028,-0.863271,-0.441276,0.245027,-0.863283,-0.441253,0.171265,-0.865109,-0.47144,0.264092,-0.715676,-0.646577,0.23987,-0.711641,-0.660325,0.226587,-0.590722,-0.774407,0.220288,-0.449905,-0.865482,0.263185,-0.386015,-0.884152,0.348171,-0.437229,-0.829221,0.360328,-0.279904,-0.889841,0.533539,-0.092057,-0.840751,0.558209,0.0920175,-0.824582,0.503261,-0.285594,-0.815576,0.503261,0.285594,-0.815576,-0.350004,-0.614296,-0.707204,-0.497071,-0.502776,-0.707204,-0.610261,-0.356995,-0.707203,-0.83556,-0.226845,-0.50038,-0.748378,-0.435375,-0.500379,-0.683951,0.179088,-0.707205,-0.865802,-0.00285873,-0.500379,-0.614297,0.350005,-0.707203,-0.435375,0.748377,-0.50038,-0.614234,0.610194,-0.50038,-0.751237,0.430424,-0.500378,0.248574,0.933385,-0.258851,-0.00147316,0.965916,-0.258852,-0.251421,0.932622,-0.25885,-0.484235,0.835771,-0.258851,0.481681,0.837245,-0.258851,0.969079,0.240319,-0.0559628,0.864084,0.499094,-0.0653028,0.705468,0.705727,-0.0653046,0.498774,0.864269,-0.0653034,0.99691,-0.0437483,-0.0652418,0.933385,-0.248574,-0.258851,0.837246,-0.48168,-0.25885,0.684047,-0.681964,-0.258852,0.484233,-0.835771,-0.258853,0.226847,-0.835561,-0.500378,0.00285784,-0.865802,-0.500378,-0.221326,-0.83704,-0.500379,0.258642,0.876316,-0.406417,0.177719,0.94366,-0.279146,0.377791,0.710152,-0.594103,0.314546,0.810325,-0.494404,0.481719,0.439375,-0.758219,0.443165,0.56338,-0.697286,0.237254,0.939411,-0.247421,0.306878,0.932903,-0.188462,0.27445,0.936178,-0.219654,0.342956,0.928883,-0.139848,0.352407,0.931746,-0.0875134,0.382677,0.923882,0,0.391518,0.918499,0.0554398,0.352407,0.931746,0.0875134,0.391518,0.918499,-0.0554398,0.342956,0.928883,0.139848,0.306878,0.932903,0.188462,0.27445,0.936178,0.219654,0.237254,0.939411,0.247421,0.177719,0.94366,0.279146,0.258642,0.876316,0.406417,0.314546,0.810325,0.494404,0.377791,0.710152,0.594103,0.443165,0.56338,0.697286,0.481719,0.439375,0.758219,0.503261,0.285594,0.815576,0.558209,0.0920175,0.824582,0.533539,-0.092057,0.840751,0.503261,-0.285594,0.815576,0.360328,-0.279904,0.889841,-0.350005,0.614297,0.707203,-0.497071,0.502777,0.707203,-0.610262,0.356995,0.707203,-0.748378,0.435375,0.500379,-0.83556,0.226845,0.50038,-0.865802,0.00285873,0.500379,-0.683951,-0.179088,0.707205,-0.614297,-0.350005,0.707203,0.348171,-0.437229,0.829221,-0.751236,-0.430425,0.500378,-0.614236,-0.610193,0.500378,-0.435375,-0.748378,0.500378,-0.484233,-0.835771,0.258853,-0.251421,-0.932622,0.258852,-0.00147376,-0.965916,0.258852,0.248574,-0.933384,0.258852,0.481681,-0.837245,0.258852,0.536342,-0.841475,0.0652436,0.735856,-0.673988,0.0652435,0.885223,-0.460569,0.0652402,0.974264,-0.21576,0.065241,0.99691,0.0437483,0.0652418,0.933385,0.248574,0.258851,0.837245,0.481681,0.258851,0.684047,0.681964,0.258853,0.484235,0.835771,0.258851,0.226845,0.83556,0.500381,0.00285876,0.865802,0.500379,-0.221326,0.83704,0.50038,0.293002,-0.597802,0.746179,0.231057,-0.555362,0.798865,0.377791,-0.710152,0.594103,0.27086,-0.78936,0.55095,0.30251,-0.817408,0.490236,0.242992,-0.916255,0.318482,0.390053,-0.808041,0.441508,0.303238,-0.888614,0.34411,0.272563,-0.937802,0.215028,0.379103,-0.874173,0.303483,0.234791,-0.95841,0.162244,0.306878,-0.932903,0.188462,0.342956,-0.928883,0.139848,0.252871,-0.961947,0.103509,0.279489,-0.959494,0.0354556,0.352407,-0.931746,0.0875134,0.268453,-0.963293,0,0.279489,-0.959494,-0.0354556,0.352407,-0.931746,-0.0875134,0.342956,-0.928883,-0.139848,0.252871,-0.961947,-0.103509,0.306878,-0.932903,-0.188462,0.234791,-0.95841,-0.162244,0.272563,-0.937802,-0.215028,0.379103,-0.874173,-0.303483,0.303238,-0.888614,-0.34411,0.242992,-0.916255,-0.318482,0.390053,-0.808041,-0.441508,0.30251,-0.817408,-0.490236,0.27086,-0.78936,-0.55095,0.377791,-0.710152,-0.594103,0.293002,-0.597802,-0.746179,0.231057,-0.555362,-0.798865,0.443165,-0.56338,-0.697286,0.481719,-0.439375,-0.758219,0.657913,-0.251388,-0.709898,0.657172,-0.0716094,-0.750331,0.681709,0.0716094,-0.72811,0.657913,0.251388,-0.709898,0.594882,-0.439417,-0.673073,0.594882,0.439417,-0.673073,-0.430425,-0.751236,-0.500378,-0.610194,-0.614236,-0.500378,-0.932622,-0.251422,-0.25885,-0.835772,-0.484233,-0.258852,-0.681964,-0.684047,-0.258853,-0.83704,0.221326,-0.500379,-0.965916,-0.00147304,-0.258851,-0.684047,0.681964,-0.258853,-0.837245,0.481681,-0.258851,-0.933385,0.248574,-0.258851,0.258086,0.963912,-0.0653027,-0.000183448,0.997865,-0.0653045,-0.258443,0.963817,-0.0653037,-0.499094,0.864084,-0.0653027,-0.705727,0.705467,-0.0653045,0.951619,-0.300276,-0.0652401,0.841474,-0.536343,-0.065242,0.673985,-0.735858,-0.0652443,0.251421,-0.932622,-0.258852,0.460568,-0.885224,-0.065243,0.00147376,-0.965916,-0.258852,-0.248574,-0.933384,-0.258852,0.390053,0.808041,-0.441508,0.303238,0.888614,-0.34411,0.533586,0.588263,-0.607645,0.496666,0.696064,-0.518476,0.379103,0.874173,-0.303483,0.422781,0.87423,-0.2387,0.490807,0.847957,-0.200194,0.491882,0.862024,-0.122337,0.504345,0.861542,-0.0581485,0.544651,0.838663,0,0.504345,0.861542,0.0581485,0.491882,0.862024,0.122337,0.490807,0.847957,0.200194,0.422781,0.87423,0.2387,0.379103,0.874173,0.303483,0.303238,0.888614,0.34411,0.390053,0.808041,0.441508,0.496666,0.696064,0.518476,0.533586,0.588263,0.607645,0.594882,0.439417,0.673073,0.657913,0.251388,0.709898,0.657172,-0.0716094,0.750331,0.681709,0.0716094,0.72811,0.657913,-0.251388,0.709898,0.594882,-0.439417,0.673073,0.481719,-0.439375,0.758219,-0.430424,0.751237,0.500378,-0.610194,0.614234,0.50038,-0.681965,0.684046,0.258853,-0.835771,0.484234,0.258851,-0.932622,0.251422,0.25885,-0.965916,0.00147303,0.258851,-0.83704,-0.221326,0.500379,0.443165,-0.56338,0.697286,-0.933385,-0.248574,0.258851,-0.837246,-0.48168,0.25885,-0.684047,-0.681964,0.258852,-0.673986,-0.735858,0.0652443,-0.460568,-0.885224,0.065243,-0.215762,-0.974264,0.065243,0.0437486,-0.99691,0.0652429,0.300277,-0.951618,0.0652431,0.955858,0.283195,0.0783285,0.864268,0.498774,0.0653039,0.705727,0.705467,0.0653045,0.499094,0.864084,0.0653027,0.251421,0.932622,0.25885,0.00147316,0.965916,0.258851,-0.248574,0.933385,0.258851,0.533586,-0.588263,0.607645,0.496666,-0.696064,0.518476,0.493516,-0.774729,0.395267,0.536593,-0.787162,0.304046,0.422781,-0.87423,0.2387,0.490807,-0.847957,0.200194,0.491882,-0.862024,0.122337,0.382677,-0.923882,0,0.391518,-0.918499,0.0554398,0.391518,-0.918499,-0.0554398,0.491882,-0.862024,-0.122337,0.490807,-0.847957,-0.200194,0.422781,-0.87423,-0.2387,0.536593,-0.787162,-0.304046,0.493516,-0.774729,-0.395267,0.496666,-0.696064,-0.518476,0.533586,-0.588263,-0.607645,0.718418,-0.389905,-0.576064,0.754101,-0.255976,-0.60482,0.76931,-0.0988341,-0.631184,0.78308,0.098834,-0.614017,0.754101,0.255976,-0.60482,0.718418,0.389905,-0.576064,0.646442,-0.560065,-0.518113,0.646442,0.560065,-0.518113,-0.481681,-0.837245,-0.258852,-0.974264,-0.21576,-0.065241,-0.885223,-0.460569,-0.0652402,-0.735856,-0.673988,-0.0652435,-0.536342,-0.841475,-0.0652436,-0.996584,0.0261525,-0.0783305,-0.864268,0.498774,-0.0653039,-0.963912,0.258087,-0.0653026,0.258443,0.963817,0.0653037,0.215762,-0.974264,-0.065243,-0.0437486,-0.99691,-0.0652429,-0.300277,-0.951618,-0.0652431,-0.841474,-0.536343,0.065242,-0.951619,-0.300276,0.0652401,-0.998258,-0.0186847,0.0559635,0.493516,0.774729,-0.395267,0.568005,0.685769,-0.455072,0.536593,0.787162,-0.304046,0.587983,0.772474,-0.239918,0.628672,0.759043,-0.169191,0.635149,0.768828,-0.0740914,0.635149,0.768828,0.0740914,0.649461,0.760395,0,0.628672,0.759043,0.169191,0.587983,0.772474,0.239918,0.536593,0.787162,0.304046,0.493516,0.774729,0.395267,0.568005,0.685769,0.455072,0.646442,0.560065,0.518113,0.718418,0.389905,0.576064,0.754101,0.255976,0.60482,0.78308,0.098834,0.614017,0.76931,-0.0988341,0.631184,0.754101,-0.255976,0.60482,0.718418,-0.389905,0.576064,0.646442,-0.560065,0.518113,-0.481681,0.837245,0.258851,-0.498774,0.864269,0.0653034,-0.705468,0.705727,0.0653046,-0.864084,0.499094,0.0653028,-0.963817,0.258444,0.0653035,0.000183446,0.997865,0.0653045,-0.258086,0.963912,0.0653027,0.568005,-0.685769,0.455072,0.628081,-0.675638,0.386042,0.69253,-0.6637,0.282674,0.587983,-0.772474,0.239918,0.628672,-0.759043,0.169191,0.635149,-0.768828,0.0740914,0.504345,-0.861542,0.0581485,0.544651,-0.838663,0,0.504345,-0.861542,-0.0581485,0.635149,-0.768828,-0.0740914,0.628672,-0.759043,-0.169191,0.587983,-0.772474,-0.239918,0.69253,-0.6637,-0.282674,0.628081,-0.675638,-0.386042,0.568005,-0.685769,-0.455072,0.791174,-0.414677,-0.449541,0.834391,-0.237413,-0.497421,0.854719,-0.0669789,-0.514751,0.869258,0.0669789,-0.489801,0.834391,0.237413,-0.497421,0.791174,0.414677,-0.449541,0.721763,-0.559812,-0.407025,0.628081,0.675638,-0.386042,0.721763,0.559812,-0.407025,0.69253,0.6637,-0.282674,0.730465,0.65595,-0.190133,0.759144,0.642757,-0.102779,0.743119,0.66916,0,0.759144,0.642757,0.102779,0.730465,0.65595,0.190133,0.69253,0.6637,0.282674,0.628081,0.675638,0.386042,0.721763,0.559812,0.407025,0.791174,0.414677,0.449541,0.834391,0.237413,0.497421,0.869258,0.0669789,0.489801,0.854719,-0.0669789,0.514751,0.834391,-0.237413,0.497421,0.791174,-0.414677,0.449541,0.721763,-0.559812,0.407025,0.817645,-0.53825,0.204312,0.730465,-0.65595,0.190133,0.793908,-0.514388,0.324213,0.759144,-0.642757,0.102779,0.743119,-0.66916,0,0.649461,-0.760395,0,0.759144,-0.642757,-0.102779,0.730465,-0.65595,-0.190133,0.817645,-0.53825,-0.204312,0.793908,-0.514388,-0.324213,0.899212,-0.25298,-0.356958,0.850347,-0.395319,-0.347323,0.913828,-0.0817652,-0.397784,0.92266,0.081786,-0.376841,0.899212,0.25298,-0.356958,0.850347,0.395319,-0.347323,0.793908,0.514388,-0.324213,0.817645,0.53825,-0.204312,0.844839,0.524167,-0.107218,0.852633,0.52251,0,0.844839,0.524167,0.107218,0.817645,0.53825,0.204312,0.793908,0.514388,0.324213,0.850347,0.395319,0.347323,0.899212,0.25298,0.356958,0.92266,0.081786,0.376841,0.913828,-0.0817652,0.397784,0.899212,-0.25298,0.356958,0.850347,-0.395319,0.347323,0.844839,-0.524167,0.107218,0.893675,-0.378304,0.241312,0.912707,-0.39432,0.107134,0.852633,-0.52251,0,0.844839,-0.524167,-0.107218,0.912707,-0.39432,-0.107134,0.893675,-0.378304,-0.241312,0.940072,-0.237292,-0.244861,0.961261,-0.0912218,-0.260106,0.965974,0.0912218,-0.242016,0.940072,0.237292,-0.244861,0.893675,0.378304,-0.241312,0.912707,0.39432,-0.107134,0.923876,0.382692,0,0.912707,0.39432,0.107134,0.893675,0.378304,0.241312,0.940072,0.237292,0.244861,0.965974,0.0912218,0.242016,0.961261,-0.0912218,0.260106,0.940072,-0.237292,0.244861,0.961514,-0.234702,0.142848,0.972365,-0.233467,0,0.923876,-0.382692,0,0.961514,-0.234702,-0.142848,0.98894,-0.0786931,-0.125722,0.991395,0.0786756,-0.104624,0.961514,0.234702,-0.142848,0.972365,0.233467,0,0.961514,0.234702,0.142848,0.991395,0.0786756,0.104624,0.98894,-0.0786931,0.125722,0.998633,-0.0522767,0,0.996919,0.0784413,0] } } } } } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } } From yottzumm at gmail.com Sat Apr 14 23:08:39 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 02:08:39 -0400 Subject: [x3d-public] X3D JSON Schema Updates In-Reply-To: References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> Message-ID: <5ad2ec65.45b9370a.9810a.1eda@mx.google.com> Also, "maximum": ?, "exclusiveMaximum": true, to "exclusiveMaximum": ?, Sent from Mail for Windows 10 From: Don Brutzman Sent: Saturday, April 14, 2018 10:41 PM To: John Carlson; x3d-public at web3d.org; X3D Graphics member mailing list; npolys at vt.edu Subject: X3D JSON Schema Updates 1. *Updates*. Thanks for the updates and for your patience with my being able to catch up. Here we go: Summary of x3d-3.3-JSONSchema.draft-06.json schema changes: quite simple, only multiple occurrences of "minimum": 0, "exclusiveMinimum": true, to "exclusiveMinimum": 0, and "format": "uri-reference" to "format": "reference" All of your changes applied to x3d-3.3-JSONSchema.json and checked in. 2. *Testing*. I spot-checked your revised schema against HelloWorld.json using https://www.jsonschemavalidator.net which reported "No errors found. JSON validates against the schema" 8) Unit testing results for entire X3D Examples Archive followed... but with occasional failures, due to lack of support for draft-06. https://github.com/fge/json-schema-validator v2.2.6 Looks like there is not an up-to-date Java library I can use, the only Java code that has been upgraded to draft-06/07 does not have a .jar for ant (or command line) invocation. 8( https://github.com/everit-org/json-schema An example of a file which fails that validator is attached,CleatClamp.json However online inspection shows it is OK using a pair of validators: https://jsonlint.com https://www.jsonschemavalidator.net So I'll run the unit testing and updates, but we'll likely will have to wait before getting full compatibility with offline unit testing again. 3. *Next Steps.* If you agree, x3d-3.3-JSONSchema.draft-06.json can be deleted from version control since it is no longer necessary. Appreciate your "keeping it safe" there in subversion. Just prior to this task, I have separately added some minimum-allowed values to X3D XML Schema constraints on various SFTime duration fields. They are all tested in X3DJSAIL satisfactorily. Hoping you can inspect them. If agreed, please apply them to the JSON schema. https://sourceforge.net/p/x3d/code/26640/#diff-4 On 4/11/2018 7:38 AM, John Carlson wrote: > I have checked draft-06 into sourceforge (sorry Don), keeping the old version. > > X3d-code/www.web3d.org/specifications/x3d-3.3-JSONSchema.draft-06.json > > Do what you will! > > John > > Sent from Mail for Windows 10 > > *From: *John Carlson > *Sent: *Wednesday, April 11, 2018 10:32 AM > *To: *x3d-public at web3d.org ; X3D Graphics member mailing list ; Don Brutzman ; npolys at vt.edu > *Subject: *FW: [x3d] X3D C and C++ language bindings NWIPs > > The patch should be attached Still unable to attach files to Mantis. Issue reported to webmaster separately. > to this mantis: > > http://www.web3d.org/member-only/mantis/view.php?id=1227 I have updated that specification-draft editor issue and assigned it to me. Will test further before updating draft X3D JSON specification in github. (As noted earlier, it is better to submit spec changes via the spec comment form, since some muttered incantations are involved). Wondering, should we immediately try for draft-07? Or do you think that the differences are minuscule because they've only just started that version? Better and better, again thanks John. > *From: *John Carlson > *Sent: *Wednesday, April 11, 2018 10:29 AM > *To: *Nicholas Polys ; Myeong Won Lee > *Cc: *x3d at web3d.org > *Subject: *RE: [x3d] X3D C and C++ language bindings NWIPs > > Here is a patch to bring the JSON schema up to draft-06.? I believe draft-07 is a one character substitution. > > Ready to check in if someone can approve my patches. > > John > > Sent from Mail for Windows 10 > > *From: *Nicholas Polys > *Sent: *Wednesday, April 11, 2018 9:51 AM > *To: *Myeong Won Lee > *Cc: *x3d at web3d.org > *Subject: *Re: [x3d] X3D C and C++ language bindings NWIPs > > Thanks so much! > > Is the JSON encoding ready as well? > > best regards, > > ?_nicholas 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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sat Apr 14 23:17:06 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 02:17:06 -0400 Subject: [x3d-public] X3D JSON Schema Updates In-Reply-To: References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> Message-ID: <5ad2ee60.026c370a.77936.07e0@mx.google.com> Sent from Mail for Windows 10 From: Don Brutzman 3. *Next Steps.* If you agree, x3d-3.3-JSONSchema.draft-06.json can be deleted from version control since it is no longer necessary. Appreciate your "keeping it safe" there in subversion. Just prior to this task, I have separately added some minimum-allowed values to X3D XML Schema constraints on various SFTime duration fields. They are all tested in X3DJSAIL satisfactorily. Hoping you can inspect them. If agreed, please apply them to the JSON schema. https://sourceforge.net/p/x3d/code/26640/#diff-4 Checking 3.3 standard: X3DSoundSourceNode duration_changed Minimum Inclusive: -1 X3DTimeDependentNode elapsedTime Minimum Inclusive: 0 timestamp Minimum Inclusive: 0 cycleInterval Minimum Inclusive: 0 TimeSensor cycleTime Minimum Inclusive: 0 time Minimum Inclusive: 0 On 4/11/2018 7:38 AM, John Carlson wrote: > I have checked draft-06 into sourceforge (sorry Don), keeping the old version. > > X3d-code/www.web3d.org/specifications/x3d-3.3-JSONSchema.draft-06.json > > Do what you will! > > John > > Sent from Mail for Windows 10 > > *From: *John Carlson > *Sent: *Wednesday, April 11, 2018 10:32 AM > *To: *x3d-public at web3d.org ; X3D Graphics member mailing list ; Don Brutzman ; npolys at vt.edu > *Subject: *FW: [x3d] X3D C and C++ language bindings NWIPs > > The patch should be attached Still unable to attach files to Mantis. Issue reported to webmaster separately. > to this mantis: > > http://www.web3d.org/member-only/mantis/view.php?id=1227 I have updated that specification-draft editor issue and assigned it to me. Will test further before updating draft X3D JSON specification in github. (As noted earlier, it is better to submit spec changes via the spec comment form, since some muttered incantations are involved). Wondering, should we immediately try for draft-07? Or do you think that the differences are minuscule because they've only just started that version? Better and better, again thanks John. > *From: *John Carlson > *Sent: *Wednesday, April 11, 2018 10:29 AM > *To: *Nicholas Polys ; Myeong Won Lee > *Cc: *x3d at web3d.org > *Subject: *RE: [x3d] X3D C and C++ language bindings NWIPs > > Here is a patch to bring the JSON schema up to draft-06.? I believe draft-07 is a one character substitution. > > Ready to check in if someone can approve my patches. > > John > > Sent from Mail for Windows 10 > > *From: *Nicholas Polys > *Sent: *Wednesday, April 11, 2018 9:51 AM > *To: *Myeong Won Lee > *Cc: *x3d at web3d.org > *Subject: *Re: [x3d] X3D C and C++ language bindings NWIPs > > Thanks so much! > > Is the JSON encoding ready as well? > > best regards, > > ?_nicholas 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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sat Apr 14 23:59:34 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 02:59:34 -0400 Subject: [x3d-public] X3D JSON Schema Updates In-Reply-To: <5ad2ee60.026c370a.77936.07e0@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> Message-ID: <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> Don?s comments are in green, mine are varied colored. Sorry for the early send. John Sent from Mail for Windows 10 From: Don Brutzman 3. *Next Steps.* Just prior to this task, I have separately added some minimum-allowed values to X3D XML Schema constraints on various SFTime duration fields.? They are all tested in X3DJSAIL satisfactorily. Hoping you can inspect them.? If agreed, please apply them to the JSON schema. ??????????????? https://sourceforge.net/p/x3d/code/26640/#diff-4 Checking 3.3 standard: X3DSoundSourceNode duration_changed Minimum Inclusive: -1 Not present in standard: https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/sound.html#X3DSoundSourceNode Note: This is the only -1 minimum in the schema for these patches, correct? X3DTimeDependentNode elapsedTime Minimum Inclusive: 0 timestamp Minimum Inclusive: 0 cycleInterval Minimum Inclusive: 0 readInterval Minimum Inclusive: 0 writeInterval Minimum Inclusive: 0 Not present in standard: https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#X3DTimeDependentNode TimeSensor cycleTime Minimum Inclusive: 0 time Minimum Inclusive: 0 Minimums not included in standard: https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor X3DNetworkSensorNode readInterval Minimum Inclusive: 0 writeInterval Minimum Inclusive: 0 timestamp Minimum Inclusive: 0 disableTime Minimum Inclusive: 0 None of these are present in https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/networking.html#X3DNetworkSensorNode I don?t know enough about the standard to show whether these are proper additions or not. You say separately, but I thought this was a group thing. Can you show me the Mantis issues where we are adding these, so I have a better idea of what I am concurring to? Normally, I copy the 3.3 JSON schema to 3.0, 3.1, 3.2 and 4.0, so that will be what I do. If this is drastically different than previous schemas for those versions, let me know. I don?t know what I?ll do, but at least I?ll know. I think it?s best to autogenerate these schema fields as snippets from the X3DUOM and upgrade the JSON schema by using autogenerated snippets. It appears according to the standard that many of these fields are new ones. Plus snippets are less error prone. So let?s get them into the object model soon. On 4/11/2018 7:38 AM, John Carlson wrote: > to this mantis: > > http://www.web3d.org/member-only/mantis/view.php?id=1227 I have updated that specification-draft editor issue and assigned it to me.? Will test further before updating draft X3D JSON specification in github. (As noted earlier, it is better to submit spec changes via the spec comment form, since some muttered incantations are involved). Wondering, should we immediately try for draft-07?? Or do you think that the differences are minuscule because they've only just started that version? I think we only have to change the referenced metaschema for draft-07. The draft-07 schema is at the normal link (which would require a one character change), but I don?t know if that?s the official URL. I believe references to schemas will vary drastically with draft-08 if it ever comes out, or they may continue to offer a compatible single point of reference. I think we should go with the one character change, and upgrade to draft-08 once we have the autogenerated schema. John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 00:38:24 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 03:38:24 -0400 Subject: [x3d-public] X3D JSON Schema Updates In-Reply-To: <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> Message-ID: <5ad3016e.46d1370a.fbe6c.4e76@mx.google.com> The only differences between the draft06 and draft07 X3D JSON schema is the following diff: $ diff x3d-3.3-JSONSchema.json ~/x3droundtrip/ 2c2 < "$schema": "http://json-schema.org/draft-06/schema#", --- > "$schema": "http://json-schema.org/draft-07/schema#", So it should be simple to bring up to draft-07. I will file a specification comment. Done. John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 15, 2018 2:59 AM To: Don Brutzman; x3d-public at web3d.org; X3D Graphics member mailing list; npolys at vt.edu Subject: RE: X3D JSON Schema Updates Don?s comments are in green, mine are varied colored. Sorry for the early send. John Sent from Mail for Windows 10 From: Don Brutzman 3. *Next Steps.* Just prior to this task, I have separately added some minimum-allowed values to X3D XML Schema constraints on various SFTime duration fields.? They are all tested in X3DJSAIL satisfactorily. Hoping you can inspect them.? If agreed, please apply them to the JSON schema. ??????????????? https://sourceforge.net/p/x3d/code/26640/#diff-4 Checking 3.3 standard: X3DSoundSourceNode duration_changed Minimum Inclusive: -1 Not present in standard: https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/sound.html#X3DSoundSourceNode Note:? This is the only -1 minimum in the schema for these patches, correct? X3DTimeDependentNode elapsedTime Minimum Inclusive: 0 timestamp Minimum Inclusive: 0 cycleInterval Minimum Inclusive: 0 readInterval Minimum Inclusive: 0 writeInterval Minimum Inclusive: 0 Not present in standard: https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#X3DTimeDependentNode TimeSensor cycleTime Minimum Inclusive: 0 time Minimum Inclusive: 0 Minimums not included in standard: https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor X3DNetworkSensorNode readInterval Minimum Inclusive: 0 writeInterval Minimum Inclusive: 0 timestamp Minimum Inclusive: 0 disableTime Minimum Inclusive: 0 None of these are present in https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/networking.html#X3DNetworkSensorNode I don?t know enough about the standard to show whether these are proper additions or not. You say separately, but I thought this was a group thing.? Can you show me the Mantis issues where we are adding these, so I have a better idea of what I am concurring to? Normally, I copy the 3.3 JSON schema to 3.0, 3.1, 3.2 and 4.0, so that will be what I do. ?If this is drastically different than previous schemas for those versions, let me know.? I don?t know what I?ll do, but at least I?ll know. I think it?s best to autogenerate these schema fields as snippets from the X3DUOM and upgrade the JSON schema by using autogenerated snippets.??? It appears according to the standard that many of these fields are new ones. Plus snippets are less error prone.?? So let?s get them into the object model soon. On 4/11/2018 7:38 AM, John Carlson wrote: > to this mantis: > > http://www.web3d.org/member-only/mantis/view.php?id=1227 I have updated that specification-draft editor issue and assigned it to me.? Will test further before updating draft X3D JSON specification in github. (As noted earlier, it is better to submit spec changes via the spec comment form, since some muttered incantations are involved). Wondering, should we immediately try for draft-07?? Or do you think that the differences are minuscule because they've only just started that version? I think we only have to change the referenced metaschema for draft-07. ?The draft-07 schema is at the normal link (which would require a one character change), but I don?t know if that?s the official URL.? I believe references to schemas will vary drastically with draft-08 if it ever comes out, or they may continue to offer a compatible single point of reference.?? I think we should go with the one character change, and upgrade to draft-08 once we have the autogenerated schema. John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 01:14:55 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 04:14:55 -0400 Subject: [x3d-public] X3D JSON Schema Updates In-Reply-To: <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> Message-ID: <5ad309fd.ed22ed0a.94f46.34c1@mx.google.com> Okay, here are the patches and new schema to the automatically generated X3D 3.3 JSON draft07 schema per the recent X3D Unified Object Model change. Attached, gzipped. Old version is here for now, but will be overwritten when new version is approved: https://raw.githubusercontent.com/coderextreme/X3DJSONLD/master/src/main/schema/x3d-5.0-JSONSchema.json. New version is not checked in. If you approve these changes and give me the Mantis issue for the spec changes, I will backport to the hand generated version of X3D 3.3 JSON schema, and copy fields to other versions (Actually copy a couple of things into the 3.0 version so the items in the archives will pass, and copy to other versions wholesale, after running through jsonlint). Of note: maximum, minimum, enum on several fields. Changes to HAnim. Note that the regex for JSON schema was restored to the draft03 version. We haven?t used regexs yet to my knowledge. Consider adding Arial to the list of fonts in the Object Model, if the field is not already fairly freeform. John -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: x3d-5.0-JSONSchema.json.patch.gz Type: application/x-gzip Size: 1721 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: x3d-5.0-JSONSchema.json.gz Type: application/x-gzip Size: 36151 bytes Desc: not available URL: From yottzumm at gmail.com Sun Apr 15 02:10:12 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 05:10:12 -0400 Subject: [x3d-public] X3D JSON Schema Updates In-Reply-To: <5ad309fd.ed22ed0a.94f46.34c1@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <5ad309fd.ed22ed0a.94f46.34c1@mx.google.com> Message-ID: <5ad316f2.85ae370a.5e4d8.2040@mx.google.com> I may need to include SimpleType in the schema autogenerator. Let me know. I currently check to see if allowAdditionalEnumerationValues is set and if it isn?t, I spit out an enum from the field?s enumeration tag. Actually, I missed one place. So here?s the 3.3 (5.1) schema (autogenerated, jsonlinted) with the patches. Attached, gzipped. You won?t approve this one, but it will probably ultimately be the way we go, unless we can do a oneOf and/or additionalItems on enums (Roy? Got a pattern that works?). Original is here for now, until a new version is approved: https://raw.githubusercontent.com/coderextreme/X3DJSONLD/master/src/main/schema/x3d-5.1-JSONSchema.json With this schema, we no longer have to add font families to the schema. Also review naming scheme for things with |?s. I didn?t quite know what to do to autogenerate them. I really would like to work with someone to polish up the autogenerated schema (make sure both the hand generated and autogenerated schemas reject and accept the same files?or know why they don?t), so we can release it. We need people with an eye for detail, who can spot bugs in detailed error reports and JSON files (with some guidance), and can pick up JSON schema fast. I will see if I can find or pay someone to do it. John -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: x3d-5.1-JSONSchema.json.patch.gz Type: application/x-gzip Size: 2534 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: x3d-5.1-JSONSchema.json.gz Type: application/x-gzip Size: 34247 bytes Desc: not available URL: From yottzumm at gmail.com Sun Apr 15 07:42:36 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 10:42:36 -0400 Subject: [x3d-public] weird jar behavior Message-ID: <5ad364da.1162370a.22389.4d47@mx.google.com> Does anyone know why this would hang at the end of the jar file, but only some of the time? $ type jar jar is hashed (/c/Program Files/Java/jdk-10/bin/jar) $ jar -tf ~/Downloads/X3dExampleArchivesJsonScenes.zip [ lots of output, then hang ] Even this hangs sometimes: $ type jar.exe jar.exe is /c/Program Files/Java/jdk-10/bin/jar.exe $ jar.exe -tf ~/Downloads/X3dExampleArchivesJsonScenes.zip [ lots of output, then hang ] It?s probably because I?m running bash (MINGW64: Git Bash) under Windows 10. Sigh! No problems seen with Command Prompt yet. Hitting Enter seems to work! At least I have a workaround! These appears to be related: https://superuser.com/questions/1221706/bash-on-ubuntu-for-windows-hangs-until-i-press-enter https://stackoverflow.com/questions/30418886/how-and-why-does-quickedit-mode-in-command-prompt-freeze-applications Perhaps it?s time to upgrade my Git Bash? John -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Sun Apr 15 12:30:18 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 15 Apr 2018 12:30:18 -0700 Subject: [x3d-public] X3D JSON Schema Updates In-Reply-To: <5ad2ec65.45b9370a.9810a.1eda@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ec65.45b9370a.9810a.1eda@mx.google.com> Message-ID: <44b40942-f525-6842-8dc2-906f3efb3b1e@nps.edu> yes certainly. On 4/14/2018 11:08 PM, John Carlson wrote: > Also, > > ??????????????? "maximum": ?, > > ??????????????? "exclusiveMaximum": true, > > to > > ??????????????? "exclusiveMaximum": ?, 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 http://faculty.nps.edu/brutzman From brutzman at nps.edu Sun Apr 15 13:45:18 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 15 Apr 2018 13:45:18 -0700 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraints for SFTime durations and timestamps In-Reply-To: <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> Message-ID: <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> [summary: SFTime durations are now better handled in tooltips/schema and object model, but further review is needed for absolute times with "negative" time values.] On 4/14/2018 11:59 PM, John Carlson wrote: > Don?s comments are in green, mine are varied colored. [I have set my mailer's defaults for text, this is probably better for readability in mail archives.] > Sorry for the early send. > > John [no worries, thanks for great review/feedback] ========================== > *From: *Don Brutzman > > 3. *Next Steps.* > > Just prior to this task, I have separately added some minimum-allowed values to X3D XML Schema constraints on various SFTime duration fields.? They are all tested in X3DJSAIL satisfactorily. Hoping you can inspect them.? If agreed, please apply them to the JSON schema. > > https://sourceforge.net/p/x3d/code/26640/#diff-4 > > Checking 3.3 standard: > > X3DSoundSourceNode > > duration_changed > > Minimum Inclusive: -1 > > Not present in standard: > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/sound.html#X3DSoundSourceNode > > Note:? This is the only -1 minimum in the schema for these patches, correct? Correct, so far. That -1 minimum value was included due to an X3D Abstract Specification note in AudioClip, which also appears in MovieTexture. http://www.web3d.org/x3d/tooltips/X3dTooltips.html#AudioClip.duration_changed http://www.web3d.org/x3d/tooltips/X3dTooltips.html#MovieTexture.duration_changed "duration_changed is length of time in seconds for one cycle of media stream. Warning: duration value of -1 implies that media data has not yet loaded or is unavailable for some reason." The tooltip is derived from nearly identical statements in X3D Abstract Spec, 16.4.1 AudioClip http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#AudioClip and also 18.4.2 MovieTexture http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/texturing.html#MovieTexture Note duration_changed is an SFTime duration interval, normally nonnegative, and not an absolute clock time. So using -1 as a sentinel value for missing media makes sense in this case. > X3DTimeDependentNode > > elapsedTime > > Minimum Inclusive: 0 elapsedTime is a TimeSensor field measuring duration: 8.4.1 TimeSensor http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor > timestamp > > Minimum Inclusive: 0 this field is from DIS component, for several nodes, which comes from received DIS PDU packet. So -1 is not a valid outputOnly event value. > cycleInterval > > Minimum Inclusive: 0 > > readInterval > > Minimum Inclusive: 0 > > writeInterval > > Minimum Inclusive: 0 The rest of these are durations, not absolute times. Thus nonnegative. > Not present in standard: > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#X3DTimeDependentNode >> TimeSensor > > cycleTime > > Minimum Inclusive: 0 > > time > > Minimum Inclusive: 0 > > Minimums not included in standard: > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor Yes, I think those allowed-range minimums are omissions that need to be added to specification (especially since -1 is not a meaningful duration value). > X3DNetworkSensorNode > > readInterval > > Minimum Inclusive: 0 > > writeInterval > > Minimum Inclusive: 0 > > timestamp > > Minimum Inclusive: 0 Actually those range limits [0, infinity) are found in multiple respective node signatures where they appear, in DIS component: 28 Distributed interactive simulation (DIS) component http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/dis.html *Another specification comment*: we might consider allowing 0 for readInterval and writeInterval values, perhaps allowing it as a browser-handled special case corresponding to IEEE DIS Specification read/write rules.. > disableTime > > Minimum Inclusive: 0 > > None of these are present in > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/networking.html#X3DNetworkSensorNode Field disableTime appears in both RigidBody and RigidBodyCollection, and is another duration value: 37.4.10 RigidBody http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/rigid_physics.html#RigidBody 37.4.11 RigidBodyCollection http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/rigid_physics.html#RigidBodyCollection "The disable fields define conditions for when the body ceases to considered as part of the rigid body calculations and should be considered as at rest." So all of the preceding output fields are time durations, and the limits are justifiable. Specification comment to follow - but there is a bit more to think through first. ========================== 4. Next, moving past durations (which are not negative since time only progresses) to absolute time values. Note that by definition, SFTime-typed fields can have either be -1, 0 or positive double-precision values. 5.3.15 SFTime and MFTime http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/fieldsDef.html#SFTimeAndMFTime "Time values are specified as the number of seconds from a specific time origin. Typically, SFTime fields represent the number of seconds since Jan 1, 1970, 00:00:00 GMT. The default value of an uninitialized SFTime field is -1." I think we need to honor that range restriction in the XML and JSON schema (indeed the X3D Unified Object Model). However this would be a good discussion topic first. Was wondering if there ever cases where negative values for SFTime other than -1 are useful... didn't think so, based on the preceding clause 5.3.15. Then found this: 8.2.2 Time origin http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#Timemodel "Time (0.0) is equivalent to 00:00:00 GMT January 1, 1970. Absolute times are specified in SFTime or MFTime fields as double-precision floating point numbers representing seconds. Negative absolute times are interpreted as happening before 1970." So there may be a semantic mismatch here... do we indeed allow negative SFTime values? Can reserved -1 sentinel values indicate special semantics without interfering with negative time values? Hmmm... One can easily imagine a historical use case where we want to synchronize animations of historic events... so if we didn't allow negative values, then we would likely need a TimeOrigin or other mechanism... So we really need to get clear on SFTime representations. > I don?t know enough about the standard to show whether these are proper additions or not. Am mainly hoping that you can apply these duration constraints consistently within the JSON schema, so that we keep them synchronized. > You say separately, but I thought this was a group thing.? Can you show me the Mantis issues where we are adding these, so I have a better idea of what I am concurring to? Hope this helps. Spec issues will follow, using Spec Feedback Form and Mantis - just didn't want to muddle things prematurely while posing/testing duration changes. This email thread gets the ball rolling (or perhaps the clock ticking!)... we will need an X3D Working Group call to tackle this topic and look at SFTime issues/actions. ========================== 5. Next, regarding X3D JSON Schema. > Normally, I copy the 3.3 JSON schema to 3.0, 3.1, 3.2 and 4.0, so that will be what I do. ?If this is drastically different than previous schemas for those versions, let me know.? I don?t know what I?ll do, but at least I?ll know. You can see all the variations corresponding to X3D versions in the specification itself: X3D Abstract Specification, Annex Z (normative) Version content http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/versionContent.html So yes there are a lot of differences. Each time we get modifications to X3D XML DTD or Schema it usually takes me maybe two hours to carefully apply diffs from X3D v3.3 to versions 3.0, 3.1, 3.2 and 4.0 then update documentation. > I think it?s best to autogenerate these schema fields as snippets from the X3DUOM and upgrade the JSON schema by using autogenerated snippets.??? It appears according to the standard that many of these fields are new ones. Plus snippets are less error prone.?? So let?s get them into the object model soon. Agreed, that is getting onto my long-range radar... autogenerating JSON Schema via XSLT stylesheet will be an excellent test of X3D Unified Object Model, and prose/links i that page are now updated online as well. X3D Unified Object Model (X3DUOM) http://www.web3d.org/specifications/X3DUOM.html Extra-credit issues: a. generating X3DObjectModel-3.3.xml files for each X3D version http://www.web3d.org/specifications/X3DObjectModel-3.3.xml b. both X3DJSAIL and X3DJSONLD may have enough information embedded already to generate matching JSON schemas. > On 4/11/2018 7:38 AM, John Carlson wrote: > > > to this mantis: > > > http://www.web3d.org/member-only/mantis/view.php?id=1227 > > I have updated that specification-draft editor issue and assigned it to me.? Will test further before updating draft X3D JSON specification in github. > > (As noted earlier, it is better to submit spec changes via the spec comment form, since some muttered incantations are involved). > > Wondering, should we immediately try for draft-07?? Or do you think that the differences are minuscule because they've only just started that version? > > I think we only have to change the referenced metaschema for draft-07. ?The draft-07 schema is at the normal link (which would require a one character change), but I don?t know if that?s the official URL.? I believe references to schemas will vary drastically with draft-08 if it ever comes out, or they may continue to offer a compatible single point of reference.?? I think we should go with the one character change, and upgrade to draft-08 once we have the autogenerated schema. > > John again thanks for all scrutiny, these are important to get right. interlocking toolsets are certainly helping us "dial in" everything with precision. 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 http://faculty.nps.edu/brutzman From brutzman at nps.edu Sun Apr 15 13:50:41 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 15 Apr 2018 13:50:41 -0700 Subject: [x3d-public] X3D JSON Schema Updates In-Reply-To: <5ad3016e.46d1370a.fbe6c.4e76@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <5ad3016e.46d1370a.fbe6c.4e76@mx.google.com> Message-ID: <4c9fb841-7824-ae9e-4245-97918d33f3c7@nps.edu> well sure, currently trivial, but actually we have to first figure out if that IETF working group has stabilized draft07 or not. there is no point to advancing to draft-07 if they aren't complete. it might be stable and unchanged except for version number if they are simply reacting to the IETF 6-months periodicity. anyone willing to check with them and continue to track their progress? On 4/15/2018 12:38 AM, John Carlson wrote: > The only differences between the draft06 and draft07 X3D JSON schema is the following diff: > > $ diff x3d-3.3-JSONSchema.json ~/x3droundtrip/ > > 2c2 > > > --- > > >?????? "$schema": "http://json-schema.org/draft-07/schema#", > > So it should be simple to bring up to draft-07. > > I will file a specification comment. Done. > > John > > Sent from Mail for Windows 10 > > *From: *John Carlson > *Sent: *Sunday, April 15, 2018 2:59 AM > *To: *Don Brutzman ; x3d-public at web3d.org ; X3D Graphics member mailing list ; npolys at vt.edu > *Subject: *RE: X3D JSON Schema Updates > > Don?s comments are in green, mine are varied colored. > > Sorry for the early send. > > John > > Sent from Mail for Windows 10 > > *From: *Don Brutzman > > 3. *Next Steps.* > > Just prior to this task, I have separately added some minimum-allowed values to X3D XML Schema constraints on various SFTime duration fields.? They are all tested in X3DJSAIL satisfactorily. Hoping you can inspect them.? If agreed, please apply them to the JSON schema. > > https://sourceforge.net/p/x3d/code/26640/#diff-4 > > Checking 3.3 standard: > > X3DSoundSourceNode > > duration_changed > > Minimum Inclusive: -1 > > Not present in standard: > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/sound.html#X3DSoundSourceNode > > Note:? This is the only -1 minimum in the schema for these patches, correct? > > X3DTimeDependentNode > > elapsedTime > > Minimum Inclusive: 0 > > timestamp > > Minimum Inclusive: 0 > > cycleInterval > > Minimum Inclusive: 0 > > readInterval > > Minimum Inclusive: 0 > > writeInterval > > Minimum Inclusive: 0 > > Not present in standard: > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#X3DTimeDependentNode > > TimeSensor > > cycleTime > > Minimum Inclusive: 0 > > time > > Minimum Inclusive: 0 > > Minimums not included in standard: > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor > > X3DNetworkSensorNode > > readInterval > > Minimum Inclusive: 0 > > writeInterval > > Minimum Inclusive: 0 > > timestamp > > Minimum Inclusive: 0 > > disableTime > > Minimum Inclusive: 0 > > None of these are present in > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/networking.html#X3DNetworkSensorNode > > I don?t know enough about the standard to show whether these are proper additions or not. You say separately, but I thought this was a group thing.? Can you show me the Mantis issues where we are adding these, so I have a better idea of what I am concurring to? > > Normally, I copy the 3.3 JSON schema to 3.0, 3.1, 3.2 and 4.0, so that will be what I do. ?If this is drastically different than previous schemas for those versions, let me know.? I don?t know what I?ll do, but at least I?ll know. > > I think it?s best to autogenerate these schema fields as snippets from the X3DUOM and upgrade the JSON schema by using autogenerated snippets.??? It appears according to the standard that many of these fields are new ones. Plus snippets are less error prone.?? So let?s get them into the object model soon. > > On 4/11/2018 7:38 AM, John Carlson wrote: > > > to this mantis: > > > > > > http://www.web3d.org/member-only/mantis/view.php?id=1227 > > I have updated that specification-draft editor issue and assigned it to me.? Will test further before updating draft X3D JSON specification in github. > > (As noted earlier, it is better to submit spec changes via the spec comment form, since some muttered incantations are involved). > > Wondering, should we immediately try for draft-07?? Or do you think that the differences are minuscule because they've only just started that version? > > I think we only have to change the referenced metaschema for draft-07. ?The draft-07 schema is at the normal link (which would require a one character change), but I don?t know if that?s the official URL.? I believe references to schemas will vary drastically with draft-08 if it ever comes out, or they may continue to offer a compatible single point of reference.?? I think we should go with the one character change, and upgrade to draft-08 once we have the autogenerated schema. > > John > 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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Sun Apr 15 15:56:32 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 22:56:32 +0000 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraints for SFTime durations and timestamps In-Reply-To: <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> Message-ID: On Sun, Apr 15, 2018, 4:47 PM Don Brutzman wrote: > > This email thread gets the ball rolling (or perhaps the clock ticking!)... > we will need an X3D Working Group call to tackle this topic and look at > SFTime issues/actions. > Let's see if other people chime in. > ========================== > > 5. Next, regarding X3D JSON Schema. > > > Normally, I copy the 3.3 JSON schema to 3.0, 3.1, 3.2 and 4.0, so that > will be what I do. If this is drastically different than previous schemas > for those versions, let me know. I don?t know what I?ll do, but at least > I?ll know. > > You can see all the variations corresponding to X3D versions in the > specification itself: > > X3D Abstract Specification, Annex Z (normative) Version content > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/versionContent.html > > So yes there are a lot of differences. Each time we get modifications to > X3D XML DTD or Schema it usually takes me maybe two hours to carefully > apply diffs from X3D v3.3 to versions 3.0, 3.1, 3.2 and 4.0 then update > documentation. > Okay, perhaps it is time to start generating the other versions for the X3DUOM. > > > I think it?s best to autogenerate these schema fields as snippets from > the X3DUOM and upgrade the JSON schema by using autogenerated snippets. > It appears according to the standard that many of these fields are new > ones. Plus snippets are less error prone. So let?s get them into the > object model soon. > It looks like some already are? > Agreed, that is getting onto my long-range radar... autogenerating JSON > Schema via XSLT stylesheet will be an excellent test of X3D Unified Object > Model, and prose/links i that page are now updated online as well. > Please do not spend time on this. It's more important to get more versions of the object model. > X3D Unified Object Model (X3DUOM) > http://www.web3d.org/specifications/X3DUOM.html > > Extra-credit issues: > a. generating X3DObjectModel-3.3.xml files for each X3D version > http://www.web3d.org/specifications/X3DObjectModel-3.3.xml That's your task, Don, or someone who is familiar with your builds/Xslt. > > > b. both X3DJSAIL and X3DJSONLD may have enough information embedded > already to generate matching JSON schemas. > Yes, given an X3DUOM file, I should be able to create a python script or shell script which generates the JSON schema for each version with some slight modifications (commandline parameters). We just need the X3DUOM files and a bit more testing validation of the JSON schema. That already exists (My 5.0 and 5.1 schemas I posted). Unless of course, you want to create the mother of all X3DUOM files and put all the versions in one file. We can certainly do that, but I will still probably separate out the JSON schema versions. -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 16:12:11 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 23:12:11 +0000 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraints for SFTime durations and timestamps In-Reply-To: <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> Message-ID: It is hard to look at the XML schema diffs and see that you are modifying the right thing. Perhaps you could create annotated diffs? I can also create annotated JSON schema diffs if desired, and the X3DUOM supports it (I need the old version perhaps). That will tell us if the whole thing is working. I have already produced some diffs. Should I annotate them (by hand first)? Perhaps this would be a new product, producing annotated diffs of X3DUOM. I think it would be easier to review and analyze than XML Schema. Thanks! John On Sun, Apr 15, 2018, 4:47 PM Don Brutzman wrote: > [summary: SFTime durations are now better handled in tooltips/schema and > object model, but further review is needed for absolute times with > "negative" time values.] > > On 4/14/2018 11:59 PM, John Carlson wrote: > > Don?s comments are in green, mine are varied colored. > > [I have set my mailer's defaults for text, this is probably better for > readability in mail archives.] > > > Sorry for the early send. > > > > John > > [no worries, thanks for great review/feedback] > > ========================== > > > *From: *Don Brutzman > > > > 3. *Next Steps.* > > > > Just prior to this task, I have separately added some minimum-allowed > values to X3D XML Schema constraints on various SFTime duration fields. > They are all tested in X3DJSAIL satisfactorily. Hoping you can inspect > them. If agreed, please apply them to the JSON schema. > > > > https://sourceforge.net/p/x3d/code/26640/#diff-4 > > > > Checking 3.3 standard: > > > > X3DSoundSourceNode > > > > duration_changed > > > > Minimum Inclusive: -1 > > > > Not present in standard: > > > > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/sound.html#X3DSoundSourceNode > > > > Note: This is the only -1 minimum in the schema for these patches, > correct? > > Correct, so far. That -1 minimum value was included due to an X3D > Abstract Specification note in AudioClip, which also appears in > MovieTexture. > > > http://www.web3d.org/x3d/tooltips/X3dTooltips.html#AudioClip.duration_changed > > http://www.web3d.org/x3d/tooltips/X3dTooltips.html#MovieTexture.duration_changed > "duration_changed is length of time in seconds for one cycle of media > stream. Warning: duration value of -1 implies that media data has not yet > loaded or is unavailable for some reason." > > The tooltip is derived from nearly identical statements in X3D Abstract > Spec, 16.4.1 AudioClip > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#AudioClip > and also 18.4.2 MovieTexture > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/texturing.html#MovieTexture > > Note duration_changed is an SFTime duration interval, normally > nonnegative, and not an absolute clock time. So using -1 as a sentinel > value for missing media makes sense in this case. > > > X3DTimeDependentNode > > > > elapsedTime > > > > Minimum Inclusive: 0 > > elapsedTime is a TimeSensor field measuring duration: > > 8.4.1 TimeSensor > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor > > > timestamp > > > > Minimum Inclusive: 0 > > this field is from DIS component, for several nodes, which comes from > received DIS PDU packet. So -1 is not a valid outputOnly event value. > > > cycleInterval > > > > Minimum Inclusive: 0 > > > > readInterval > > > > Minimum Inclusive: 0 > > > > writeInterval > > > > Minimum Inclusive: 0 > > The rest of these are durations, not absolute times. Thus nonnegative. > > > Not present in standard: > > > > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#X3DTimeDependentNode > >> TimeSensor > > > > cycleTime > > > > Minimum Inclusive: 0 > > > > time > > > > Minimum Inclusive: 0 > > > > Minimums not included in standard: > > > > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor > > Yes, I think those allowed-range minimums are omissions that need to be > added to specification (especially since -1 is not a meaningful duration > value). > > > X3DNetworkSensorNode > > > > readInterval > > > > Minimum Inclusive: 0 > > > > writeInterval > > > > Minimum Inclusive: 0 > > > > timestamp > > > > Minimum Inclusive: 0 > > Actually those range limits [0, infinity) are found in multiple respective > node signatures where they appear, in DIS component: > > 28 Distributed interactive simulation (DIS) component > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/dis.html > > *Another specification comment*: we might consider allowing 0 for > readInterval and writeInterval values, perhaps allowing it as a > browser-handled special case corresponding to IEEE DIS Specification > read/write rules.. > > > disableTime > > > > Minimum Inclusive: 0 > > > > None of these are present in > > > > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/networking.html#X3DNetworkSensorNode > Field disableTime appears in both RigidBody and RigidBodyCollection, and > is another duration value: > > 37.4.10 RigidBody > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/rigid_physics.html#RigidBody > 37.4.11 RigidBodyCollection > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/rigid_physics.html#RigidBodyCollection > > "The disable fields define conditions for when the body ceases to > considered as part of the rigid body calculations and should be considered > as at rest." > > So all of the preceding output fields are time durations, and the limits > are justifiable. Specification comment to follow - but there is a bit more > to think through first. > > ========================== > > 4. Next, moving past durations (which are not negative since time only > progresses) to absolute time values. Note that by definition, SFTime-typed > fields can have either be -1, 0 or positive double-precision values. > > 5.3.15 SFTime and MFTime > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/fieldsDef.html#SFTimeAndMFTime > "Time values are specified as the number of seconds from a specific time > origin. Typically, SFTime fields represent the number of seconds since Jan > 1, 1970, 00:00:00 GMT. The default value of an uninitialized SFTime field > is -1." > > I think we need to honor that range restriction in the XML and JSON schema > (indeed the X3D Unified Object Model). However this would be a good > discussion topic first. > > Was wondering if there ever cases where negative values for SFTime other > than -1 are useful... didn't think so, based on the preceding clause > 5.3.15. Then found this: > > 8.2.2 Time origin > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#Timemodel > "Time (0.0) is equivalent to 00:00:00 GMT January 1, 1970. Absolute times > are specified in SFTime or MFTime fields as double-precision floating point > numbers representing seconds. Negative absolute times are interpreted as > happening before 1970." > > So there may be a semantic mismatch here... do we indeed allow negative > SFTime values? Can reserved -1 sentinel values indicate special semantics > without interfering with negative time values? Hmmm... > > One can easily imagine a historical use case where we want to synchronize > animations of historic events... so if we didn't allow negative values, > then we would likely need a TimeOrigin or other mechanism... > > So we really need to get clear on SFTime representations. > > > I don?t know enough about the standard to show whether these are proper > additions or not. > > Am mainly hoping that you can apply these duration constraints > consistently within the JSON schema, so that we keep them synchronized. > > > You say separately, but I thought this was a group thing. Can you show > me the Mantis issues where we are adding these, so I have a better idea of > what I am concurring to? > > Hope this helps. Spec issues will follow, using Spec Feedback Form and > Mantis - just didn't want to muddle things prematurely while posing/testing > duration changes. > > This email thread gets the ball rolling (or perhaps the clock ticking!)... > we will need an X3D Working Group call to tackle this topic and look at > SFTime issues/actions. > > ========================== > > 5. Next, regarding X3D JSON Schema. > > > Normally, I copy the 3.3 JSON schema to 3.0, 3.1, 3.2 and 4.0, so that > will be what I do. If this is drastically different than previous schemas > for those versions, let me know. I don?t know what I?ll do, but at least > I?ll know. > > You can see all the variations corresponding to X3D versions in the > specification itself: > > X3D Abstract Specification, Annex Z (normative) Version content > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/versionContent.html > > So yes there are a lot of differences. Each time we get modifications to > X3D XML DTD or Schema it usually takes me maybe two hours to carefully > apply diffs from X3D v3.3 to versions 3.0, 3.1, 3.2 and 4.0 then update > documentation. > > > I think it?s best to autogenerate these schema fields as snippets from > the X3DUOM and upgrade the JSON schema by using autogenerated snippets. > It appears according to the standard that many of these fields are new > ones. Plus snippets are less error prone. So let?s get them into the > object model soon. > > Agreed, that is getting onto my long-range radar... autogenerating JSON > Schema via XSLT stylesheet will be an excellent test of X3D Unified Object > Model, and prose/links i that page are now updated online as well. > > X3D Unified Object Model (X3DUOM) > http://www.web3d.org/specifications/X3DUOM.html > > Extra-credit issues: > a. generating X3DObjectModel-3.3.xml files for each X3D version > http://www.web3d.org/specifications/X3DObjectModel-3.3.xml > > b. both X3DJSAIL and X3DJSONLD may have enough information embedded > already to generate matching JSON schemas. > > > > On 4/11/2018 7:38 AM, John Carlson wrote: > > > > > to this mantis: > > > > > http://www.web3d.org/member-only/mantis/view.php?id=1227 > > > > I have updated that specification-draft editor issue and assigned it to > me. Will test further before updating draft X3D JSON specification in > github. > > > > (As noted earlier, it is better to submit spec changes via the spec > comment form, since some muttered incantations are involved). > > > > Wondering, should we immediately try for draft-07? Or do you think that > the differences are minuscule because they've only just started that > version? > > > > I think we only have to change the referenced metaschema for draft-07. > The draft-07 schema is at the normal link (which would require a one > character change), but I don?t know if that?s the official URL. I believe > references to schemas will vary drastically with draft-08 if it ever comes > out, or they may continue to offer a compatible single point of > reference. I think we should go with the one character change, and > upgrade to draft-08 once we have the autogenerated schema. > > > > John > > again thanks for all scrutiny, these are important to get right. > interlocking toolsets are certainly helping us "dial in" everything with > precision. > > 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 > http://faculty.nps.edu/brutzman > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 16:23:21 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 23:23:21 +0000 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraints for SFTime durations and timestamps In-Reply-To: <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> Message-ID: On Sun, Apr 15, 2018, 4:47 PM Don Brutzman wrote: > > You can see all the variations corresponding to X3D versions in the > specification itself: > > X3D Abstract Specification, Annex Z (normative) Version content > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/versionContent.html If you had this in processable form instead of HTML, it would be easier to to create the other versions. Or we could screen scrape it with beautiful soup or elementtree. Let me know the best approach. I think we can speed up your process below. John > > > So yes there are a lot of differences. Each time we get modifications to > X3D XML DTD or Schema it usually takes me maybe two hours to carefully > apply diffs from X3D v3.3 to versions 3.0, 3.1, 3.2 and 4.0 then update > documentation. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 16:41:07 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 23:41:07 +0000 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraints for SFTime durations and timestamps In-Reply-To: <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> Message-ID: I think we should spend some time round tripping the X3DUOM back to XML schema, rather than Don going off and producing a JSON schema. Plus we should work on generating XML schema versions from the X3DUOM and the version content in the standard. If someone could guide me, I can start work on taking JSON schema back to XML. I will try to reach out to the JSON schema folks for help. We might find ways to enhance JSON schema this way. John On Sun, Apr 15, 2018, 4:47 PM Don Brutzman wrote: > [summary: SFTime durations are now better handled in tooltips/schema and > object model, but further review is needed for absolute times with > "negative" time values.] > > On 4/14/2018 11:59 PM, John Carlson wrote: > > Don?s comments are in green, mine are varied colored. > > [I have set my mailer's defaults for text, this is probably better for > readability in mail archives.] > > > Sorry for the early send. > > > > John > > [no worries, thanks for great review/feedback] > > ========================== > > > *From: *Don Brutzman > > > > 3. *Next Steps.* > > > > Just prior to this task, I have separately added some minimum-allowed > values to X3D XML Schema constraints on various SFTime duration fields. > They are all tested in X3DJSAIL satisfactorily. Hoping you can inspect > them. If agreed, please apply them to the JSON schema. > > > > https://sourceforge.net/p/x3d/code/26640/#diff-4 > > > > Checking 3.3 standard: > > > > X3DSoundSourceNode > > > > duration_changed > > > > Minimum Inclusive: -1 > > > > Not present in standard: > > > > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/sound.html#X3DSoundSourceNode > > > > Note: This is the only -1 minimum in the schema for these patches, > correct? > > Correct, so far. That -1 minimum value was included due to an X3D > Abstract Specification note in AudioClip, which also appears in > MovieTexture. > > > http://www.web3d.org/x3d/tooltips/X3dTooltips.html#AudioClip.duration_changed > > http://www.web3d.org/x3d/tooltips/X3dTooltips.html#MovieTexture.duration_changed > "duration_changed is length of time in seconds for one cycle of media > stream. Warning: duration value of -1 implies that media data has not yet > loaded or is unavailable for some reason." > > The tooltip is derived from nearly identical statements in X3D Abstract > Spec, 16.4.1 AudioClip > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#AudioClip > and also 18.4.2 MovieTexture > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/texturing.html#MovieTexture > > Note duration_changed is an SFTime duration interval, normally > nonnegative, and not an absolute clock time. So using -1 as a sentinel > value for missing media makes sense in this case. > > > X3DTimeDependentNode > > > > elapsedTime > > > > Minimum Inclusive: 0 > > elapsedTime is a TimeSensor field measuring duration: > > 8.4.1 TimeSensor > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor > > > timestamp > > > > Minimum Inclusive: 0 > > this field is from DIS component, for several nodes, which comes from > received DIS PDU packet. So -1 is not a valid outputOnly event value. > > > cycleInterval > > > > Minimum Inclusive: 0 > > > > readInterval > > > > Minimum Inclusive: 0 > > > > writeInterval > > > > Minimum Inclusive: 0 > > The rest of these are durations, not absolute times. Thus nonnegative. > > > Not present in standard: > > > > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#X3DTimeDependentNode > >> TimeSensor > > > > cycleTime > > > > Minimum Inclusive: 0 > > > > time > > > > Minimum Inclusive: 0 > > > > Minimums not included in standard: > > > > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor > > Yes, I think those allowed-range minimums are omissions that need to be > added to specification (especially since -1 is not a meaningful duration > value). > > > X3DNetworkSensorNode > > > > readInterval > > > > Minimum Inclusive: 0 > > > > writeInterval > > > > Minimum Inclusive: 0 > > > > timestamp > > > > Minimum Inclusive: 0 > > Actually those range limits [0, infinity) are found in multiple respective > node signatures where they appear, in DIS component: > > 28 Distributed interactive simulation (DIS) component > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/dis.html > > *Another specification comment*: we might consider allowing 0 for > readInterval and writeInterval values, perhaps allowing it as a > browser-handled special case corresponding to IEEE DIS Specification > read/write rules.. > > > disableTime > > > > Minimum Inclusive: 0 > > > > None of these are present in > > > > > https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/networking.html#X3DNetworkSensorNode > Field disableTime appears in both RigidBody and RigidBodyCollection, and > is another duration value: > > 37.4.10 RigidBody > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/rigid_physics.html#RigidBody > 37.4.11 RigidBodyCollection > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/rigid_physics.html#RigidBodyCollection > > "The disable fields define conditions for when the body ceases to > considered as part of the rigid body calculations and should be considered > as at rest." > > So all of the preceding output fields are time durations, and the limits > are justifiable. Specification comment to follow - but there is a bit more > to think through first. > > ========================== > > 4. Next, moving past durations (which are not negative since time only > progresses) to absolute time values. Note that by definition, SFTime-typed > fields can have either be -1, 0 or positive double-precision values. > > 5.3.15 SFTime and MFTime > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/fieldsDef.html#SFTimeAndMFTime > "Time values are specified as the number of seconds from a specific time > origin. Typically, SFTime fields represent the number of seconds since Jan > 1, 1970, 00:00:00 GMT. The default value of an uninitialized SFTime field > is -1." > > I think we need to honor that range restriction in the XML and JSON schema > (indeed the X3D Unified Object Model). However this would be a good > discussion topic first. > > Was wondering if there ever cases where negative values for SFTime other > than -1 are useful... didn't think so, based on the preceding clause > 5.3.15. Then found this: > > 8.2.2 Time origin > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#Timemodel > "Time (0.0) is equivalent to 00:00:00 GMT January 1, 1970. Absolute times > are specified in SFTime or MFTime fields as double-precision floating point > numbers representing seconds. Negative absolute times are interpreted as > happening before 1970." > > So there may be a semantic mismatch here... do we indeed allow negative > SFTime values? Can reserved -1 sentinel values indicate special semantics > without interfering with negative time values? Hmmm... > > One can easily imagine a historical use case where we want to synchronize > animations of historic events... so if we didn't allow negative values, > then we would likely need a TimeOrigin or other mechanism... > > So we really need to get clear on SFTime representations. > > > I don?t know enough about the standard to show whether these are proper > additions or not. > > Am mainly hoping that you can apply these duration constraints > consistently within the JSON schema, so that we keep them synchronized. > > > You say separately, but I thought this was a group thing. Can you show > me the Mantis issues where we are adding these, so I have a better idea of > what I am concurring to? > > Hope this helps. Spec issues will follow, using Spec Feedback Form and > Mantis - just didn't want to muddle things prematurely while posing/testing > duration changes. > > This email thread gets the ball rolling (or perhaps the clock ticking!)... > we will need an X3D Working Group call to tackle this topic and look at > SFTime issues/actions. > > ========================== > > 5. Next, regarding X3D JSON Schema. > > > Normally, I copy the 3.3 JSON schema to 3.0, 3.1, 3.2 and 4.0, so that > will be what I do. If this is drastically different than previous schemas > for those versions, let me know. I don?t know what I?ll do, but at least > I?ll know. > > You can see all the variations corresponding to X3D versions in the > specification itself: > > X3D Abstract Specification, Annex Z (normative) Version content > > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/versionContent.html > > So yes there are a lot of differences. Each time we get modifications to > X3D XML DTD or Schema it usually takes me maybe two hours to carefully > apply diffs from X3D v3.3 to versions 3.0, 3.1, 3.2 and 4.0 then update > documentation. > > > I think it?s best to autogenerate these schema fields as snippets from > the X3DUOM and upgrade the JSON schema by using autogenerated snippets. > It appears according to the standard that many of these fields are new > ones. Plus snippets are less error prone. So let?s get them into the > object model soon. > > Agreed, that is getting onto my long-range radar... autogenerating JSON > Schema via XSLT stylesheet will be an excellent test of X3D Unified Object > Model, and prose/links i that page are now updated online as well. > > X3D Unified Object Model (X3DUOM) > http://www.web3d.org/specifications/X3DUOM.html > > Extra-credit issues: > a. generating X3DObjectModel-3.3.xml files for each X3D version > http://www.web3d.org/specifications/X3DObjectModel-3.3.xml > > b. both X3DJSAIL and X3DJSONLD may have enough information embedded > already to generate matching JSON schemas. > > > > On 4/11/2018 7:38 AM, John Carlson wrote: > > > > > to this mantis: > > > > > http://www.web3d.org/member-only/mantis/view.php?id=1227 > > > > I have updated that specification-draft editor issue and assigned it to > me. Will test further before updating draft X3D JSON specification in > github. > > > > (As noted earlier, it is better to submit spec changes via the spec > comment form, since some muttered incantations are involved). > > > > Wondering, should we immediately try for draft-07? Or do you think that > the differences are minuscule because they've only just started that > version? > > > > I think we only have to change the referenced metaschema for draft-07. > The draft-07 schema is at the normal link (which would require a one > character change), but I don?t know if that?s the official URL. I believe > references to schemas will vary drastically with draft-08 if it ever comes > out, or they may continue to offer a compatible single point of > reference. I think we should go with the one character change, and > upgrade to draft-08 once we have the autogenerated schema. > > > > John > > again thanks for all scrutiny, these are important to get right. > interlocking toolsets are certainly helping us "dial in" everything with > precision. > > 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 > http://faculty.nps.edu/brutzman > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 16:50:26 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 23:50:26 +0000 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraints for SFTime durations and timestamps In-Reply-To: References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> Message-ID: I think there's potential for creating new formats in JSON schema which reflect X3D types more closely, so that the schema and errors will be more X3Dish. However I am not sure how carried number formats are. John On Sun, Apr 15, 2018, 7:41 PM John Carlson wrote: > I think we should spend some time round tripping the X3DUOM back to XML > schema, rather than Don going off and producing a JSON schema. Plus we > should work on generating XML schema versions from the X3DUOM and the > version content in the standard. > > If someone could guide me, I can start work on taking JSON schema back to > XML. I will try to reach out to the JSON schema folks for help. > > We might find ways to enhance JSON schema this way. > > John > > > On Sun, Apr 15, 2018, 4:47 PM Don Brutzman wrote: > >> [summary: SFTime durations are now better handled in tooltips/schema and >> object model, but further review is needed for absolute times with >> "negative" time values.] >> >> On 4/14/2018 11:59 PM, John Carlson wrote: >> > Don?s comments are in green, mine are varied colored. >> >> [I have set my mailer's defaults for text, this is probably better for >> readability in mail archives.] >> >> > Sorry for the early send. >> > >> > John >> >> [no worries, thanks for great review/feedback] >> >> ========================== >> >> > *From: *Don Brutzman >> > >> > 3. *Next Steps.* >> > >> > Just prior to this task, I have separately added some minimum-allowed >> values to X3D XML Schema constraints on various SFTime duration fields. >> They are all tested in X3DJSAIL satisfactorily. Hoping you can inspect >> them. If agreed, please apply them to the JSON schema. >> > >> > https://sourceforge.net/p/x3d/code/26640/#diff-4 >> > >> > Checking 3.3 standard: >> > >> > X3DSoundSourceNode >> > >> > duration_changed >> > >> > Minimum Inclusive: -1 >> > >> > Not present in standard: >> > >> > >> https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/sound.html#X3DSoundSourceNode >> > >> > Note: This is the only -1 minimum in the schema for these patches, >> correct? >> >> Correct, so far. That -1 minimum value was included due to an X3D >> Abstract Specification note in AudioClip, which also appears in >> MovieTexture. >> >> >> http://www.web3d.org/x3d/tooltips/X3dTooltips.html#AudioClip.duration_changed >> >> http://www.web3d.org/x3d/tooltips/X3dTooltips.html#MovieTexture.duration_changed >> "duration_changed is length of time in seconds for one cycle of media >> stream. Warning: duration value of -1 implies that media data has not yet >> loaded or is unavailable for some reason." >> >> The tooltip is derived from nearly identical statements in X3D Abstract >> Spec, 16.4.1 AudioClip >> >> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#AudioClip >> and also 18.4.2 MovieTexture >> >> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/texturing.html#MovieTexture >> >> Note duration_changed is an SFTime duration interval, normally >> nonnegative, and not an absolute clock time. So using -1 as a sentinel >> value for missing media makes sense in this case. >> >> > X3DTimeDependentNode >> > >> > elapsedTime >> > >> > Minimum Inclusive: 0 >> >> elapsedTime is a TimeSensor field measuring duration: >> >> 8.4.1 TimeSensor >> >> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor >> >> > timestamp >> > >> > Minimum Inclusive: 0 >> >> this field is from DIS component, for several nodes, which comes from >> received DIS PDU packet. So -1 is not a valid outputOnly event value. >> >> > cycleInterval >> > >> > Minimum Inclusive: 0 >> > >> > readInterval >> > >> > Minimum Inclusive: 0 >> > >> > writeInterval >> > >> > Minimum Inclusive: 0 >> >> The rest of these are durations, not absolute times. Thus nonnegative. >> >> > Not present in standard: >> > >> > >> https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#X3DTimeDependentNode >> >> TimeSensor >> > >> > cycleTime >> > >> > Minimum Inclusive: 0 >> > >> > time >> > >> > Minimum Inclusive: 0 >> > >> > Minimums not included in standard: >> > >> > >> https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor >> >> Yes, I think those allowed-range minimums are omissions that need to be >> added to specification (especially since -1 is not a meaningful duration >> value). >> >> > X3DNetworkSensorNode >> > >> > readInterval >> > >> > Minimum Inclusive: 0 >> > >> > writeInterval >> > >> > Minimum Inclusive: 0 >> > >> > timestamp >> > >> > Minimum Inclusive: 0 >> >> Actually those range limits [0, infinity) are found in multiple >> respective node signatures where they appear, in DIS component: >> >> 28 Distributed interactive simulation (DIS) component >> >> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/dis.html >> >> *Another specification comment*: we might consider allowing 0 for >> readInterval and writeInterval values, perhaps allowing it as a >> browser-handled special case corresponding to IEEE DIS Specification >> read/write rules.. >> >> > disableTime >> > >> > Minimum Inclusive: 0 >> > >> > None of these are present in >> > >> > >> https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/networking.html#X3DNetworkSensorNode >> Field disableTime appears in both RigidBody and RigidBodyCollection, and >> is another duration value: >> >> 37.4.10 RigidBody >> >> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/rigid_physics.html#RigidBody >> 37.4.11 RigidBodyCollection >> >> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/rigid_physics.html#RigidBodyCollection >> >> "The disable fields define conditions for when the body ceases to >> considered as part of the rigid body calculations and should be considered >> as at rest." >> >> So all of the preceding output fields are time durations, and the limits >> are justifiable. Specification comment to follow - but there is a bit more >> to think through first. >> >> ========================== >> >> 4. Next, moving past durations (which are not negative since time only >> progresses) to absolute time values. Note that by definition, SFTime-typed >> fields can have either be -1, 0 or positive double-precision values. >> >> 5.3.15 SFTime and MFTime >> >> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/fieldsDef.html#SFTimeAndMFTime >> "Time values are specified as the number of seconds from a specific time >> origin. Typically, SFTime fields represent the number of seconds since Jan >> 1, 1970, 00:00:00 GMT. The default value of an uninitialized SFTime field >> is -1." >> >> I think we need to honor that range restriction in the XML and JSON >> schema (indeed the X3D Unified Object Model). However this would be a good >> discussion topic first. >> >> Was wondering if there ever cases where negative values for SFTime other >> than -1 are useful... didn't think so, based on the preceding clause >> 5.3.15. Then found this: >> >> 8.2.2 Time origin >> >> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#Timemodel >> "Time (0.0) is equivalent to 00:00:00 GMT January 1, 1970. Absolute times >> are specified in SFTime or MFTime fields as double-precision floating point >> numbers representing seconds. Negative absolute times are interpreted as >> happening before 1970." >> >> So there may be a semantic mismatch here... do we indeed allow negative >> SFTime values? Can reserved -1 sentinel values indicate special semantics >> without interfering with negative time values? Hmmm... >> >> One can easily imagine a historical use case where we want to synchronize >> animations of historic events... so if we didn't allow negative values, >> then we would likely need a TimeOrigin or other mechanism... >> >> So we really need to get clear on SFTime representations. >> >> > I don?t know enough about the standard to show whether these are proper >> additions or not. >> >> Am mainly hoping that you can apply these duration constraints >> consistently within the JSON schema, so that we keep them synchronized. >> >> > You say separately, but I thought this was a group thing. Can you show >> me the Mantis issues where we are adding these, so I have a better idea of >> what I am concurring to? >> >> Hope this helps. Spec issues will follow, using Spec Feedback Form and >> Mantis - just didn't want to muddle things prematurely while posing/testing >> duration changes. >> >> This email thread gets the ball rolling (or perhaps the clock >> ticking!)... we will need an X3D Working Group call to tackle this topic >> and look at SFTime issues/actions. >> >> ========================== >> >> 5. Next, regarding X3D JSON Schema. >> >> > Normally, I copy the 3.3 JSON schema to 3.0, 3.1, 3.2 and 4.0, so that >> will be what I do. If this is drastically different than previous schemas >> for those versions, let me know. I don?t know what I?ll do, but at least >> I?ll know. >> >> You can see all the variations corresponding to X3D versions in the >> specification itself: >> >> X3D Abstract Specification, Annex Z (normative) Version content >> >> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/versionContent.html >> >> So yes there are a lot of differences. Each time we get modifications to >> X3D XML DTD or Schema it usually takes me maybe two hours to carefully >> apply diffs from X3D v3.3 to versions 3.0, 3.1, 3.2 and 4.0 then update >> documentation. >> >> > I think it?s best to autogenerate these schema fields as snippets from >> the X3DUOM and upgrade the JSON schema by using autogenerated snippets. >> It appears according to the standard that many of these fields are new >> ones. Plus snippets are less error prone. So let?s get them into the >> object model soon. >> >> Agreed, that is getting onto my long-range radar... autogenerating JSON >> Schema via XSLT stylesheet will be an excellent test of X3D Unified Object >> Model, and prose/links i that page are now updated online as well. >> >> X3D Unified Object Model (X3DUOM) >> http://www.web3d.org/specifications/X3DUOM.html >> >> Extra-credit issues: >> a. generating X3DObjectModel-3.3.xml files for each X3D version >> http://www.web3d.org/specifications/X3DObjectModel-3.3.xml >> >> b. both X3DJSAIL and X3DJSONLD may have enough information embedded >> already to generate matching JSON schemas. >> >> >> > On 4/11/2018 7:38 AM, John Carlson wrote: >> > >> > > to this mantis: >> > >> > > http://www.web3d.org/member-only/mantis/view.php?id=1227 >> > >> > I have updated that specification-draft editor issue and assigned it to >> me. Will test further before updating draft X3D JSON specification in >> github. >> > >> > (As noted earlier, it is better to submit spec changes via the spec >> comment form, since some muttered incantations are involved). >> > >> > Wondering, should we immediately try for draft-07? Or do you think >> that the differences are minuscule because they've only just started that >> version? >> > >> > I think we only have to change the referenced metaschema for draft-07. >> The draft-07 schema is at the normal link (which would require a one >> character change), but I don?t know if that?s the official URL. I believe >> references to schemas will vary drastically with draft-08 if it ever comes >> out, or they may continue to offer a compatible single point of >> reference. I think we should go with the one character change, and >> upgrade to draft-08 once we have the autogenerated schema. >> > >> > John >> >> again thanks for all scrutiny, these are important to get right. >> interlocking toolsets are certainly helping us "dial in" everything with >> precision. >> >> 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 >> http://faculty.nps.edu/brutzman >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Sun Apr 15 20:00:34 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 15 Apr 2018 20:00:34 -0700 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraints for SFTime durations and timestamps In-Reply-To: References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> Message-ID: <4ca0493c-0b63-0e4b-4f54-512c908f556b@nps.edu> [John: minor annoyance, dueling mailer issues. When i Reply using plain text to your MS-html email, it seems like the indentation styles get lost and it is very difficult to say who is saying what...] [I will try to remove or re-indent any prior parts so that the result might be intelligible. Hope that works.] On 4/15/2018 3:56 PM, John Carlson wrote: > > On Sun, Apr 15, 2018, 4:47 PM Don Brutzman > wrote: >> This email thread gets the ball rolling (or perhaps the clock ticking!)... we will need an X3D Working Group call to tackle this topic and look at SFTime issues/actions. > > Let's see if other people chime in. >> ========================== >> >> 5. Next, regarding X3D JSON Schema. >> >> > Normally, I copy the 3.3 JSON schema to 3.0, 3.1, 3.2 and 4.0, so that will be what I do. If this is drastically different than previous schemas for those versions, let me know. I don?t know what I?ll do, but at least I?ll know. I think that you can safely avoid copying and safely avoid worrying about versions. Wait until we autogenerate earlier versions if you want to be strict. In the meantime, the version 3.3 JSON schema should work on all X3D models version 3.0 through 3.3 since we are always so careful about backwards compatibility between versions. Note that each schema validation of X3D element allows prior version numbers. If using 3.3 for all scenes all the time does lead to any problems with JSON validation, please let me know so that we can fix it. >> You can see all the variations corresponding to X3D versions in the specification itself: >> >> X3D Abstract Specification, Annex Z (normative) Version content >> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/versionContent.html >> >> So yes there are a lot of differences. Each time we get modifications to X3D XML DTD or Schema it usually takes me maybe two hours to carefully apply diffs from X3D v3.3 to versions 3.0, 3.1, 3.2 and 4.0 then update documentation. > > Okay, perhaps it is time to start generating the other versions for the X3DUOM. > > > I think it?s best to autogenerate these schema fields as snippets from the X3DUOM and upgrade the JSON schema by using autogenerated snippets.??? It appears according to the standard that many of these fields are new ones. Plus snippets are less error prone.?? So let?s get them into the object model soon. > > It looks like some already are? Yes, changes in the X3D XML schema go into the X3ObjectModel3.3.xml and then into X3DJSAIL, where they get tested. So all of the SFTime duration changes are there. >> Agreed, that is getting onto my long-range radar... autogenerating JSON Schema via XSLT stylesheet will be an excellent test of X3D Unified Object Model, and prose/links i that page are now updated online as well. > Please do not spend time on this.? It's more important to get more versions of the object model. > >> X3D Unified Object Model (X3DUOM) >> http://www.web3d.org/specifications/X3DUOM.html >> >> Extra-credit issues: >> a. generating X3DObjectModel-3.3.xml files for each X3D version >> http://www.web3d.org/specifications/X3DObjectModel-3.3.xml > That's your task, Don, or someone who is familiar with your builds/Xslt. OK, can do... worked today on the build scripts and generation stylesheet. Have renamed several files for better clarity (earlier deferred with Roy) and improved the processing, creating a new object-model file directly, version by version, from each corresponding X3D schema. And so added corresponding matches as follows: http://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml (experimental) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.3.xml (primary) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.2.xml (strict backwards compatibility) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.1.xml (strict backwards compatibility) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.0.xml (strict backwards compatibility) All of these links are now refreshed, committed and online via X3D Unified Object Model (X3DUOM) http://www.web3d.org/specifications/X3DUOM.html > b. both X3DJSAIL and X3DJSONLD may have enough information embedded already to generate matching JSON schemas. > > Yes, given an X3DUOM file, I should be able to create a python script or shell script which generates the JSON schema for each version with some slight modifications (commandline parameters).? ?We just need the X3DUOM files and a bit more testing validation of the JSON schema.? That already exists (My 5.0 and 5.1 schemas I posted). Agreed. Not sure we want that, but it might be interesting task to confirm that round-trip of all unified object model information is available + possible from our implementations. > Unless of course, you want to create the mother of all X3DUOM files and put all the versions in one file.? ?We can certainly do that, but I will still probably separate out the JSON schema versions. Thought about that, but no (or maybe Good Lordy No!!) since it adds yet another layer of complexity without apparent benefit. Keeping each version independent is cleaner and more repeatable. Plenty more to follow, meanwhile... Have fun with the X3d Unified Object Model! 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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Sun Apr 15 20:59:50 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 15 Apr 2018 23:59:50 -0400 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraints for SFTimedurations and timestamps In-Reply-To: <4ca0493c-0b63-0e4b-4f54-512c908f556b@nps.edu> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> <4ca0493c-0b63-0e4b-4f54-512c908f556b@nps.edu> Message-ID: <5ad41fb6.11f5370a.bad1d.03b1@mx.google.com> Don?t forget XvlShell and @headlight under the Object Model 3.0 (I will check). John Sent from Mail for Windows 10 From: Don Brutzman Sent: Sunday, April 15, 2018 11:02 PM To: John Carlson Cc: X3D Graphics public mailing list; X3D Graphics member mailing list; npolys at vt.edu Subject: Re: X3D JSON Schema Updates: determining event constraints for SFTimedurations and timestamps [John: minor annoyance, dueling mailer issues. When i Reply using plain text to your MS-html email, it seems like the indentation styles get lost and it is very difficult to say who is saying what...] [I will try to remove or re-indent any prior parts so that the result might be intelligible. Hope that works.] On 4/15/2018 3:56 PM, John Carlson wrote: > > On Sun, Apr 15, 2018, 4:47 PM Don Brutzman > wrote: >> This email thread gets the ball rolling (or perhaps the clock ticking!)... we will need an X3D Working Group call to tackle this topic and look at SFTime issues/actions. > > Let's see if other people chime in. >> ========================== >> >> 5. Next, regarding X3D JSON Schema. >> >> > Normally, I copy the 3.3 JSON schema to 3.0, 3.1, 3.2 and 4.0, so that will be what I do. If this is drastically different than previous schemas for those versions, let me know. I don?t know what I?ll do, but at least I?ll know. I think that you can safely avoid copying and safely avoid worrying about versions. Wait until we autogenerate earlier versions if you want to be strict. In the meantime, the version 3.3 JSON schema should work on all X3D models version 3.0 through 3.3 since we are always so careful about backwards compatibility between versions. Note that each schema validation of X3D element allows prior version numbers. If using 3.3 for all scenes all the time does lead to any problems with JSON validation, please let me know so that we can fix it. >> You can see all the variations corresponding to X3D versions in the specification itself: >> >> X3D Abstract Specification, Annex Z (normative) Version content >> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/versionContent.html >> >> So yes there are a lot of differences. Each time we get modifications to X3D XML DTD or Schema it usually takes me maybe two hours to carefully apply diffs from X3D v3.3 to versions 3.0, 3.1, 3.2 and 4.0 then update documentation. > > Okay, perhaps it is time to start generating the other versions for the X3DUOM. > > > I think it?s best to autogenerate these schema fields as snippets from the X3DUOM and upgrade the JSON schema by using autogenerated snippets.??? It appears according to the standard that many of these fields are new ones. Plus snippets are less error prone.?? So let?s get them into the object model soon. > > It looks like some already are? Yes, changes in the X3D XML schema go into the X3ObjectModel3.3.xml and then into X3DJSAIL, where they get tested. So all of the SFTime duration changes are there. >> Agreed, that is getting onto my long-range radar... autogenerating JSON Schema via XSLT stylesheet will be an excellent test of X3D Unified Object Model, and prose/links i that page are now updated online as well. > Please do not spend time on this.? It's more important to get more versions of the object model. > >> X3D Unified Object Model (X3DUOM) >> http://www.web3d.org/specifications/X3DUOM.html >> >> Extra-credit issues: >> a. generating X3DObjectModel-3.3.xml files for each X3D version >> http://www.web3d.org/specifications/X3DObjectModel-3.3.xml > That's your task, Don, or someone who is familiar with your builds/Xslt. OK, can do... worked today on the build scripts and generation stylesheet. Have renamed several files for better clarity (earlier deferred with Roy) and improved the processing, creating a new object-model file directly, version by version, from each corresponding X3D schema. And so added corresponding matches as follows: http://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml (experimental) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.3.xml (primary) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.2.xml (strict backwards compatibility) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.1.xml (strict backwards compatibility) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.0.xml (strict backwards compatibility) All of these links are now refreshed, committed and online via X3D Unified Object Model (X3DUOM) http://www.web3d.org/specifications/X3DUOM.html > b. both X3DJSAIL and X3DJSONLD may have enough information embedded already to generate matching JSON schemas. > > Yes, given an X3DUOM file, I should be able to create a python script or shell script which generates the JSON schema for each version with some slight modifications (commandline parameters).? ?We just need the X3DUOM files and a bit more testing validation of the JSON schema.? That already exists (My 5.0 and 5.1 schemas I posted). Agreed. Not sure we want that, but it might be interesting task to confirm that round-trip of all unified object model information is available + possible from our implementations. > Unless of course, you want to create the mother of all X3DUOM files and put all the versions in one file.? ?We can certainly do that, but I will still probably separate out the JSON schema versions. Thought about that, but no (or maybe Good Lordy No!!) since it adds yet another layer of complexity without apparent benefit. Keeping each version independent is cleaner and more repeatable. Plenty more to follow, meanwhile... Have fun with the X3d Unified Object Model! 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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 21:32:14 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 16 Apr 2018 00:32:14 -0400 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraints for SFTimedurations and timestamps In-Reply-To: <4ca0493c-0b63-0e4b-4f54-512c908f556b@nps.edu> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> <4ca0493c-0b63-0e4b-4f54-512c908f556b@nps.edu> Message-ID: <5ad4274e.1162370a.22389.ad30@mx.google.com> From: Don Brutzman >> Extra-credit issues: >> a. generating X3DObjectModel-3.3.xml files for each X3D version >> http://www.web3d.org/specifications/X3DObjectModel-3.3.xml > That's your task, Don, or someone who is familiar with your builds/Xslt. OK, can do... worked today on the build scripts and generation stylesheet. Have renamed several files for better clarity (earlier deferred with Roy) and improved the processing, creating a new object-model file directly, version by version, from each corresponding X3D schema. And so added corresponding matches as follows: http://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml (experimental) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.3.xml (primary) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.2.xml (strict backwards compatibility) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.1.xml (strict backwards compatibility) http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.0.xml (strict backwards compatibility) All of these links are now refreshed, committed and online via X3D Unified Object Model (X3DUOM) http://www.web3d.org/specifications/X3DUOM.html Found a problem with X3dUnifiedObjectModel-3.0.xml. It?s missing X3DVertexAttributeNode abstract node type , or fields which use it should be redone. Also, ConcreteNode FogCoordinate is missing, or fields which use it should stop referencing it. Added both, then the X3DUOM 3.0 converted to JSON schema 3.0. Will send in next message for validation. $ grep X3DVertexAttributeNode /c/x3d-code/www.web3d.org/specifications/*nified*.*|grep Abstract /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.1.xml: /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.2.xml: /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.3.xml: /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml: -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 21:53:29 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 16 Apr 2018 00:53:29 -0400 Subject: [x3d-public] Autogenerated draft-07 X3D JSON schema available in sourceforge.net for testing, X3D versions 3.0, 3.1, 3.2 and draft 4.0 Message-ID: <5ad42c49.0609370a.24675.9dff@mx.google.com> Given the univerified fixes to the X3DUOM 3.0, I was able to autogenerate X3D JSON Schemas under draft07 JSON schema and the various versions of the X3D standard and check into sourceforge (sorry don, I didn?t think it would hurt, and it seems like a good way to get thing to you. Here they are: https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/specifications/x3d-3.0-JSONSchema.json https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/specifications/x3d-3.1-JSONSchema.json https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/specifications/x3d-3.2-JSONSchema.json https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/specifications/x3d-4.0-JSONSchema.json Please check for accuracy and completeness. Thanks! I will too! The 3.3 version will come along later, and is also important, but these versions are equally important. I will let don check in the 3.0 X3DUOM and then I will regenerate the X3D JSON Schema 3.0. Right now, the X3DUOM for 3.0 and the X3D JSON schema for 3.0 do not match up. John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 22:16:54 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 16 Apr 2018 01:16:54 -0400 Subject: [x3d-public] HANIM: r_carpal_distal_interphalangeal_joint_5 appears twice in enum for X3D 4.0 JSON schema, object model, XSD Message-ID: <5ad431c6.813fc80a.63cfa.9eee@mx.google.com> $ grep r_carpal_distal_interphalangeal_joint_5 *xml *xsd *json X3dUnifiedObjectModel-4.0.xml: X3dUnifiedObjectModel-4.0.xml: X3dUnifiedObjectModel-4.0.xml: X3dUnifiedObjectModel-4.0.xml: x3d-4.0.xsd: x3d-4.0.xsd: x3d-4.0-JSONSchema.json: "r_carpal_distal_interphalangeal_joint_5", x3d-4.0-JSONSchema.json: "r_carpal_distal_interphalangeal_joint_5", Please fix object model, the schema and I will fix the JSON schema. Apparently Ajv caught this issue. Good catch! John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 22:29:22 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 16 Apr 2018 01:29:22 -0400 Subject: [x3d-public] X3D JSON schema generator and shell script for driving it Message-ID: <5ad434b1.574f370a.1acf1.c68a@mx.google.com> https://raw.githubusercontent.com/coderextreme/X3DJSONLD/master/src/main/python/etgenerateJSONschema.py https://raw.githubusercontent.com/coderextreme/X3DJSONLD/master/src/main/shell/generateSchema.sh Install jsonlint and python before using: npm install -g jsonlint Enjoy! John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 23:48:13 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 16 Apr 2018 02:48:13 -0400 Subject: [x3d-public] These files fail Ajv JSON schema validation for draft07 autogenerated X3D JSON schema. Need eyes. Message-ID: <5ad4472d.6631ed0a.928a7.e61a@mx.google.com> Please verify they are failing with Everit or online sources, and if so, fix the file or let me know what the error in the autogenerated versioned JSON schema is. Or just report the actual error in the autogenerated schema for the version of X3D or file. You may use my x3dschema project https://github.com/coderextreme/x3dschema. Full error report from Ajv attached, gzipped, but it will probably lead you on some wild goose chases. Run: $ sh validate.sh With X3D Resource examples JSON zip extracted to C:/x3d-code or /c/x3d-code Thanks a bunch! 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/FollowerPrototypeDeclarations.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/Slider.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/ThirdPersonViewChaser.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDutton.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDuttonProtoInstances.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxMan.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxManAnimationPanel.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/DiamondManLOA_0.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimBehaviorPrototypes.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3Illustrated.json 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionPrototypes.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounce.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounceSimple.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BodyGeometry.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BounceTrimesh.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/DoubleHingeJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MotorJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MovingBody.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SingleHingeJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SliderJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/UniversalJoint.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Vrml97Specification/Example15.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/Robot.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Buildings/UHRB/SimpleBuildingConstructionExample.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/BuoyCommunicationsGridExample.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/SonobuoyFieldScenario.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHueneme.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHuenemeDIS.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Animation/PushButtonPrototype.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Illustrated.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Invisible.json 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhSeamless3dExport1.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Illustrated.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Invisible.json 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhSeamless3dExport1.json -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: results.txt.gz Type: application/x-gzip Size: 39421 bytes Desc: not available URL: From yottzumm at gmail.com Sun Apr 15 23:51:58 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 16 Apr 2018 02:51:58 -0400 Subject: [x3d-public] The following files do not pass JSON schema (hand generated) Message-ID: <5ad4480e.0405c80a.7aafa.6bc7@mx.google.com> Report: 0 Ajv 6.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/X3dHeaderPrototypeSyntaxExamples.json keyword: type dataPath: X3D > Scene > -children > 18 > IMPORT value: {"@AS":"someInlineRoot","@importedDEF":"someName","@inlineDEF":"someInline"} message: should be array params: {"type":"array"} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/X3dHeaderPrototypeSyntaxExamples.json version: 6.0 0 Ajv 6.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json keyword: required dataPath: X3D > Scene > -children > 2 > WorldInfo > -metadata > MetadataSet > -metadata > MetadataSet > -value > 0 > MetadataString value: {"@USE":"MyMetadataStringNode"} message: should have required property '@name' params: {"missingProperty":"@name"} file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json version: 6.0 keyword: required dataPath: X3D > Scene > -children > 2 > WorldInfo > -metadata > MetadataSet > -metadata > MetadataSet > -value > 1 > MetadataInteger value: {"@USE":"MyMetadataIntegerNode"} message: should have required property '@name' params: {"missingProperty":"@name"} file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json version: 6.0 keyword: required dataPath: X3D > Scene > -children > 2 > WorldInfo > -metadata > MetadataSet > -metadata > MetadataSet > -value > 2 > MetadataFloat value: {"@USE":"MyMetadataFloatNode"} message: should have required property '@name' params: {"missingProperty":"@name"} file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.json version: 6.0 -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 15 23:59:17 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 16 Apr 2018 02:59:17 -0400 Subject: [x3d-public] The following files don't pass JSON parse. X3dToJson.xslt, probably. Message-ID: <5ad449c5.09a1370a.ba8a6.c56c@mx.google.com> Failed JSON parse C:/x3d-code/www.web3d.org/x3d/content/examples/ConformanceNist/BindableNodes/Viewpoint/jumpcut_proximitysensor.json SyntaxError: Unexpected token , in JSON at position 6705 This looks bad: "@string":[,""], Failed JSON parse C:/x3d-code/www.web3d.org/x3d/content/examples/ConformanceNist/BindableNodes/Viewpoint/viewinline.json SyntaxError: Unexpected token , in JSON at position 15644 This looks bad: "@string":[,""], Probably X3dToJson.xslt does not know how to translate the following XML: string='""' -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 16 01:28:10 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 16 Apr 2018 04:28:10 -0400 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraints forSFTimedurations and timestamps In-Reply-To: <5ad41fb6.11f5370a.bad1d.03b1@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> <4ca0493c-0b63-0e4b-4f54-512c908f556b@nps.edu> <5ad41fb6.11f5370a.bad1d.03b1@mx.google.com> Message-ID: <5ad45e99.813fc80a.63cfa.b080@mx.google.com> I don?t see XvlShell under the 3.0 object model. Will you remove it from the JSON examples? Thanks, John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 15, 2018 11:59 PM To: Don Brutzman Cc: X3D Graphics public mailing list; X3D Graphics member mailing list; npolys at vt.edu Subject: RE: X3D JSON Schema Updates: determining event constraints forSFTimedurations and timestamps Don?t forget XvlShell and @headlight under the Object Model 3.0 (I will check). John Sent from Mail for Windows 10 From: Don Brutzman Sent: Sunday, April 15, 2018 11:02 PM To: John Carlson Cc: X3D Graphics public mailing list; X3D Graphics member mailing list; npolys at vt.edu Subject: Re: X3D JSON Schema Updates: determining event constraints for SFTimedurations and timestamps [John: minor annoyance, dueling mailer issues.? When i Reply using plain text to your MS-html email, it seems like the indentation styles get lost and it is very difficult to say who is saying what...] [I will try to remove or re-indent any prior parts so that the result might be intelligible.? Hope that works.] On 4/15/2018 3:56 PM, John Carlson wrote: > > On Sun, Apr 15, 2018, 4:47 PM Don Brutzman > wrote: >>???? This email thread gets the ball rolling (or perhaps the clock ticking!)... we will need an X3D Working Group call to tackle this topic and look at SFTime issues/actions. > > Let's see if other people chime in. >>???? ========================== >> >>???? 5. Next, regarding X3D JSON Schema. >> >>????? > Normally, I copy the 3.3 JSON schema to 3.0, 3.1, 3.2 and 4.0, so that will be what I do.? If this is drastically different than previous schemas for those versions, let me know.? I don?t know what I?ll do, but at least I?ll know. I think that you can safely avoid copying and safely avoid worrying about versions.? Wait until we autogenerate earlier versions if you want to be strict. In the meantime, the version 3.3 JSON schema should work on all X3D models version 3.0 through 3.3 since we are always so careful about backwards compatibility between versions.? Note that each schema validation of X3D element allows prior version numbers. If using 3.3 for all scenes all the time does lead to any problems with JSON validation, please let me know so that we can fix it. >>???? You can see all the variations corresponding to X3D versions in the specification itself: >> >>???? X3D Abstract Specification,? Annex Z (normative) Version content >>???? http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/versionContent.html >> >>???? So yes there are a lot of differences.? Each time we get modifications to X3D XML DTD or Schema it usually takes me maybe two hours to carefully apply diffs from X3D v3.3 to versions 3.0, 3.1, 3.2 and 4.0 then update documentation. > > Okay, perhaps it is time to start generating the other versions for the X3DUOM. > >????? > I think it?s best to autogenerate these schema fields as snippets from the X3DUOM and upgrade the JSON schema by using autogenerated snippets.??? It appears according to the standard that many of these fields are new ones. Plus snippets are less error prone.?? So let?s get them into the object model soon. > > It looks like some already are? Yes, changes in the X3D XML schema go into the X3ObjectModel3.3.xml and then into X3DJSAIL, where they get tested.? So all of the SFTime duration changes are there. >>???? Agreed, that is getting onto my long-range radar... autogenerating JSON Schema via XSLT stylesheet will be an excellent test of X3D Unified Object Model, and prose/links i that page are now updated online as well. > Please do not spend time on this.? It's more important to get more versions of the object model. > >>???? X3D Unified Object Model (X3DUOM) >>???? http://www.web3d.org/specifications/X3DUOM.html >> >>???? Extra-credit issues: >>???? a. generating X3DObjectModel-3.3.xml files for each X3D version >>???? http://www.web3d.org/specifications/X3DObjectModel-3.3.xml > That's your task, Don, or someone who is familiar with your builds/Xslt. OK, can do... worked today on the build scripts and generation stylesheet. Have renamed several files for better clarity (earlier deferred with Roy) and improved the processing, creating a new object-model file directly, version by version, from each corresponding X3D schema. And so added corresponding matches as follows: ??????????????? http://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml (experimental) ??????????????? http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.3.xml (primary) ??????????????? http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.2.xml (strict backwards compatibility) ??????????????? http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.1.xml (strict backwards compatibility) ??????????????? http://www.web3d.org/specifications/X3dUnifiedObjectModel-3.0.xml (strict backwards compatibility) All of these links are now refreshed, committed and online via ??????????????? X3D Unified Object Model (X3DUOM) ??????????????? http://www.web3d.org/specifications/X3DUOM.html >???? b. both X3DJSAIL and X3DJSONLD may have enough information embedded already to generate matching JSON schemas. > > Yes, given an X3DUOM file, I should be able to create a python script or shell script which generates the JSON schema for each version with some slight modifications (commandline parameters).? ?We just need the X3DUOM files and a bit more testing validation of the JSON schema.? That already exists (My 5.0 and 5.1 schemas I posted). Agreed.? Not sure we want that, but it might be interesting task to confirm that round-trip of all unified object model information is available + possible from our implementations. > Unless of course, you want to create the mother of all X3DUOM files and put all the versions in one file.? ?We can certainly do that, but I will still probably separate out the JSON schema versions. Thought about that, but no (or maybe Good Lordy No!!) since it adds yet another layer of complexity without apparent benefit.? Keeping each version independent is cleaner and more repeatable. Plenty more to follow, meanwhile... Have fun with the X3d Unified Object Model!? 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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 16 02:33:25 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 16 Apr 2018 05:33:25 -0400 Subject: [x3d-public] These files fail Ajv JSON schema validation for draft07 autogeneratedX3D JSON schema. Need eyes. In-Reply-To: <5ad4472d.6631ed0a.928a7.e61a@mx.google.com> References: <5ad4472d.6631ed0a.928a7.e61a@mx.google.com> Message-ID: <5ad46de5.10e2370a.499f3.0ab4@mx.google.com> I was able to reduce the number of errors from Ajv by 75+%. So there?s only 10 or so errors per file now. Whew, and attached. Many of these may be ProtoInstance @name and @USE together. John Sent from Mail for Windows 10 From: John Carlson Sent: Monday, April 16, 2018 2:48 AM To: Don Brutzman; Roy Walmsley; x3d-public at web3d.org Subject: These files fail Ajv JSON schema validation for draft07 autogeneratedX3D JSON schema. Need eyes. Please verify they are failing with Everit or online sources, and if so, fix the file or let me know what the error in the autogenerated versioned JSON schema is.? Or just report the actual error in the autogenerated schema for the version of X3D or file. You may use my x3dschema project https://github.com/coderextreme/x3dschema. Full error report from Ajv attached, gzipped, but it will probably lead you on some wild goose chases. Run: $ sh validate.sh With X3D Resource examples JSON zip extracted to C:/x3d-code or /c/x3d-code Thanks a bunch! 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/FollowerPrototypeDeclarations.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/Slider.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/ThirdPersonViewChaser.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDutton.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDuttonProtoInstances.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxMan.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxManAnimationPanel.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/DiamondManLOA_0.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimBehaviorPrototypes.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3Illustrated.json 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionPrototypes.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounce.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounceSimple.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BodyGeometry.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BounceTrimesh.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/DoubleHingeJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MotorJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MovingBody.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SingleHingeJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SliderJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/UniversalJoint.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Vrml97Specification/Example15.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/Robot.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Buildings/UHRB/SimpleBuildingConstructionExample.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/BuoyCommunicationsGridExample.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/SonobuoyFieldScenario.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHueneme.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHuenemeDIS.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Animation/PushButtonPrototype.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Illustrated.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Invisible.json 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhSeamless3dExport1.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Illustrated.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Invisible.json 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhSeamless3dExport1.json -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: results.txt.gz Type: application/x-gzip Size: 14131 bytes Desc: not available URL: From yottzumm at gmail.com Mon Apr 16 15:19:32 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 16 Apr 2018 18:19:32 -0400 Subject: [x3d-public] New GettingStarted.pdf for X3DJSONLD 3.0 beta has been posted Message-ID: <5ad52173.8d67c80a.cfd02.2bf8@mx.google.com> https://github.com/coderextreme/X3DJSONLD/blob/master/doc/GettingStarted.pdf There will probably be a 4.0 relatively soon. New feature: Extern Proto Expander incorporated into x3dom-full.debug.js. Requires JQuery on client side. John Sent from Mail for Windows 10 -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 16 18:26:01 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 16 Apr 2018 21:26:01 -0400 Subject: [x3d-public] X3DJSAIL documentation: Using X3DJSONLD.java (from sourceforge) to load JSON into DOM and write out as XML Message-ID: <5ad54d28.1c69fb81.9c348.df2f@mx.google.com> /* * Iniitalize Loader */ X3DJSONLD loader = new X3DJSONLD(); /* * Read a JSON file Nashorn.json into a JsonObject */ javax.json.JsonObject jsobj = loader.readJsonFile(new java.io.File("Nashorn.json")); /* *Convert JsonObject to XML DOM Document */ Document document = loader.loadJsonIntoDocument(jsobj); /* * Initialize X3DJSAIL DOM Loader */ org.web3d.x3d.jsail.X3DLoaderObject xmlLoader = new X3DLoaderObject(); /* * Load DOM into X3DObject */ X3DObject X3D0 = (X3DObject)xmlLoader.toX3dObjectTree(document); /* * Do X3D-like things with X3D0, validate etc. */ /* * Write out X3DObject as XML file Nashorh.x3d */ X3D0.toFileX3D("Nashorn.x3d"); -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Mon Apr 16 20:34:31 2018 From: brutzman at nps.edu (Don Brutzman) Date: Mon, 16 Apr 2018 20:34:31 -0700 Subject: [x3d-public] These files fail Ajv JSON schema validation for draft07 autogeneratedX3D JSON schema. Need eyes. In-Reply-To: <5ad46de5.10e2370a.499f3.0ab4@mx.google.com> References: <5ad4472d.6631ed0a.928a7.e61a@mx.google.com> <5ad46de5.10e2370a.499f3.0ab4@mx.google.com> Message-ID: <54f4ee74-871e-edf8-119e-26b4eb78b182@nps.edu> Thanks for bug reports... Had trouble getting much back of help. Can you put AJV into a more verbose diagnostic mode? On 4/16/2018 2:33 AM, John Carlson wrote: > I was able to reduce the number of errors from Ajv by 75+%.? So there?s only 10 or so errors per file now.? Whew, and attached. > > Many of these may be ProtoInstance @name and @USE together. > > John > > Sent from Mail for Windows 10 > > *From: *John Carlson > *Sent: *Monday, April 16, 2018 2:48 AM > *To: *Don Brutzman ; Roy Walmsley ; x3d-public at web3d.org > *Subject: *These files fail Ajv JSON schema validation for draft07 autogeneratedX3D JSON schema. Need eyes. > > Please verify they are failing with Everit or online sources, and if so, fix the file or let me know what the error in the autogenerated versioned JSON schema is.? Or just report the actual error in the autogenerated schema for the version of X3D or file. > > You may use my x3dschema project https://github.com/coderextreme/x3dschema. > > Full error report from Ajv attached, gzipped, but it will probably lead you on some wild goose chases. > > Run: > > $ sh validate.sh > > With X3D Resource examples JSON zip extracted to C:/x3d-code or /c/x3d-code > > Thanks a bunch! Only able to spot check a few .x3d scenes tonite, not enough time to run your tests too. I ran jsonlint on a number, seemed to work. You might do that back-to-back with your validation tests. I reran all the JSON autogeneration last night, will upload them tonight. > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/FollowerPrototypeDeclarations.json This scene has lots of problems. Performing X3D Schematron check... [/X3D/head/meta[15], diagnostic] [/X3D/head/meta[16], diagnostic] [/X3D/head/meta[17], diagnostic] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[1], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[2], warning] url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:OrientationDamper" "Dampers.wrl#OrientationDamper" "http://www.hersto.net/Followers/Dampers.wrl#OrientationDamper"') [/X3D/Scene/ExternProtoDeclare[2], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[3], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[4], warning] url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:Position2fDamper" "Dampers.wrl#Position2fDamper" "http://www.hersto.net/Followers/Dampers.wrl#Position2fDamper"') [/X3D/Scene/ExternProtoDeclare[4], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[5], warning] url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:Position2fChaser" "Chasers.wrl#Position2fChaser" "http://www.hersto.net/Followers/Chasers.wrl#Position2fChaser"') [/X3D/Scene/ExternProtoDeclare[5], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[6], warning] url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:PositionChaser" "Chasers.wrl#PositionChaser" "http://www.hersto.net/Followers/Chasers.wrl#PositionChaser"') [/X3D/Scene/ExternProtoDeclare[6], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[7], warning] url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:PositionDamper" "Dampers.wrl#PositionDamper" "http://www.hersto.net/Followers/Dampers.wrl#PositionDamper"') [/X3D/Scene/ExternProtoDeclare[7], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[8], warning] --------- Validation checks complete for FollowerExternalPrototypeDeclarations.x3d --------- > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/Slider.json Went online to examples, and then "checkmark" button for online X3D Validator: http://www.web3d.org/x3d/content/examples/Basic http://www.web3d.org/x3d/content/examples/Basic/Followers/SliderIndex.html https://savage.nps.edu/X3dValidator?url=http://www.web3d.org/x3d/content/examples/Basic/Followers/Slider.x3d however having difficulty working from home tonite, didn't get any results... > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/ThirdPersonViewChaser.json Performing X3D Schematron check... [/X3D/head/meta[13], diagnostic] height array has 4 values when (xDimension * zDimension = 40 * 40 = 1600) values are required [/X3D/Scene/Transform[1]/Shape/ElevationGrid] is inactive since enabled='false' (and no ROUTE is provided to change this value) [/X3D/Scene/Transform[3]/Collision, warning] missing texCoordIndex array for contained TextureCoordinate node [/X3D/Scene/Transform[4]/Shape/IndexedFaceSet, error] --------- Validation checks complete for ThirdPersonViewFollower.x3d --------- The ElevationGrid has no grid values (default is 4) because it gets populated y a script... Perhaps that is the cause? > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDutton.json Certainly has some HAnim irregularities but am not seeing any validation problems: Performing X3D Schematron check... [/X3D/head/meta[8], diagnostic] DEF value does not contain correctly modified version of name value (for example, DEF='myPrefix_nameValue' e.g. DEF='myPrefix_Humanoid') - see H-Anim section C.2 Humanoid, VRML Binding [/X3D/Scene/HAnimHumanoid, error] version='' might not validate correctly, X3D validation support is tuned for ISO 19774 HAnimHumanoid version='2.2' [/X3D/Scene/HAnimHumanoid, warning] node count(HAnimJoint) within skeleton hierarchy = 17[/X3D/Scene/HAnimHumanoid, diagnostic] node count(HAnimSegment) within skeleton hierarchy = 16[/X3D/Scene/HAnimHumanoid, diagnostic] node count(HAnimSite) within HAnimHumanoid = 1[/X3D/Scene/HAnimHumanoid, diagnostic] node count(HAnimSite/Viewpoint) within skeleton hierarchy = 0[/X3D/Scene/HAnimHumanoid, diagnostic] node count(HAnimDisplacer) within skeleton hierarchy = 0[/X3D/Scene/HAnimHumanoid, diagnostic] node count( = 17[/X3D/Scene/HAnimHumanoid, diagnostic] node count( = 16[/X3D/Scene/HAnimHumanoid, diagnostic] node count( = 0[/X3D/Scene/HAnimHumanoid, diagnostic] node count( = 1[/X3D/Scene/HAnimHumanoid, diagnostic] has mismatched HAnimSite node counts, 1 within skeleton hierarchy and 0 USE nodes in sites field [/X3D/Scene/HAnimHumanoid, diagnostic] is missing child HAnimSegment to complete the connection made by this joint [/X3D/Scene/HAnimHumanoid/HAnimJoint[1], error] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0 1.01 -0.0204' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1], warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.122 0.888271 -0.0693267' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.0738 0.517 -0.0284' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.0645 0.0719 -0.048' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.11 0.892362 -0.0732533' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.0699 0.51 -0.0166' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.064 0.0753 -0.0412' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] DEF value does not contain correctly modified version of name value (for example, DEF='myPrefix_nameValue' e.g. DEF='myPrefix_l1') - see H-Anim section C.2 Humanoid, VRML Binding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, error] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.00405 1.07 -0.0275' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1], warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.167 1.36 -0.0518' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.196 1.07 -0.0518' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimJoint, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.213 0.811 -0.0338' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.167 1.36 -0.0458' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.192 1.07 -0.0498' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.217 0.811 -0.0338' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0 1.43 -0.0458' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0 1.4 0' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment, warning] missing texCoordIndex array for contained TextureCoordinate node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment/Transform/Shape/IndexedFaceSet, error] contains 4 Viewpoints, more than one may be ambiguous [/X3D/Scene/HAnimHumanoid/HAnimSite, info] is inactive since enabled='false' (and no ROUTE is provided to change this value) [/X3D/Scene/Group[1]/Collision, warning] --------- Validation checks complete for AllenDutton.x3d --------- > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDuttonProtoInstances.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxMan.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxManAnimationPanel.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/DiamondManLOA_0.json well this ought to be a simple one at least... but no.... element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimSegment/Transform, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment/Transform, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/Transform, warning] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[1], warning] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[2], warning] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[2], error] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[3], warning] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[3], error] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[4], warning] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[4], error] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[5], warning] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[5], error] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimSegment, warning] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment/HAnimSite, warning] contains 4 Viewpoints, more than one may be ambiguous [/X3D/Scene/HAnimHumanoid/HAnimSite[1], info] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[2], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[3], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[4], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[5], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[6], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[7], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[8], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[9], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[10], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[11], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[12], error] > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimBehaviorPrototypes.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3Illustrated.json > > 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionPrototypes.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounce.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounceSimple.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallJoint.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BodyGeometry.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BounceTrimesh.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/DoubleHingeJoint.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MotorJoint.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MovingBody.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SingleHingeJoint.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SliderJoint.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/UniversalJoint.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Vrml97Specification/Example15.json no errors found > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/Robot.json found 2 errors in scene, fixed incorrect url address and added viewpoint to trigger behavior. attached. This scene has nested prototypes, perhaps that is the problem with validation? > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Buildings/UHRB/SimpleBuildingConstructionExample.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/BuoyCommunicationsGridExample.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/SonobuoyFieldScenario.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHueneme.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHuenemeDIS.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Animation/PushButtonPrototype.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Illustrated.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Invisible.json > > 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhSeamless3dExport1.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Illustrated.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Invisible.json > > 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhSeamless3dExport1.json > 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 http://faculty.nps.edu/brutzman -------------- next part -------------- A non-text attachment was scrubbed... Name: Robot.x3d Type: model/x3d+xml Size: 4683 bytes Desc: not available URL: From yottzumm at gmail.com Mon Apr 16 21:07:03 2018 From: yottzumm at gmail.com (John Carlson) Date: Tue, 17 Apr 2018 00:07:03 -0400 Subject: [x3d-public] FW: These files fail Ajv JSON schema validation for draft07autogeneratedX3D JSON schema. Need eyes. In-Reply-To: <5ad46de5.10e2370a.499f3.0ab4@mx.google.com> References: <5ad4472d.6631ed0a.928a7.e61a@mx.google.com> <5ad46de5.10e2370a.499f3.0ab4@mx.google.com> Message-ID: <5ad572e6.8380370a.951ab.6784@mx.google.com> The semiverbose mode errors are in the attached file. John Sent from Mail for Windows 10 From: John Carlson Sent: Monday, April 16, 2018 5:33 AM To: Don Brutzman; Roy Walmsley; x3d-public at web3d.org Subject: RE: These files fail Ajv JSON schema validation for draft07autogeneratedX3D JSON schema. Need eyes. I was able to reduce the number of errors from Ajv by 75+%.? So there?s only 10 or so errors per file now.? Whew, and attached. Many of these may be ProtoInstance @name and @USE together. John Sent from Mail for Windows 10 From: John Carlson Sent: Monday, April 16, 2018 2:48 AM To: Don Brutzman; Roy Walmsley; x3d-public at web3d.org Subject: These files fail Ajv JSON schema validation for draft07 autogeneratedX3D JSON schema. Need eyes. Please verify they are failing with Everit or online sources, and if so, fix the file or let me know what the error in the autogenerated versioned JSON schema is.? Or just report the actual error in the autogenerated schema for the version of X3D or file. You may use my x3dschema project https://github.com/coderextreme/x3dschema. Full error report from Ajv attached, gzipped, but it will probably lead you on some wild goose chases. Run: $ sh validate.sh With X3D Resource examples JSON zip extracted to C:/x3d-code or /c/x3d-code Thanks a bunch! 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/FollowerPrototypeDeclarations.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/Slider.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/ThirdPersonViewChaser.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDutton.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDuttonProtoInstances.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxMan.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxManAnimationPanel.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/DiamondManLOA_0.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimBehaviorPrototypes.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3Illustrated.json 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionPrototypes.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounce.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounceSimple.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BodyGeometry.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BounceTrimesh.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/DoubleHingeJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MotorJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MovingBody.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SingleHingeJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SliderJoint.json 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/UniversalJoint.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Vrml97Specification/Example15.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/Robot.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Buildings/UHRB/SimpleBuildingConstructionExample.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/BuoyCommunicationsGridExample.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/SonobuoyFieldScenario.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHueneme.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHuenemeDIS.json 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Animation/PushButtonPrototype.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Illustrated.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Invisible.json 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhSeamless3dExport1.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Illustrated.json 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Invisible.json 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhSeamless3dExport1.json -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: results.txt.gz Type: application/x-gzip Size: 14131 bytes Desc: not available URL: From yottzumm at gmail.com Mon Apr 16 23:21:17 2018 From: yottzumm at gmail.com (John Carlson) Date: Tue, 17 Apr 2018 02:21:17 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt Message-ID: <5ad5925c.5183810a.9faf.8411@mx.google.com> Various bugs when validating Java code, running the program with Java file file.x3d -validate All files attached. Most are correct. There are more errors, if you want to run all the Java files. John net/x3djsonld/data/ball parameter: source file ball.x3d filesize 9056 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.ball.main(ball.java:191) net/x3djsonld/data/Box parameter: source file Box.x3d filesize 4151 bytes parameter: "-validate" for model validation [X3DLoaderObject error] ProtoInstance anyShape found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance anyShape found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance anyShape found but node type is unknown and containerField is children, unable to add to scene graph validate results: WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare anyShape has no corresponding ProtoInstance attached to the scene graph. Box self-validation test results: success net/x3djsonld/data/CameraExamples parameter: source file CameraExamples.x3d filesize 43323 bytes parameter: "-validate" for model validation [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance Camera found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance Camera found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance OfflineRender found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance ViewFrustum found but node type is unknown and containerField is children, unable to add to scene graph [X3DLoaderObject error] ProtoInstance CrossHair found but node type is unknown and containerField is children, unable to add to scene graph validate results: WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare Camera has no corresponding ProtoInstance attached to the scene graph. WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare CameraShot has no corresponding ProtoInstance attached to the scene graph. WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare CameraMovement has no corresponding ProtoInstance attached to the scene graph. WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare OfflineRender has no corresponding ProtoInstance attached to the scene graph. ROUTE fromNode='Camera.SimpleShotsTest' was not found in connected scene graph. ROUTE toNode='Camera.SimpleShotsTest' was not found in connected scene graph. ROUTE toNode='Camera.SimpleShotsTest' was not found in connected scene graph. ROUTE fromNode='Camera.AimPointTest' was not found in connected scene graph. ROUTE toNode='Camera.AimPointTest' was not found in connected scene graph. ROUTE toNode='Camera.AimPointTest' was not found in connected scene graph. ROUTE fromNode='Camera.SimpleShotsTest' was not found in connected scene graph. ROUTE fromNode='Camera.SimpleShotsTest' was not found in connected scene graph. ROUTE fromNode='Camera.AimPointTest' was not found in connected scene graph. ROUTE fromNode='Camera.AimPointTest' was not found in connected scene graph. WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare ViewFrustum has no corresponding ProtoInstance attached to the scene graph. ROUTE toNode='ViewFrustumNode' was not found in connected scene graph. ROUTE toNode='MoveAimPoint3.1' was not found in connected scene graph. ROUTE toNode='MoveAimPoint3.2' was not found in connected scene graph. ROUTE toNode='MoveAimPoint3.3' was not found in connected scene graph. WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare CrossHair has no corresponding ProtoInstance attached to the scene graph. ROUTE fromNode='Camera.SimpleShotsTest' was not found in connected scene graph. ROUTE toNode='CrossHairInstance' was not found in connected scene graph. ROUTE fromNode='Camera.AimPointTest' was not found in connected scene graph. ROUTE toNode='CrossHairInstance' was not found in connected scene graph. CameraExamples self-validation test results: success net/x3djsonld/data/CameraPrototypes parameter: source file CameraPrototypes.x3d filesize 52278 bytes parameter: "-validate" for model validation validate results: WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare Camera has no corresponding ProtoInstance attached to the scene graph. WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare CameraShot has no corresponding ProtoInstance attached to the scene graph. WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare CameraMovement has no corresponding ProtoInstance attached to the scene graph. WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare OfflineRender has no corresponding ProtoInstance attached to the scene graph. CameraPrototypes self-validation test results: success net/x3djsonld/data/CloudsProcedural4 parameter: source file CloudsProcedural4.x3d filesize 14615 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=Shape (Shape), child=Rectangle2D, java.lang.ClassCastException: org.web3d.x3d.jsail.Shape.ShapeObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode java.lang.ClassCastException: org.web3d.x3d.jsail.Shape.ShapeObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:868) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.CloudsProcedural4.main(CloudsProcedural4.java:540) validate results: success, no problems noted CloudsProcedural4 self-validation test results: success net/x3djsonld/data/cube parameter: source file cube.x3d filesize 56902 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=Normal, java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:868) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.cube.main(cube.java:222) validate results: success, no problems noted cube self-validation test results: success net/x3djsonld/data/flowers parameter: source file flowers.x3d filesize 12425 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.flowers.main(flowers.java:294) [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.flowers.main(flowers.java:294) [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.flowers.main(flowers.java:294) validate results: success, no problems noted flowers self-validation test results: success net/x3djsonld/data/flowers7 parameter: source file flowers7.x3d filesize 16066 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.flowers7.main(flowers7.java:285) validate results: success, no problems noted flowers7 self-validation test results: success net/x3djsonld/data/freewrlflowers parameter: source file freewrlflowers.x3d filesize 2717 bytes parameter: "-validate" for model validation [X3DLoaderObject error] ProtoInstance FlowerProto found but node type is unknown and containerField is children, unable to add to scene graph validate results: WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare FlowerProto has no corresponding ProtoInstance attached to the scene graph. freewrlflowers self-validation test results: success net/x3djsonld/data/geo parameter: source file geo.x3d filesize 4607 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.geo.main(geo.java:145) [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.geo.main(geo.java:145) validate results: success, no problems noted geo self-validation test results: success net/x3djsonld/data/glflowers parameter: source file glflowers.x3d filesize 2711 bytes parameter: "-validate" for model validation [X3DLoaderObject error] ProtoInstance FlowerProto found but node type is unknown and containerField is children, unable to add to scene graph validate results: WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare FlowerProto has no corresponding ProtoInstance attached to the scene graph. glflowers self-validation test results: success net/x3djsonld/data/HeadsUpDisplayExample parameter: source file HeadsUpDisplayExample.x3d filesize 4486 bytes parameter: "-validate" for model validation [X3DLoaderObject error] ProtoInstance HeadsUpDisplay found but node type is unknown and containerField is children, unable to add to scene graph validate results: WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare HeadsUpDisplay has no corresponding ProtoInstance attached to the scene graph. HeadsUpDisplayExample self-validation test results: success net/x3djsonld/data/HeadsUpDisplayPrototype parameter: source file HeadsUpDisplayPrototype.x3d filesize 7368 bytes parameter: "-validate" for model validation validate results: WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare HeadsUpDisplay has no corresponding ProtoInstance attached to the scene graph. HeadsUpDisplayPrototype self-validation test results: success net/x3djsonld/data/ifscube parameter: source file ifscube.x3d filesize 1143 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=Normal, java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:868) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.ifscube.main(ifscube.java:111) validate results: success, no problems noted ifscube self-validation test results: success net/x3djsonld/data/ifscubeworks parameter: source file ifscubeworks.x3d filesize 1103 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=Normal, java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:868) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.ifscubeworks.main(ifscubeworks.java:111) validate results: success, no problems noted ifscubeworks self-validation test results: success net/x3djsonld/data/indexedfaceset_pixeltexture_entire parameter: source file indexedfaceset_pixeltexture_entire.x3d filesize 3596 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) For input string: "0xFF0000FF" validate results: success, no problems noted indexedfaceset_pixeltexture_entire self-validation test results: success net/x3djsonld/data/indexedfaceset_pixeltexture_part parameter: source file indexedfaceset_pixeltexture_part.x3d filesize 4011 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) For input string: "0xFF0000FF" [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=TextureCoordinate, java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:818) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.indexedfaceset_pixeltexture_part.main(indexedfaceset_pixeltexture_part.java:196) validate results: success, no problems noted indexedfaceset_pixeltexture_part self-validation test results: success net/x3djsonld/data/indexedfaceset_pixeltexture_plus parameter: source file indexedfaceset_pixeltexture_plus.x3d filesize 4000 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) For input string: "0xFF0000FF" [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=TextureCoordinate, java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:818) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.indexedfaceset_pixeltexture_plus.main(indexedfaceset_pixeltexture_plus.java:196) validate results: success, no problems noted indexedfaceset_pixeltexture_plus self-validation test results: success net/x3djsonld/data/indexedfaceset_pixeltexture_whole parameter: source file indexedfaceset_pixeltexture_whole.x3d filesize 4087 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) For input string: "0xFF0000FF" [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=TextureCoordinate, java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:818) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) at net.x3djsonld.data.indexedfaceset_pixeltexture_whole.main(indexedfaceset_pixeltexture_whole.java:201) validate results: success, no problems noted indexedfaceset_pixeltexture_whole self-validation test results: success -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: files.zip Type: application/zip Size: 478545 bytes Desc: not available URL: From brutzman at nps.edu Tue Apr 17 18:42:32 2018 From: brutzman at nps.edu (Don Brutzman) Date: Tue, 17 Apr 2018 18:42:32 -0700 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt In-Reply-To: <5ad5925c.5183810a.9faf.8411@mx.google.com> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> Message-ID: <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> John, I suspect that you have an older version of X3DJSAIL. I just ran each of your examples without error, they all pass self-validation tests. p.s. To reduce unnecessary Usage: messages all the time, I put a check in the main method for X3dToJava.xslt, will apply that. exampleObject.handleArguments(args); to if ((args != null) && (args.length > 0)) exampleObject.handleArguments(args); On 4/16/2018 11:21 PM, John Carlson wrote: > Various bugs when validating Java code, running the program with > > Java file file.x3d -validate > > All files attached.? Most are correct.?? There are more errors, if you want to run all the Java files. > > John > > net/x3djsonld/data/ball > > parameter: source file ball.x3d filesize 9056 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.ball.main(ball.java:191) > > net/x3djsonld/data/Box > > parameter: source file Box.x3d filesize 4151 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] ProtoInstance anyShape found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance anyShape found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance anyShape found but node type is unknown and containerField is children, unable to add to scene graph > > validate results: > > WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare anyShape has no corresponding ProtoInstance attached to the scene graph. > > Box self-validation test results: success > > net/x3djsonld/data/CameraExamples > > parameter: source file CameraExamples.x3d filesize 43323 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance Camera found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraMovement found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CameraShot found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance Camera found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance OfflineRender found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance ViewFrustum found but node type is unknown and containerField is children, unable to add to scene graph > > [X3DLoaderObject error] ProtoInstance CrossHair found but node type is unknown and containerField is children, unable to add to scene graph > > validate results: > > WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare Camera has no corresponding ProtoInstance attached to the scene graph. > > WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare CameraShot has no corresponding ProtoInstance attached to the scene graph. > > WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare CameraMovement has no corresponding ProtoInstance attached to the scene graph. > > WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare OfflineRender has no corresponding ProtoInstance attached to the scene graph. > > ROUTE fromNode='Camera.SimpleShotsTest' was not found in connected scene graph. > > > > ROUTE toNode='Camera.SimpleShotsTest' was not found in connected scene graph. > > > > ROUTE toNode='Camera.SimpleShotsTest' was not found in connected scene graph. > > > > ROUTE fromNode='Camera.AimPointTest' was not found in connected scene graph. > > > > ROUTE toNode='Camera.AimPointTest' was not found in connected scene graph. > > > > ROUTE toNode='Camera.AimPointTest' was not found in connected scene graph. > > > > ROUTE fromNode='Camera.SimpleShotsTest' was not found in connected scene graph. > > > > ROUTE fromNode='Camera.SimpleShotsTest' was not found in connected scene graph. > > > > ROUTE fromNode='Camera.AimPointTest' was not found in connected scene graph. > > > > ROUTE fromNode='Camera.AimPointTest' was not found in connected scene graph. > > > > WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare ViewFrustum has no corresponding ProtoInstance attached to the scene graph. > > ROUTE toNode='ViewFrustumNode' was not found in connected scene graph. > > > > ROUTE toNode='MoveAimPoint3.1' was not found in connected scene graph. > > > > ROUTE toNode='MoveAimPoint3.2' was not found in connected scene graph. > > > > ROUTE toNode='MoveAimPoint3.3' was not found in connected scene graph. > > > > WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare CrossHair has no corresponding ProtoInstance attached to the scene graph. > > ROUTE fromNode='Camera.SimpleShotsTest' was not found in connected scene graph. > > ROUTE toNode='CrossHairInstance' was not found in connected scene graph. > > > > ROUTE fromNode='Camera.AimPointTest' was not found in connected scene graph. > > ROUTE toNode='CrossHairInstance' was not found in connected scene graph. > > > > CameraExamples self-validation test results: success > > net/x3djsonld/data/CameraPrototypes > > parameter: source file CameraPrototypes.x3d filesize 52278 bytes > > parameter: "-validate"? for model validation > > validate results: > > WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare Camera has no corresponding ProtoInstance attached to the scene graph. > > WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare CameraShot has no corresponding ProtoInstance attached to the scene graph. > > WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare CameraMovement has no corresponding ProtoInstance attached to the scene graph. > > WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare OfflineRender has no corresponding ProtoInstance attached to the scene graph. > > CameraPrototypes self-validation test results: success > > net/x3djsonld/data/CloudsProcedural4 > > parameter: source file CloudsProcedural4.x3d filesize 14615 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=Shape (Shape), child=Rectangle2D, java.lang.ClassCastException: org.web3d.x3d.jsail.Shape.ShapeObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.Shape.ShapeObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:868) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.CloudsProcedural4.main(CloudsProcedural4.java:540) > > validate results: > > success, no problems noted > > CloudsProcedural4 self-validation test results: success > > net/x3djsonld/data/cube > > parameter: source file cube.x3d filesize 56902 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=Normal, java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:868) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.cube.main(cube.java:222) > > validate results: > > success, no problems noted > > cube self-validation test results: success > > net/x3djsonld/data/flowers > > parameter: source file flowers.x3d filesize 12425 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.flowers.main(flowers.java:294) > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.flowers.main(flowers.java:294) > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ? ??????at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.flowers.main(flowers.java:294) > > validate results: > > success, no problems noted > > flowers self-validation test results: success > > net/x3djsonld/data/flowers7 > > parameter: source file flowers7.x3d filesize 16066 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.flowers7.main(flowers7.java:285) > > validate results: > > success, no problems noted > > flowers7 self-validation test results: success > > net/x3djsonld/data/freewrlflowers > > parameter: source file freewrlflowers.x3d filesize 2717 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] ProtoInstance FlowerProto found but node type is unknown and containerField is children, unable to add to scene graph > > validate results: > > WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare FlowerProto has no corresponding ProtoInstance attached to the scene graph. > > freewrlflowers self-validation test results: success > > net/x3djsonld/data/geo > > parameter: source file geo.x3d filesize 4607 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.geo.main(geo.java:145) > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=field (field), child=ComposedCubeMapTexture, java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:679) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.geo.main(geo.java:145) > > validate results: > > success, no problems noted > > geo self-validation test results: success > > net/x3djsonld/data/glflowers > > parameter: source file glflowers.x3d filesize 2711 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] ProtoInstance FlowerProto found but node type is unknown and containerField is children, unable to add to scene graph > > validate results: > > WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare FlowerProto has no corresponding ProtoInstance attached to the scene graph. > > glflowers self-validation test results: success > > net/x3djsonld/data/HeadsUpDisplayExample > > parameter: source file HeadsUpDisplayExample.x3d filesize 4486 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] ProtoInstance HeadsUpDisplay found but node type is unknown and containerField is children, unable to add to scene graph > > validate results: > > WARNING_PROTOINSTANCE_NOT_FOUND, ExternProtoDeclare HeadsUpDisplay has no corresponding ProtoInstance attached to the scene graph. > > HeadsUpDisplayExample self-validation test results: success > > net/x3djsonld/data/HeadsUpDisplayPrototype > > parameter: source file HeadsUpDisplayPrototype.x3d filesize 7368 bytes > > parameter: "-validate"? for model validation > > validate results: > > WARNING_PROTOINSTANCE_NOT_FOUND, ProtoDeclare HeadsUpDisplay has no corresponding ProtoInstance attached to the scene graph. > > HeadsUpDisplayPrototype self-validation test results: success > > net/x3djsonld/data/ifscube > > parameter: source file ifscube.x3d filesize 1143 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=Normal, java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:868) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.ifscube.main(ifscube.java:111) > > validate results: > > success, no problems noted > > ifscube self-validation test results: success > > net/x3djsonld/data/ifscubeworks > > parameter: source file ifscubeworks.x3d filesize 1103 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=Normal, java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:868) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.ifscubeworks.main(ifscubeworks.java:111) > > validate results: > > success, no problems noted > > ifscubeworks self-validation test results: success > > net/x3djsonld/data/indexedfaceset_pixeltexture_entire > > parameter: source file indexedfaceset_pixeltexture_entire.x3d filesize 3596 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) failed (likely due to illegal value), > > ?? java.lang.reflect.InvocationTargetException null > > ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) For input string: "0xFF0000FF" > > validate results: > > success, no problems noted > > indexedfaceset_pixeltexture_entire self-validation test results: success > > net/x3djsonld/data/indexedfaceset_pixeltexture_part > > parameter: source file indexedfaceset_pixeltexture_part.x3d filesize 4011 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) failed (likely due to illegal value), > > ?? java.lang.reflect.InvocationTargetException null > > ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) For input string: "0xFF0000FF" > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=TextureCoordinate, java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:818) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.indexedfaceset_pixeltexture_part.main(indexedfaceset_pixeltexture_part.java:196) > > validate results: > > success, no problems noted > > indexedfaceset_pixeltexture_part self-validation test results: success > > net/x3djsonld/data/indexedfaceset_pixeltexture_plus > > parameter: source file indexedfaceset_pixeltexture_plus.x3d filesize 4000 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) failed (likely due to illegal value), > > ?? java.lang.reflect.InvocationTargetException null > > ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) For input string: "0xFF0000FF" > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=TextureCoordinate, java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:818) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.indexedfaceset_pixeltexture_plus.main(indexedfaceset_pixeltexture_plus.java:196) > > validate results: > > success, no problems noted > > indexedfaceset_pixeltexture_plus self-validation test results: success > > net/x3djsonld/data/indexedfaceset_pixeltexture_whole > > parameter: source file indexedfaceset_pixeltexture_whole.x3d filesize 4087 bytes > > parameter: "-validate"? for model validation > > [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) failed (likely due to illegal value), > > ?? java.lang.reflect.InvocationTargetException null > > ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) For input string: "0xFF0000FF" > > [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=IndexedFaceSet (IndexedFaceSet), child=TextureCoordinate, java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode > > java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:818) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:535) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:429) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:398) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:204) > > ??????? at org.web3d.x3d.jsail.X3DLoaderObject.loadModelFromFileX3D(X3DLoaderObject.java:188) > > ??????? at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:541) > > ??????? at org.web3d.x3d.jsail.Core.X3DObject.handleArguments(X3DObject.java:2816) > > ??????? at net.x3djsonld.data.indexedfaceset_pixeltexture_whole.main(indexedfaceset_pixeltexture_whole.java:201) > > validate results: > > success, no problems noted > > indexedfaceset_pixeltexture_whole self-validation test results: success > 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 http://faculty.nps.edu/brutzman From brutzman at nps.edu Tue Apr 17 20:21:13 2018 From: brutzman at nps.edu (Don Brutzman) Date: Tue, 17 Apr 2018 20:21:13 -0700 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraints forSFTimedurations and timestamps In-Reply-To: <5ad45e99.813fc80a.63cfa.b080@mx.google.com> References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> <4ca0493c-0b63-0e4b-4f54-512c908f556b@nps.edu> <5ad41fb6.11f5370a.bad1d.03b1@mx.google.com> <5ad45e99.813fc80a.63cfa.b080@mx.google.com> Message-ID: XvlShell is present as an example of adding extensibility to an XML DOCTYPE (DTD). The Xvl nodes are merely experimental: not approved by the X3D Abstract Specification, not in the X3D XML Schema, and not in the X3D Unified Object Model (X3DUOM). http://www.web3d.org/x3d/content/examples/Basic/LatticeXvl/ I believe that you will find that each of the models in that directory contains the error statement On 4/16/2018 1:28 AM, John Carlson wrote: > I don?t see XvlShell under the 3.0 object model.? Will you remove it from the JSON examples? > > Thanks, > > John > > Sent from Mail for Windows 10 > > *From: *John Carlson > *Sent: *Sunday, April 15, 2018 11:59 PM > *To: *Don Brutzman > *Cc: *X3D Graphics public mailing list ; X3D Graphics member mailing list ; npolys at vt.edu > *Subject: *RE: X3D JSON Schema Updates: determining event constraints forSFTimedurations and timestamps > > Don?t forget XvlShell and @headlight under the Object Model 3.0 (I will check). > > John 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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Tue Apr 17 21:12:33 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 18 Apr 2018 00:12:33 -0400 Subject: [x3d-public] X3D JSON Schema Updates: determining event constraintsforSFTimedurations and timestamps In-Reply-To: References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> <4ca0493c-0b63-0e4b-4f54-512c908f556b@nps.edu> <5ad41fb6.11f5370a.bad1d.03b1@mx.google.com> <5ad45e99.813fc80a.63cfa.b080@mx.google.com> Message-ID: <5ad6c5ad.46d1370a.e1e6c.26b0@mx.google.com> Finally incorporating meta.name=.error. into my schema checker shell script. John Sent from Mail for Windows 10 From: Don Brutzman Sent: Tuesday, April 17, 2018 11:23 PM To: John Carlson Cc: X3D Graphics public mailing list; X3D Graphics member mailing list; npolys at vt.edu Subject: Re: X3D JSON Schema Updates: determining event constraintsforSFTimedurations and timestamps XvlShell is present as an example of adding extensibility to an XML DOCTYPE (DTD). The Xvl nodes are merely experimental: not approved by the X3D Abstract Specification, not in the X3D XML Schema, and not in the X3D Unified Object Model (X3DUOM). http://www.web3d.org/x3d/content/examples/Basic/LatticeXvl/ I believe that you will find that each of the models in that directory contains the error statement On 4/16/2018 1:28 AM, John Carlson wrote: > I don?t see XvlShell under the 3.0 object model.? Will you remove it from the JSON examples? > > Thanks, > > John > > Sent from Mail for Windows 10 > > *From: *John Carlson > *Sent: *Sunday, April 15, 2018 11:59 PM > *To: *Don Brutzman > *Cc: *X3D Graphics public mailing list ; X3D Graphics member mailing list ; npolys at vt.edu > *Subject: *RE: X3D JSON Schema Updates: determining event constraints forSFTimedurations and timestamps > > Don?t forget XvlShell and @headlight under the Object Model 3.0 (I will check). > > John 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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Tue Apr 17 21:38:21 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 18 Apr 2018 00:38:21 -0400 Subject: [x3d-public] These files do not match X3D file naming conventions. They contain a space. Please fix, but I think I have a work around : grep --null Message-ID: <5ad6cbba.c233370a.53a27.21ec@mx.google.com> json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Basic\Web3dOutreach\Cube (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/Cube json-file file missing logo (The system cannot find the file specified) logo json-file file missing prototype.json (The system cannot find the file specified) prototype.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Basic\Web3dOutreach\Logo (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/Logo json-file file missing letters (The system cannot find the file specified) letters json-file file missing prototype.json (The system cannot find the file specified) prototype.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Basic\Web3dOutreach\VRH (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/VRH json-file file missing logo.json (The system cannot find the file specified) logo.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Basic\Web3dOutreach\VRH (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/VRH json-file file missing logo1.json (The system cannot find the file specified) logo1.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\WholeXSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/WholeXSL json-file file missing Output.json (The system cannot find the file specified) Output.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output.json (The system cannot find the file specified) Output.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output01FEB2010.json (The system cannot find the file specified) Output01FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output02FEB2010.json (The system cannot find the file specified) Output02FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output05FEB2010.json (The system cannot find the file specified) Output05FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output06FEB2010.json (The system cannot find the file specified) Output06FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output07FEB2010.json (The system cannot find the file specified) Output07FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output09FEB2010.json (The system cannot find the file specified) Output09FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output10FEB2010.json (The system cannot find the file specified) Output10FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output11FEB2010.json (The system cannot find the file specified) Output11FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output12FEB2010.json (The system cannot find the file specified) Output12FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output13FEB2010.json (The system cannot find the file specified) Output13FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output13JAN2010.json (The system cannot find the file specified) Output13JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output14FEB2010.json (The system cannot find the file specified) Output14FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output15FEB2010.json (The system cannot find the file specified) Output15FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output16FEB2010.json (The system cannot find the file specified) Output16FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output16JAN2010.json (The system cannot find the file specified) Output16JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output17FEB2010.json (The system cannot find the file specified) Output17FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output17JAN2010.json (The system cannot find the file specified) Output17JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output18FEB2010.json (The system cannot find the file specified) Output18FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output18JAN2010.json (The system cannot find the file specified) Output18JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output19FEB2010.json (The system cannot find the file specified) Output19FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output19JAN2010.json (The system cannot find the file specified) Output19JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output20FEB2010.json (The system cannot find the file specified) Output20FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output20JAN2010.json (The system cannot find the file specified) Output20JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output21FEB2010.json (The system cannot find the file specified) Output21FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output21JAN2010.json (The system cannot find the file specified) Output21JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output22FEB2010.json (The system cannot find the file specified) Output22FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output22JAN2010.json (The system cannot find the file specified) Output22JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output23FEB2010.json (The system cannot find the file specified) Output23FEB2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output23JAN2010.json (The system cannot find the file specified) Output23JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output24JAN2010.json (The system cannot find the file specified) Output24JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output25JAN2010.json (The system cannot find the file specified) Output25JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output26JAN2010.json (The system cannot find the file specified) Output26JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output27JAN2010.json (The system cannot find the file specified) Output27JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output28JAN2010.json (The system cannot find the file specified) Output28JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output29JAN2010.json (The system cannot find the file specified) Output29JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output30JAN2010.json (The system cannot find the file specified) Output30JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output31JAN2010.json (The system cannot find the file specified) Output31JAN2010.json json-file file missing C:\x3d-code\www.web3d.org\x3d\content\examples\Savage\Tools\Visualization\XSL (The system cannot find the file specified) C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/XSL json-file file missing Output7.json (The system cannot find the file specified) Output7.json -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Tue Apr 17 22:11:52 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 18 Apr 2018 01:11:52 -0400 Subject: [x3d-public] Please generate an array for -geometry here, it's an MFNode. in X3dToJson.xslt Message-ID: <5ad6d395.1c69fb81.9eb96.2546@mx.google.com> Here?s what it ends up in JSON: { "RigidBodyCollection": { "@DEF":"BODY-COLLECTION", "-bodies":[ { "RigidBody": { "@DEF":"BODY-1", "@position":[0.0,2.0,0.0], "-geometry": { "CollidableShape": { "@USE":"BALL-GEOM" } } } } ] } }, Is this valid? The object model says it is. However the autogenerated JSON schema doesn?t pass. Looking at the object model again, it says geometry is an MFNode. Therefore x3dToJson.xslt should generate an array, not an object. -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Tue Apr 17 22:34:37 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 18 Apr 2018 01:34:37 -0400 Subject: [x3d-public] These files fail Ajv JSON schema validation for draft07autogeneratedX3D JSON schema. Need eyes. In-Reply-To: <54f4ee74-871e-edf8-119e-26b4eb78b182@nps.edu> References: <5ad4472d.6631ed0a.928a7.e61a@mx.google.com> <5ad46de5.10e2370a.499f3.0ab4@mx.google.com> <54f4ee74-871e-edf8-119e-26b4eb78b182@nps.edu> Message-ID: <5ad6d8ea.1c69fb81.de217.2f02@mx.google.com> I think you will find that these files don?t pass JSON schema, and we need to find out why. Please help. I already found one. These have middistal_tip when it should be middle_distal_tip I think. Please verify. C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxMan.json C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxManAnimationPanel.json C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/InterchangableActorsViaDynamicRoutingPrototypes.json C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1.json C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Illustrated.json C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Invisible.json C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1.json C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Illustrated.json C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Invisible.json Search for the error at the leaves of the hierarchy. Attaching another Ajv results file as a zip this time. Please review it, and don?t assume that if it passes your validation, that it will pass mine. Also found here: https://coderextreme.net/results.txt John Sent from Mail for Windows 10 From: Don Brutzman Sent: Monday, April 16, 2018 11:36 PM To: John Carlson Cc: Roy Walmsley; x3d-public at web3d.org Subject: Re: These files fail Ajv JSON schema validation for draft07autogeneratedX3D JSON schema. Need eyes. Thanks for bug reports... Had trouble getting much back of help. Can you put AJV into a more verbose diagnostic mode? On 4/16/2018 2:33 AM, John Carlson wrote: > I was able to reduce the number of errors from Ajv by 75+%.? So there?s only 10 or so errors per file now.? Whew, and attached. > > Many of these may be ProtoInstance @name and @USE together. > > John > > Sent from Mail for Windows 10 > > *From: *John Carlson > *Sent: *Monday, April 16, 2018 2:48 AM > *To: *Don Brutzman ; Roy Walmsley ; x3d-public at web3d.org > *Subject: *These files fail Ajv JSON schema validation for draft07 autogeneratedX3D JSON schema. Need eyes. > > Please verify they are failing with Everit or online sources, and if so, fix the file or let me know what the error in the autogenerated versioned JSON schema is.? Or just report the actual error in the autogenerated schema for the version of X3D or file. > > You may use my x3dschema project https://github.com/coderextreme/x3dschema. > > Full error report from Ajv attached, gzipped, but it will probably lead you on some wild goose chases. > > Run: > > $ sh validate.sh > > With X3D Resource examples JSON zip extracted to C:/x3d-code or /c/x3d-code > > Thanks a bunch! Only able to spot check a few .x3d scenes tonite, not enough time to run your tests too. I ran jsonlint on a number, seemed to work. You might do that back-to-back with your validation tests. I reran all the JSON autogeneration last night, will upload them tonight. > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/FollowerPrototypeDeclarations.json This scene has lots of problems. Performing X3D Schematron check... [/X3D/head/meta[15], diagnostic] [/X3D/head/meta[16], diagnostic] [/X3D/head/meta[17], diagnostic] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[1], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[2], warning] url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:OrientationDamper" "Dampers.wrl#OrientationDamper" "http://www.hersto.net/Followers/Dampers.wrl#OrientationDamper"') [/X3D/Scene/ExternProtoDeclare[2], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[3], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[4], warning] url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:Position2fDamper" "Dampers.wrl#Position2fDamper" "http://www.hersto.net/Followers/Dampers.wrl#Position2fDamper"') [/X3D/Scene/ExternProtoDeclare[4], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[5], warning] url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:Position2fChaser" "Chasers.wrl#Position2fChaser" "http://www.hersto.net/Followers/Chasers.wrl#Position2fChaser"') [/X3D/Scene/ExternProtoDeclare[5], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[6], warning] url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:PositionChaser" "Chasers.wrl#PositionChaser" "http://www.hersto.net/Followers/Chasers.wrl#PositionChaser"') [/X3D/Scene/ExternProtoDeclare[6], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[7], warning] url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:PositionDamper" "Dampers.wrl#PositionDamper" "http://www.hersto.net/Followers/Dampers.wrl#PositionDamper"') [/X3D/Scene/ExternProtoDeclare[7], warning] has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[8], warning] --------- Validation checks complete for FollowerExternalPrototypeDeclarations.x3d --------- > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/Slider.json Went online to examples, and then "checkmark" button for online X3D Validator: http://www.web3d.org/x3d/content/examples/Basic http://www.web3d.org/x3d/content/examples/Basic/Followers/SliderIndex.html https://savage.nps.edu/X3dValidator?url=http://www.web3d.org/x3d/content/examples/Basic/Followers/Slider.x3d however having difficulty working from home tonite, didn't get any results... > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/ThirdPersonViewChaser.json Performing X3D Schematron check... [/X3D/head/meta[13], diagnostic] height array has 4 values when (xDimension * zDimension = 40 * 40 = 1600) values are required [/X3D/Scene/Transform[1]/Shape/ElevationGrid] is inactive since enabled='false' (and no ROUTE is provided to change this value) [/X3D/Scene/Transform[3]/Collision, warning] missing texCoordIndex array for contained TextureCoordinate node [/X3D/Scene/Transform[4]/Shape/IndexedFaceSet, error] --------- Validation checks complete for ThirdPersonViewFollower.x3d --------- The ElevationGrid has no grid values (default is 4) because it gets populated y a script... Perhaps that is the cause? > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDutton.json Certainly has some HAnim irregularities but am not seeing any validation problems: Performing X3D Schematron check... [/X3D/head/meta[8], diagnostic] DEF value does not contain correctly modified version of name value (for example, DEF='myPrefix_nameValue' e.g. DEF='myPrefix_Humanoid') - see H-Anim section C.2 Humanoid, VRML Binding [/X3D/Scene/HAnimHumanoid, error] version='' might not validate correctly, X3D validation support is tuned for ISO 19774 HAnimHumanoid version='2.2' [/X3D/Scene/HAnimHumanoid, warning] node count(HAnimJoint) within skeleton hierarchy = 17[/X3D/Scene/HAnimHumanoid, diagnostic] node count(HAnimSegment) within skeleton hierarchy = 16[/X3D/Scene/HAnimHumanoid, diagnostic] node count(HAnimSite) within HAnimHumanoid = 1[/X3D/Scene/HAnimHumanoid, diagnostic] node count(HAnimSite/Viewpoint) within skeleton hierarchy = 0[/X3D/Scene/HAnimHumanoid, diagnostic] node count(HAnimDisplacer) within skeleton hierarchy = 0[/X3D/Scene/HAnimHumanoid, diagnostic] node count( = 17[/X3D/Scene/HAnimHumanoid, diagnostic] node count( = 16[/X3D/Scene/HAnimHumanoid, diagnostic] node count( = 0[/X3D/Scene/HAnimHumanoid, diagnostic] node count( = 1[/X3D/Scene/HAnimHumanoid, diagnostic] has mismatched HAnimSite node counts, 1 within skeleton hierarchy and 0 USE nodes in sites field [/X3D/Scene/HAnimHumanoid, diagnostic] is missing child HAnimSegment to complete the connection made by this joint [/X3D/Scene/HAnimHumanoid/HAnimJoint[1], error] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0 1.01 -0.0204' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1], warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.122 0.888271 -0.0693267' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.0738 0.517 -0.0284' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.0645 0.0719 -0.048' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.11 0.892362 -0.0732533' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.0699 0.51 -0.0166' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.064 0.0753 -0.0412' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] DEF value does not contain correctly modified version of name value (for example, DEF='myPrefix_nameValue' e.g. DEF='myPrefix_l1') - see H-Anim section C.2 Humanoid, VRML Binding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, error] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.00405 1.07 -0.0275' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1], warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.167 1.36 -0.0518' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.196 1.07 -0.0518' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimJoint, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.213 0.811 -0.0338' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.167 1.36 -0.0458' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.192 1.07 -0.0498' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.217 0.811 -0.0338' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0 1.43 -0.0458' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimSegment, warning] has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0 1.4 0' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment, warning] missing texCoordIndex array for contained TextureCoordinate node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment/Transform/Shape/IndexedFaceSet, error] contains 4 Viewpoints, more than one may be ambiguous [/X3D/Scene/HAnimHumanoid/HAnimSite, info] is inactive since enabled='false' (and no ROUTE is provided to change this value) [/X3D/Scene/Group[1]/Collision, warning] --------- Validation checks complete for AllenDutton.x3d --------- > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDuttonProtoInstances.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxMan.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxManAnimationPanel.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/DiamondManLOA_0.json well this ought to be a simple one at least... but no.... element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimSegment/Transform, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment/Transform, warning] has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/Transform, warning] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[1], warning] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[2], warning] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[2], error] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[3], warning] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[3], error] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[4], warning] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[4], error] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[5], warning] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[5], error] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimSegment, warning] element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment/HAnimSite, warning] contains 4 Viewpoints, more than one may be ambiguous [/X3D/Scene/HAnimHumanoid/HAnimSite[1], info] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[2], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[3], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[4], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[5], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[6], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[7], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[8], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[9], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[10], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[11], error] has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[12], error] > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimBehaviorPrototypes.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3Illustrated.json > > 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionPrototypes.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounce.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounceSimple.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallJoint.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BodyGeometry.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BounceTrimesh.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/DoubleHingeJoint.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MotorJoint.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MovingBody.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SingleHingeJoint.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SliderJoint.json > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/UniversalJoint.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Vrml97Specification/Example15.json no errors found > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/Robot.json found 2 errors in scene, fixed incorrect url address and added viewpoint to trigger behavior. attached. This scene has nested prototypes, perhaps that is the problem with validation? > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Buildings/UHRB/SimpleBuildingConstructionExample.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/BuoyCommunicationsGridExample.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/SonobuoyFieldScenario.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHueneme.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHuenemeDIS.json > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Animation/PushButtonPrototype.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Illustrated.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Invisible.json > > 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhSeamless3dExport1.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Illustrated.json > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Invisible.json > > 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhSeamless3dExport1.json > 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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: results.zip Type: application/zip Size: 12566 bytes Desc: not available URL: From yottzumm at gmail.com Tue Apr 17 22:42:15 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 18 Apr 2018 01:42:15 -0400 Subject: [x3d-public] Fix X3dToJson.xslt. X3D Resources archives. Test results. Files failing basic JSON Parse. More [, ""]'s found. Message-ID: <5ad6dab4.1c69fb81.86e4a.2bb2@mx.google.com> Most probably due to MFString as [,""] in JSON. Failed JSON parse C:/x3d-code/www.web3d.org/x3d/content/examples/ConformanceNist/BindableNodes/Viewpoint/jumpcut_proximitysensor.json SyntaxError: Unexpected token , in JSON at position 6705 Failed JSON parse C:/x3d-code/www.web3d.org/x3d/content/examples/ConformanceNist/BindableNodes/Viewpoint/viewinline.json SyntaxError: Unexpected token , in JSON at position 15644 Failed JSON parse C:/x3d-code/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Button.json SyntaxError: Unexpected token , in JSON at position 3487 Failed JSON parse C:/x3d-code/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Cut.json SyntaxError: Unexpected token , in JSON at position 12319 Failed JSON parse C:/x3d-code/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Loader.json SyntaxError: Unexpected token , in JSON at position 8231 Failed JSON parse C:/x3d-code/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Query.json SyntaxError: Unexpected token , in JSON at position 4342 Failed JSON parse C:/x3d-code/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/TextFont.json SyntaxError: Unexpected token , in JSON at position 3918 Failed JSON parse C:/x3d-code/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/TextSize.json SyntaxError: Unexpected token , in JSON at position 3958 Failed JSON parse C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/HudKelpForest.json SyntaxError: Unexpected token , in JSON at position 12368 -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Wed Apr 18 00:10:26 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 18 Apr 2018 03:10:26 -0400 Subject: [x3d-public] X3D JSON validator Message-ID: <5ad6ef5e.1c69fb81.ae62b.3a5a@mx.google.com> X3D JSON validator is now online again at: https://coderextreme.net/X3DJSONLD/src/main/html/validator.html Let me know if I need to enable allErrors or verbosity. I think I may have to. John Sent from Mail for Windows 10 -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Wed Apr 18 07:38:38 2018 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 18 Apr 2018 07:38:38 -0700 Subject: [x3d-public] X3D JSON Schema Updates: support for different X3D versions In-Reply-To: References: <5ace1bb3.c32e370a.6588b.56bd@mx.google.com> <5ace1c8d.5829c80a.21c3c.61f6@mx.google.com> <5ace1dfc.0229ed0a.3679e.5df5@mx.google.com> <5ad2ee60.026c370a.77936.07e0@mx.google.com> <5ad2f854.8123ed0a.c84f4.e070@mx.google.com> <110da9d3-a115-7b3d-a655-0764245b00ec@nps.edu> Message-ID: <28b61f02-39d0-0409-13af-c3ef82767784@nps.edu> Thanks for the idea... version-wise, am thinking we are covered already so that specification annex is OK as is. In addition to Annex Z we have custom XML Schemas, XML DTDs, and now X3DUOM .xml files (which include full listings of nodes, fields and node types) for each version of X3D. So that is quite thorough at documenting each. As discussed, once we are fully stabilized on JSON Schema design patterns, we will be able to autogenerate all five versions of that as as well (3.0 3.1 3.2 3.3 4.0). Similar autogeneration progress will be possible for regularizing the Python bindings for X3D, am eager to further explore what you recently accomplished. I expect that today's X3D Working Group teleconference examining the C, C++ and C# language bindings for X3D will identify further synergies. So we really are approaching the point where X3D programming and X3D file formats are quite diverse yet consistent, unified by a shared object model and graphics patterns. This all builds a tremendous foundation for X3D v4. There really has never been a better time to join Web3D to support these interoperability efforts. Have fun with all X3D versions! 8) On 4/15/2018 4:23 PM, John Carlson wrote: > > > On Sun, Apr 15, 2018, 4:47 PM Don Brutzman > wrote: > > > You can see all the variations corresponding to X3D versions in the specification itself: > > X3D Abstract Specification,? Annex Z (normative) Version content > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/versionContent.html > > > If you had this in processable form instead of HTML, it would be easier to to create the other versions.? Or we could screen scrape it with beautiful soup or elementtree.? Let me know the best approach.? I think we can speed up your process below. > > John > > > > So yes there are a lot of differences.? Each time we get modifications to X3D XML DTD or Schema it usually takes me maybe two hours to carefully apply diffs from X3D v3.3 to versions 3.0, 3.1, 3.2 and 4.0 then update documentation. > 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 http://faculty.nps.edu/brutzman From brutzman at nps.edu Wed Apr 18 19:08:00 2018 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 18 Apr 2018 19:08:00 -0700 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt In-Reply-To: References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> Message-ID: <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> [cc: list, now that we've diagnosed the cause] aha good, thank you John! so you quit doing that (instead only invoking the Java by itself) and i go figure out what is going wrong. i have a better idea of what is causing the problem now, likely not enough handling of special cases for parent/child typing in the string-based DOM loader. On 4/18/2018 3:11 PM, John Carlson wrote: > Yes, specifying an .x3d file is what causes it to throw an exception. > > On Wed, Apr 18, 2018, 12:50 PM Don Brutzman > wrote: > > I was able to run all of your prior .java examples OK, including these. > > Why do you have the .x3d file on the same line?? It doesn't have to load itself... probably that is getting mistakenly parsed as a command-line switch.? Should just be invocation of the java class. > > example: > > ? ? ? ? java net/x3djsonld/data/plainflowers > > instead of > > ? ? ? ? java net/x3djsonld/data/plainflowers ../data/plainflowers.x3d > > Meanwhile I will look further at loader object handling of these cases. > > On 4/17/2018 11:31 PM, John Carlson wrote: > > Here?s the class cast exceptions being generated.? Perhaps we can add interfaces? > > > > java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > > > java.lang.ClassCastException: org.web3d.x3d.jsail.EnvironmentalEffects.TextureBackgroundObject cannot be cast to org.web3d.x3d.jsail.Shape.AppearanceObject > > > > java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.BoxObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > > > java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode > > > > java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.SphereObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode > > > > java.lang.ClassCastException: org.web3d.x3d.jsail.Shape.AppearanceObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode > > > > java.lang.ClassCastException: org.web3d.x3d.jsail.Shape.ShapeObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode > > > > java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode > > > > Otherwise, these probably need to be handled differently in the code with instanceof or some such. See exceptions.txt for line numbers. > > > > Or else your generated Java (from XML) code is wrong?but I?m not sure why it?s being used if an XML file is being loaded.? Do you need the Java code again? > > > > Thanks, > > > > John > > > > Sent from Mail for Windows 10 > > > > *From: *John Carlson > > > *Sent: *Wednesday, April 18, 2018 12:06 AM > > *To: *Don Brutzman > > > *Subject: *RE: X3DJSAIL, X3dToJava.xslt > > > > Here are all the invocations that fail, with the Exception generated: > > > > http://coderextreme.net/exceptions.txt > > > > Something?s up.?? Is there a generic program I can use to load an X3D XML file? > > > > Thanks! > > > > John > > > > Sent from Mail for Windows 10 > > > > *From: *Don Brutzman > > > *Sent: *Tuesday, April 17, 2018 10:53 PM > > *To: *John Carlson > > > *Subject: *Re: X3DJSAIL, X3dToJava.xslt > > > > Here is an example invocation for one of the examples that you had copied: > > > > =================================== > > > > E:\x3d-code\www.web3d.org \x3d\content\examples\X3dForAdvancedModeling/Buildings//ArchHalf.java produced from ArchHalf.x3d > > > > /** Large attribute array: IndexedFaceSet DEF='ArchIndex' coordIndex field, scene-graph level=4, element #12, 318 total numbers */ > > > > /** Large attribute array: Coordinate DEF='ArchChord' point field, scene-graph level=5, element #12, 468 total numbers made up of 156 3-tuple values */ > > > > [Large tuple found: Coordinate point, $tupleCount=156, $tupleSplitSize=10, string-length=3311] > > > > Compiling 1 source file to E:\x3d-code\www.web3d.org \x3d\content\examples\X3dForAdvancedModeling\classes > > > > now run and validate the java model > > > > java -classpath classes;../../../stylesheets/java/jars/X3DJSAIL.3.3.full.jar X3dForAdvancedModeling.Buildings.ArchHalf > > > > Java program "ArchHalf" self-validation test results: success > > > > =================================== > > > > 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 http://faculty.nps.edu/brutzman > > > > > 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 http://faculty.nps.edu/brutzman > 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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Wed Apr 18 19:13:15 2018 From: yottzumm at gmail.com (John Carlson) Date: Thu, 19 Apr 2018 02:13:15 +0000 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt In-Reply-To: <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> Message-ID: There are other problems too, besides casting. I think they are also due to string formatting, but not really sure. On Wed, Apr 18, 2018, 10:09 PM Don Brutzman wrote: > [cc: list, now that we've diagnosed the cause] > > aha good, thank you John! so you quit doing that (instead only invoking > the Java by itself) and i go figure out what is going wrong. > > i have a better idea of what is causing the problem now, likely not enough > handling of special cases for parent/child typing in the string-based DOM > loader. > > On 4/18/2018 3:11 PM, John Carlson wrote: > > Yes, specifying an .x3d file is what causes it to throw an exception. > > > > On Wed, Apr 18, 2018, 12:50 PM Don Brutzman brutzman at nps.edu>> wrote: > > > > I was able to run all of your prior .java examples OK, including > these. > > > > Why do you have the .x3d file on the same line? It doesn't have to > load itself... probably that is getting mistakenly parsed as a command-line > switch. Should just be invocation of the java class. > > > > example: > > > > java net/x3djsonld/data/plainflowers > > > > instead of > > > > java net/x3djsonld/data/plainflowers > ../data/plainflowers.x3d > > > > Meanwhile I will look further at loader object handling of these > cases. > > > > On 4/17/2018 11:31 PM, John Carlson wrote: > > > Here?s the class cast exceptions being generated. Perhaps we can > add interfaces? > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be > cast to org.web3d.x3d.sai.Core.X3DChildNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.EnvironmentalEffects.TextureBackgroundObject cannot be > cast to org.web3d.x3d.jsail.Shape.AppearanceObject > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Geometry3D.BoxObject cannot be cast to > org.web3d.x3d.sai.Core.X3DChildNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to > org.web3d.x3d.sai.Grouping.X3DGroupingNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Geometry3D.SphereObject cannot be cast to > org.web3d.x3d.sai.Core.X3DChildNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Shape.AppearanceObject cannot be cast to > org.web3d.x3d.sai.Grouping.X3DGroupingNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Shape.ShapeObject cannot be cast to > org.web3d.x3d.sai.Grouping.X3DGroupingNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to > org.web3d.x3d.sai.Rendering.X3DCoordinateNode > > > > > > Otherwise, these probably need to be handled differently in the > code with instanceof or some such. See exceptions.txt for line numbers. > > > > > > Or else your generated Java (from XML) code is wrong?but I?m not > sure why it?s being used if an XML file is being loaded. Do you need the > Java code again? > > > > > > Thanks, > > > > > > John > > > > > > Sent from Mail > for Windows 10 > > > > > > *From: *John Carlson yottzumm at gmail.com>> > > > *Sent: *Wednesday, April 18, 2018 12:06 AM > > > *To: *Don Brutzman brutzman at nps.edu>> > > > *Subject: *RE: X3DJSAIL, X3dToJava.xslt > > > > > > Here are all the invocations that fail, with the Exception > generated: > > > > > > http://coderextreme.net/exceptions.txt > > > > > > Something?s up. Is there a generic program I can use to load an > X3D XML file? > > > > > > Thanks! > > > > > > John > > > > > > Sent from Mail > for Windows 10 > > > > > > *From: *Don Brutzman brutzman at nps.edu>> > > > *Sent: *Tuesday, April 17, 2018 10:53 PM > > > *To: *John Carlson yottzumm at gmail.com>> > > > *Subject: *Re: X3DJSAIL, X3dToJava.xslt > > > > > > Here is an example invocation for one of the examples that you > had copied: > > > > > > =================================== > > > > > > E:\x3d-code\www.web3d.org \x3d\content\examples\X3dForAdvancedModeling/Buildings//ArchHalf.java > produced from ArchHalf.x3d > > > > > > /** Large attribute array: IndexedFaceSet DEF='ArchIndex' > coordIndex field, scene-graph level=4, element #12, 318 total numbers */ > > > > > > /** Large attribute array: Coordinate DEF='ArchChord' point > field, scene-graph level=5, element #12, 468 total numbers made up of 156 > 3-tuple values */ > > > > > > [Large tuple found: Coordinate point, $tupleCount=156, > $tupleSplitSize=10, string-length=3311] > > > > > > Compiling 1 source file to E:\x3d-code\www.web3d.org < > http://www.web3d.org>\x3d\content\examples\X3dForAdvancedModeling\classes > > > > > > now run and validate the java model > > > > > > java -classpath > classes;../../../stylesheets/java/jars/X3DJSAIL.3.3.full.jar > X3dForAdvancedModeling.Buildings.ArchHalf > > > > > > Java program "ArchHalf" self-validation test results: success > > > > > > =================================== > > > > > > 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 > http://faculty.nps.edu/brutzman > > > > > > > > > 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 > http://faculty.nps.edu/brutzman > > > > > 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 > http://faculty.nps.edu/brutzman > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Wed Apr 18 19:16:30 2018 From: yottzumm at gmail.com (John Carlson) Date: Thu, 19 Apr 2018 02:16:30 +0000 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt In-Reply-To: <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> Message-ID: It will be important for the JSON to DOM loader, once we start stress testing that. John On Wed, Apr 18, 2018, 10:09 PM Don Brutzman wrote: > [cc: list, now that we've diagnosed the cause] > > aha good, thank you John! so you quit doing that (instead only invoking > the Java by itself) and i go figure out what is going wrong. > > i have a better idea of what is causing the problem now, likely not enough > handling of special cases for parent/child typing in the string-based DOM > loader. > > On 4/18/2018 3:11 PM, John Carlson wrote: > > Yes, specifying an .x3d file is what causes it to throw an exception. > > > > On Wed, Apr 18, 2018, 12:50 PM Don Brutzman brutzman at nps.edu>> wrote: > > > > I was able to run all of your prior .java examples OK, including > these. > > > > Why do you have the .x3d file on the same line? It doesn't have to > load itself... probably that is getting mistakenly parsed as a command-line > switch. Should just be invocation of the java class. > > > > example: > > > > java net/x3djsonld/data/plainflowers > > > > instead of > > > > java net/x3djsonld/data/plainflowers > ../data/plainflowers.x3d > > > > Meanwhile I will look further at loader object handling of these > cases. > > > > On 4/17/2018 11:31 PM, John Carlson wrote: > > > Here?s the class cast exceptions being generated. Perhaps we can > add interfaces? > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be > cast to org.web3d.x3d.sai.Core.X3DChildNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.EnvironmentalEffects.TextureBackgroundObject cannot be > cast to org.web3d.x3d.jsail.Shape.AppearanceObject > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Geometry3D.BoxObject cannot be cast to > org.web3d.x3d.sai.Core.X3DChildNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to > org.web3d.x3d.sai.Grouping.X3DGroupingNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Geometry3D.SphereObject cannot be cast to > org.web3d.x3d.sai.Core.X3DChildNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Shape.AppearanceObject cannot be cast to > org.web3d.x3d.sai.Grouping.X3DGroupingNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Shape.ShapeObject cannot be cast to > org.web3d.x3d.sai.Grouping.X3DGroupingNode > > > > > > java.lang.ClassCastException: > org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to > org.web3d.x3d.sai.Rendering.X3DCoordinateNode > > > > > > Otherwise, these probably need to be handled differently in the > code with instanceof or some such. See exceptions.txt for line numbers. > > > > > > Or else your generated Java (from XML) code is wrong?but I?m not > sure why it?s being used if an XML file is being loaded. Do you need the > Java code again? > > > > > > Thanks, > > > > > > John > > > > > > Sent from Mail > for Windows 10 > > > > > > *From: *John Carlson yottzumm at gmail.com>> > > > *Sent: *Wednesday, April 18, 2018 12:06 AM > > > *To: *Don Brutzman brutzman at nps.edu>> > > > *Subject: *RE: X3DJSAIL, X3dToJava.xslt > > > > > > Here are all the invocations that fail, with the Exception > generated: > > > > > > http://coderextreme.net/exceptions.txt > > > > > > Something?s up. Is there a generic program I can use to load an > X3D XML file? > > > > > > Thanks! > > > > > > John > > > > > > Sent from Mail > for Windows 10 > > > > > > *From: *Don Brutzman brutzman at nps.edu>> > > > *Sent: *Tuesday, April 17, 2018 10:53 PM > > > *To: *John Carlson yottzumm at gmail.com>> > > > *Subject: *Re: X3DJSAIL, X3dToJava.xslt > > > > > > Here is an example invocation for one of the examples that you > had copied: > > > > > > =================================== > > > > > > E:\x3d-code\www.web3d.org \x3d\content\examples\X3dForAdvancedModeling/Buildings//ArchHalf.java > produced from ArchHalf.x3d > > > > > > /** Large attribute array: IndexedFaceSet DEF='ArchIndex' > coordIndex field, scene-graph level=4, element #12, 318 total numbers */ > > > > > > /** Large attribute array: Coordinate DEF='ArchChord' point > field, scene-graph level=5, element #12, 468 total numbers made up of 156 > 3-tuple values */ > > > > > > [Large tuple found: Coordinate point, $tupleCount=156, > $tupleSplitSize=10, string-length=3311] > > > > > > Compiling 1 source file to E:\x3d-code\www.web3d.org < > http://www.web3d.org>\x3d\content\examples\X3dForAdvancedModeling\classes > > > > > > now run and validate the java model > > > > > > java -classpath > classes;../../../stylesheets/java/jars/X3DJSAIL.3.3.full.jar > X3dForAdvancedModeling.Buildings.ArchHalf > > > > > > Java program "ArchHalf" self-validation test results: success > > > > > > =================================== > > > > > > 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 > http://faculty.nps.edu/brutzman > > > > > > > > > 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 > http://faculty.nps.edu/brutzman > > > > > 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 > http://faculty.nps.edu/brutzman > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 22 21:47:15 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 23 Apr 2018 00:47:15 -0400 Subject: [x3d-public] X3dToJava.xslt. SFVec3dObject should not be constructed with float array (or should it?). double array might work. Attached. Message-ID: <5add6552.050c370a.54c40.b3c6@mx.google.com> .\net\x3djsonld\data\geobubbles.java:84: error: no suitable constructor found for SFVec3dObject(float[]) .addChild(new GeoViewpointObject("Tour").setDescription("Tour Views").setPosition(new SFVec3dObject(new float[] {0.0f,0.0f,4.0f})).setOrientation(new SFRotationObject(new float[] {1.0f,0.0f,0.0f,0.0f}))) ^ constructor SFVec3dObject.SFVec3dObject(SFVec3dObject) is not applicable (argument mismatch; float[] cannot be converted to SFVec3dObject) constructor SFVec3dObject.SFVec3dObject(double[]) is not applicable (argument mismatch; float[] cannot be converted to double[]) Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output Sent from Mail for Windows 10 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: geobubbles.java Type: application/octet-stream Size: 10839 bytes Desc: not available URL: From yottzumm at gmail.com Sun Apr 22 21:53:44 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 23 Apr 2018 00:53:44 -0400 Subject: [x3d-public] X3dToJava.xslt Message-ID: <5add66d7.1c69fb81.bc1d7.d801@mx.google.com> $ java model_program -v prints no validation warnings, and neither does $ java model_program. I can send examples. John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 22 22:00:55 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 23 Apr 2018 01:00:55 -0400 Subject: [x3d-public] X3dToJava.xslt In-Reply-To: <5add66d7.1c69fb81.bc1d7.d801@mx.google.com> References: <5add66d7.1c69fb81.bc1d7.d801@mx.google.com> Message-ID: <5add6885.1c69fb81.e73b5.196f@mx.google.com> Looks like validationReport() is returning success when it shouldn?t??? validateSelf() seems to return the right thing. John Sent from Mail for Windows 10 From: John Carlson Sent: Monday, April 23, 2018 12:53 AM To: x3d-public at web3d.org; Don Brutzman Subject: X3dToJava.xslt $ java model_program -v prints no validation warnings, and neither does $ java model_program.? I can send examples. John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 22 22:09:08 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 23 Apr 2018 01:09:08 -0400 Subject: [x3d-public] Idea for X3dToJava.xslt Message-ID: <5add6a73.1c69fb81.170b5.298a@mx.google.com> Perhaps the Java program could download the X3DJSAIL*.jar from over the network, so one is always up to date? I?ve got some examples of that. Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 22 22:11:57 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 23 Apr 2018 01:11:57 -0400 Subject: [x3d-public] NullPointerException, X3DJSAIL. Attached example. Most recent code. Message-ID: <5add6b1b.1c69fb81.baaf7.b3c5@mx.google.com> $ java net/x3djsonld/data/arc -v Exception in thread "main" java.lang.NullPointerException at org.web3d.x3d.jsail.Core.ProtoInstanceObject.getOriginalName(ProtoInstanceObject.java:719) at org.web3d.x3d.jsail.Core.ProtoInstanceObject.validate(ProtoInstanceObject.java:1222) at org.web3d.x3d.jsail.Core.fieldValueObject.validate(fieldValueObject.java:982) at org.web3d.x3d.jsail.Core.ProtoInstanceObject.addFieldValue(ProtoInstanceObject.java:1332) at net.x3djsonld.data.arc.initialize(arc.java:189) at net.x3djsonld.data.arc.(arc.java:66) at net.x3djsonld.data.arc.main(arc.java:242) Sent from Mail for Windows 10 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: arc.java Type: application/octet-stream Size: 16341 bytes Desc: not available URL: From yottzumm at gmail.com Sun Apr 22 22:27:06 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 23 Apr 2018 01:27:06 -0400 Subject: [x3d-public] Idea for X3dToJava.xslt In-Reply-To: <5add6a73.1c69fb81.170b5.298a@mx.google.com> References: <5add6a73.1c69fb81.170b5.298a@mx.google.com> Message-ID: <5add6ea8.c39a370a.978d5.97d3@mx.google.com> Looks like this works for a single class, and probably some kind of RMI. Good luck if you decide to do something like this. John import java.net.*; import java.lang.reflect.*; public class LocalMUDClient extends URLClassLoader { static public void main(String args[]) { try { String nick = "John"; if (args.length > 0) { nick = args[0]; } String room = "rmi://localhost/Generic_Room"; if (args.length > 1) { room = args[1]; } String url = "jar:http://localhost/webstart/chat/icbmc.jar!/"; if (args.length > 2) { url = args[2]; } String args2[] = new String[1]; // String args2[] = new String[2]; args2[0] = nick; // args2[1] = room; URL urls[] = new URL[1]; urls[0] = new URL(url); LocalMUDClient j = new LocalMUDClient(urls); Class c = j.findClass("icbm.MUDClient"); System.err.println(c.getName()); Class params[] = new Class[1]; params[0] = args2.getClass(); Constructor cons = c.getConstructor(params); Object objs[] = new Object[1]; objs[0] = args2; cons.newInstance(objs); } catch (Exception e) { e.printStackTrace(); } } public LocalMUDClient(URL urls[]) { super(urls); } } Sent from Mail for Windows 10 From: John Carlson Sent: Monday, April 23, 2018 1:09 AM To: Don Brutzman; x3d-public at web3d.org Subject: Idea for X3dToJava.xslt Perhaps the Java program could download the X3DJSAIL*.jar from over the network, so one is always up to date?? I?ve got some examples of that. Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 22 22:44:44 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 23 Apr 2018 01:44:44 -0400 Subject: [x3d-public] Idea for X3dToJava.xslt In-Reply-To: <5add6ea8.c39a370a.978d5.97d3@mx.google.com> References: <5add6a73.1c69fb81.170b5.298a@mx.google.com> <5add6ea8.c39a370a.978d5.97d3@mx.google.com> Message-ID: <5add72ca.1c69fb81.72027.bd6b@mx.google.com> The idea would be have a single class factory in the jar which creates all your X3D objects, so you would call into the factory instead of directly calling new on the constructor. Then you would load the class factory with the custom URLClassLoader which has loaded the X3DJSAIL*.jar from over the network. Something to think about, maybe create a separate X3dToJavaFactory.xslt for those who want to use the network jar. Hmm. It might now be too hard to change my JavaSerializer to do something like this. Hmm. Hmm. Or maybe add the Jar to the system classloader path dynamically. Hmm. Hmm. How to keep people up to date with the latest. Hmm. Hmm. Can you put https:// on the classpath? You can with webstart. Maybe we should do a webstart solution? Something to think about. John Sent from Mail for Windows 10 From: John Carlson Sent: Monday, April 23, 2018 1:27 AM To: Don Brutzman; x3d-public at web3d.org Subject: RE: Idea for X3dToJava.xslt Looks like this works for a single class, and probably some kind of RMI.? Good luck if you decide to do something like this. John import java.net.*; import java.lang.reflect.*; public class LocalMUDClient extends URLClassLoader { ??????? static public void main(String args[]) { ??????????????? try { ??????????????????????? String nick = "John"; ??????????????????????? if (args.length > 0) { ??????????????????????????????? nick = args[0]; ??????????????????????? } ??????????????????????? String room = "rmi://localhost/Generic_Room"; ??????????????????????? if (args.length > 1) { ????????????????? ??????????????room = args[1]; ??????????????????????? } ??????????????????????? String url = "jar:http://localhost/webstart/chat/icbmc.jar!/"; ??????????????????????? if (args.length > 2) { ??????????????????????????????? url = args[2]; ?????????????????? ?????} ??????????????????????? String args2[] = new String[1]; ??????????????????????? // String args2[] = new String[2]; ??????????????????????? args2[0] = nick; ??????????????????????? // args2[1] = room; ??????????????????????? URL urls[] = new URL[1]; ??????????????????????? urls[0] = new URL(url); ??????????????????????? LocalMUDClient j = new LocalMUDClient(urls); ??????????????????????? Class c = j.findClass("icbm.MUDClient"); ??????????????????????? System.err.println(c.getName()); ??????????????? ????????Class params[] = new Class[1]; ??????????????????????? params[0] = args2.getClass(); ??????????????????????? Constructor cons = c.getConstructor(params); ??????????????????????? Object objs[] = new Object[1]; ??????????????????????? objs[0] = args2; ??????????????????????? cons.newInstance(objs); ??????????????? } catch (Exception e) { ??????????????????????? e.printStackTrace(); ??????????????? } ??????? } ??????? public LocalMUDClient(URL urls[]) { ????????? ??????super(urls); ??????? } } Sent from Mail for Windows 10 From: John Carlson Sent: Monday, April 23, 2018 1:09 AM To: Don Brutzman; x3d-public at web3d.org Subject: Idea for X3dToJava.xslt Perhaps the Java program could download the X3DJSAIL*.jar from over the network, so one is always up to date?? I?ve got some examples of that. Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Sun Apr 22 23:13:06 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 22 Apr 2018 23:13:06 -0700 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt updates In-Reply-To: References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> Message-ID: <977c5cd7-19c2-110b-53b9-c07b8e2dfe7c@nps.edu> Release announcement: lots of improvements checked in and deployed tonight. X3D Java Scene Access Interface Library (X3DJSAIL) supports programmers with standards-based X3D Java interfaces and objects, all as open source. http://www.web3d.org/specifications/java/X3DJSAIL.html ======================================================================== 1. X3D Example Archives testing and X3DJSAIL improvements. Added X3DJSAIL CommandLine -toJava switch. Great suggestion to focus on serious testing to shake out the DOM loader. Figured out a new Ant build.xml task that invokes X3DJSAIL CommandLine class to -validate all .java translations in each archive. Fixed a number of Prototype problems, most of which resulted when we said ProtoInstance USE nodes no longer include a name attribute. A few warnings remain but most appear to be fixed. Diagnostic testing and improvements continue. Best part of -validate testing is that it really exercises the expected majority of all DOM-based X3DLoader tests. Made a number of valuable fixes. Added design pattern to handle setting ProtoInstance as an SFNode field. Will need another pattern for handling addition of a single ProtoInstance to an MFNode field (other than X3DGroupingNode and similar children), which are rare but important cases. John: I think that you will find a number of your prior problem cases are fixed now. ======================================================================== 2. X3dToJava.xslt stylesheet (converts .x3d model to X3DJSAIL .java code) a. Improved self-validation diagnostics output. b. Lots of work trying to get past the 64K method limit in compiled Java for very-large CAD and scan scenes. Limited success, but the autogenerated code is highly modularized for large arrays and likely provides more coverage now. Minor tuning on split values may continue. Links and snippet follow. http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/overview-summary.html http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/X3dForAdvancedModeling/AdditiveManufacturing/package-summary.html http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/X3dForAdvancedModeling/AdditiveManufacturing/CleatClamp.html http://x3dgraphics.com/examples/X3dForAdvancedModeling/AdditiveManufacturing/CleatClamp.java private float[] getCoordinate_11_27_point_15 () { float[] value = {44.0423f,2.50799f,0.800294f,43.8924f,2.50799f,1.58088f,43.6466f,2.50799f,2.32254f,43.9513f,1.83688f,2.51659f,44.1587f,1.12054f,2.64868f,44.2636f,0.376604f,2.71555f,44.2636f,-0.376604f,2.71555f,44.1587f,-1.12054f,2.64868f,43.9513f,-1.83688f,2.51659f,44.0423f,-2.50799f,0.800294f,44.2176f,-1.83688f,1.71297f,44.38f,-1.83688f,0.86716f,44.0927f,-2.50799f,0.0f,44.0423f,-2.50799f,-0.800294f,44.38f,-1.83688f,-0.86716f,44.2176f,-1.83688f,-1.71297f,44.4389f,-1.12054f,-1.80287f,44.551f,-0.376604f,-1.84839f,44.551f,0.376604f,-1.84839f,44.4389f,1.12054f,-1.80287f,44.2176f,1.83688f,-1.71297f,44.38f,1.83688f,-0.86716f,44.4346f,1.83688f,0.0f,44.38f,1.83688f,0.86716f,44.2176f,1.83688f,1.71297f,44.4389f,1.12054f,1.80287f,44.551f,0.376604f,1.84839f,44.551f,-0.376604f,1.84839f,44.4389f,-1.12054f,1.80287f,44.6099f,-1.12054f,0.912673f,44.6674f,-1.12054f,0.0f,44.4346f,-1.83688f,0.0f,44.6099f,-1.12054f,-0.912673f,44.7263f,-0.376604f,-0.935713f,44.7263f,0.376604f,-0.935713f,44.6099f,1.12054f,-0.912673f,44.6674f,1.12054f,0.0f,44.6099f,1.12054f,0.912673f,44.7263f,0.376604f,0.935713f,44.7263f,-0.376604f,0.935713f,44.7852f,-0.376604f,0.0f,44.7852f,0.376604f,0.0f}; return value; } /** Large attribute array: Coordinate point field, scene-graph level=11, element #27, 4326 total numbers made up of 1442 3-tuple values * Provide large array value via a separate method, in order to avoid 'code too large' Java compilation errors. * Individual Java methods (including aggregated initializations) are limited to 64KB. * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error */ private MFVec3fObject getCoordinate_11_27_point () { /* splitting up long array to improve readability */ MFVec3fObject Coordinate_11_27_point = new MFVec3fObject() .append(new MFVec3fObject(getCoordinate_11_27_point_1())) .append(new MFVec3fObject(getCoordinate_11_27_point_2())) .append(new MFVec3fObject(getCoordinate_11_27_point_3())) .append(new MFVec3fObject(getCoordinate_11_27_point_4())) .append(new MFVec3fObject(getCoordinate_11_27_point_5())) .append(new MFVec3fObject(getCoordinate_11_27_point_6())) .append(new MFVec3fObject(getCoordinate_11_27_point_7())) .append(new MFVec3fObject(getCoordinate_11_27_point_8())) .append(new MFVec3fObject(getCoordinate_11_27_point_9())) .append(new MFVec3fObject(getCoordinate_11_27_point_10())) .append(new MFVec3fObject(getCoordinate_11_27_point_11())) .append(new MFVec3fObject(getCoordinate_11_27_point_12())) .append(new MFVec3fObject(getCoordinate_11_27_point_13())) .append(new MFVec3fObject(getCoordinate_11_27_point_14())) .append(new MFVec3fObject(getCoordinate_11_27_point_15())); return Coordinate_11_27_point; } ======================================================================== 3. More to follow. John your examples were very helpful and focused me on several key problems that needed remedying. A lot is fixed, more is needed. Better and better... I will stick with the organized review of DOM-based X3DLoader.java to try to achieve thoroughness, probably next weekend. As requested, I added an ant build.xml task "get.X3DJSAIL.update" which allows end users to update the copy of X3DJSAIL contained within each of the X3D Example Archives. Console excerpt: get.X3DJSAIL.update: get latest X3DJSAIL update from http://www.web3d.org/specifications/java/X3DJSAIL.html Getting: http://www.web3d.org/specifications/java/jars/X3DJSAIL.3.3.full.jar To: E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling\lib\X3DJSAIL.3.3.full.jar ................ Download complete, lib/X3DJSAIL.3.3.full.jar size 30355885 bytes BUILD SUCCESSFUL (total time: 1 minute 54 seconds) In general I keep library updates as a feature deliberately triggered by developers, and not automatic, since such libaries get tested with the content that gets deployed and we don't want to break local-user content when future changes occur. Have fun with X3D and Java! 8) On 4/18/2018 7:16 PM, John Carlson wrote: > It will be important for the JSON to DOM loader, once we start stress testing that. > > John > > On Wed, Apr 18, 2018, 10:09 PM Don Brutzman wrote: > > [cc: list, now that we've diagnosed the cause] > [...] 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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Sun Apr 22 23:48:04 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 23 Apr 2018 06:48:04 +0000 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt updates In-Reply-To: <977c5cd7-19c2-110b-53b9-c07b8e2dfe7c@nps.edu> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <977c5cd7-19c2-110b-53b9-c07b8e2dfe7c@nps.edu> Message-ID: On Mon, Apr 23, 2018, 2:15 AM Don Brutzman wrote: Ultimately, I think you'll have to go with separate classes as I have done, but haven't tested recently. b. Lots of work trying to get past the 64K method limit in compiled Java > for very-large CAD and scan scenes. Limited success, but the autogenerated > code is highly modularized for large arrays and likely provides more > coverage now. Minor tuning on split values may continue. Links and > snippet follow. > > > http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/overview-summary.html > > http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/X3dForAdvancedModeling/AdditiveManufacturing/package-summary.html > > http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/X3dForAdvancedModeling/AdditiveManufacturing/CleatClamp.html > > > http://x3dgraphics.com/examples/X3dForAdvancedModeling/AdditiveManufacturing/CleatClamp.java > > private float[] getCoordinate_11_27_point_15 () > { > float[] value = > {44.0423f,2.50799f,0.800294f,43.8924f,2.50799f,1.58088f,43.6466f,2.50799f,2.32254f,43.9513f,1.83688f,2.51659f,44.1587f,1.12054f,2.64868f,44.2636f,0.376604f,2.71555f,44.2636f,-0.376604f,2.71555f,44.1587f,-1.12054f,2.64868f,43.9513f,-1.83688f,2.51659f,44.0423f,-2.50799f,0.800294f,44.2176f,-1.83688f,1.71297f,44.38f,-1.83688f,0.86716f,44.0927f,-2.50799f,0.0f,44.0423f,-2.50799f,-0.800294f,44.38f,-1.83688f,-0.86716f,44.2176f,-1.83688f,-1.71297f,44.4389f,-1.12054f,-1.80287f,44.551f,-0.376604f,-1.84839f,44.551f,0.376604f,-1.84839f,44.4389f,1.12054f,-1.80287f,44.2176f,1.83688f,-1.71297f,44.38f,1.83688f,-0.86716f,44.4346f,1.83688f,0.0f,44.38f,1.83688f,0.86716f,44.2176f,1.83688f,1.71297f,44.4389f,1.12054f,1.80287f,44.551f,0.376604f,1.84839f,44.551f,-0.376604f,1.84839f,44.4389f,-1.12054f,1.80287f,44.6099f,-1.12054f,0.912673f,44.6674f,-1.12054f,0.0f,44.4346f,-1.83688f,0.0f,44.6099f,-1.12054f,-0.912673f,44.7263f,-0.376604f,-0.935713f,44.7263f,0.376604f,-0.935713f,44.6099f,1.12054f,-0.912673f,44.6674f,1.12054f,0.0f,44.6099f,1.12054f,0.912673f,44.7263f,0.376604f,0.935713f,44.7263f,-0.376604f,0.935713f,44.7852f,-0.376604f,0.0f,44.7852f,0.376604f,0.0f}; > return value; > } > > /** Large attribute array: Coordinate point field, > scene-graph level=11, element #27, 4326 total numbers made up of 1442 > 3-tuple values > * Provide large array value via a separate method, in > order to avoid 'code too large' Java compilation errors. > * Individual Java methods (including aggregated > initializations) are limited to 64KB. > * @see > https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java > * @see > https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error > */ > private MFVec3fObject getCoordinate_11_27_point () > { > /* splitting up long array to improve > readability */ > MFVec3fObject Coordinate_11_27_point = new > MFVec3fObject() > .append(new > MFVec3fObject(getCoordinate_11_27_point_1())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_2())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_3())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_4())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_5())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_6())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_7())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_8())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_9())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_10())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_11())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_12())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_13())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_14())) > .append(new > MFVec3fObject(getCoordinate_11_27_point_15())); > > return Coordinate_11_27_point; > } > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 23 05:15:52 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 23 Apr 2018 12:15:52 +0000 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt updates In-Reply-To: References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <977c5cd7-19c2-110b-53b9-c07b8e2dfe7c@nps.edu> Message-ID: I'm assuming your Java link is old code? On Mon, Apr 23, 2018, 2:48 AM John Carlson wrote: > > > On Mon, Apr 23, 2018, 2:15 AM Don Brutzman wrote: > > Ultimately, I think you'll have to go with separate classes as I have > done, but haven't tested recently. > > b. Lots of work trying to get past the 64K method limit in compiled Java >> for very-large CAD and scan scenes. Limited success, but the autogenerated >> code is highly modularized for large arrays and likely provides more >> coverage now. Minor tuning on split values may continue. Links and >> snippet follow. >> >> >> http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/overview-summary.html >> >> http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/X3dForAdvancedModeling/AdditiveManufacturing/package-summary.html >> >> http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/X3dForAdvancedModeling/AdditiveManufacturing/CleatClamp.html >> >> >> http://x3dgraphics.com/examples/X3dForAdvancedModeling/AdditiveManufacturing/CleatClamp.java >> >> private float[] getCoordinate_11_27_point_15 () >> { >> float[] value = >> {44.0423f,2.50799f,0.800294f,43.8924f,2.50799f,1.58088f,43.6466f,2.50799f,2.32254f,43.9513f,1.83688f,2.51659f,44.1587f,1.12054f,2.64868f,44.2636f,0.376604f,2.71555f,44.2636f,-0.376604f,2.71555f,44.1587f,-1.12054f,2.64868f,43.9513f,-1.83688f,2.51659f,44.0423f,-2.50799f,0.800294f,44.2176f,-1.83688f,1.71297f,44.38f,-1.83688f,0.86716f,44.0927f,-2.50799f,0.0f,44.0423f,-2.50799f,-0.800294f,44.38f,-1.83688f,-0.86716f,44.2176f,-1.83688f,-1.71297f,44.4389f,-1.12054f,-1.80287f,44.551f,-0.376604f,-1.84839f,44.551f,0.376604f,-1.84839f,44.4389f,1.12054f,-1.80287f,44.2176f,1.83688f,-1.71297f,44.38f,1.83688f,-0.86716f,44.4346f,1.83688f,0.0f,44.38f,1.83688f,0.86716f,44.2176f,1.83688f,1.71297f,44.4389f,1.12054f,1.80287f,44.551f,0.376604f,1.84839f,44.551f,-0.376604f,1.84839f,44.4389f,-1.12054f,1.80287f,44.6099f,-1.12054f,0.912673f,44.6674f,-1.12054f,0.0f,44.4346f,-1.83688f,0.0f,44.6099f,-1.12054f,-0.912673f,44.7263f,-0.376604f,-0.935713f,44.7263f,0.376604f,-0.935713f,44.6099f,1.12054f,-0.912673f,44.6674f,1.12054f,0.0f,44.6099f,1.12054f,0.912673f,44.7263f,0.376604f,0.935713f,44.7263f,-0.376604f,0.935713f,44.7852f,-0.376604f,0.0f,44.7852f,0.376604f,0.0f}; >> return value; >> } >> >> /** Large attribute array: Coordinate point field, >> scene-graph level=11, element #27, 4326 total numbers made up of 1442 >> 3-tuple values >> * Provide large array value via a separate method, in >> order to avoid 'code too large' Java compilation errors. >> * Individual Java methods (including aggregated >> initializations) are limited to 64KB. >> * @see >> https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java >> * @see >> https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error >> */ >> private MFVec3fObject getCoordinate_11_27_point () >> { >> /* splitting up long array to improve >> readability */ >> MFVec3fObject Coordinate_11_27_point = >> new MFVec3fObject() >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_1())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_2())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_3())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_4())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_5())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_6())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_7())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_8())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_9())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_10())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_11())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_12())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_13())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_14())) >> .append(new >> MFVec3fObject(getCoordinate_11_27_point_15())); >> >> return Coordinate_11_27_point; >> } >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 23 12:57:42 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 23 Apr 2018 15:57:42 -0400 Subject: [x3d-public] Please generate an array for -geometry here, it's an MFNode. in X3dToJson.xslt In-Reply-To: <5ad6d395.1c69fb81.9eb96.2546@mx.google.com> References: <5ad6d395.1c69fb81.9eb96.2546@mx.google.com> Message-ID: <8CC9C546-CEF7-4131-B7C9-DABE060F0EFC@gmail.com> don, did this get fixed? thanks > On Apr 18, 2018, at 1:11 AM, John Carlson wrote: > > > > > > > > > > > > > > > > Here?s what it ends up in JSON: > > { "RigidBodyCollection": > { > "@DEF":"BODY-COLLECTION", > "-bodies":[ > { "RigidBody": > { > "@DEF":"BODY-1", > "@position":[0.0,2.0,0.0], > "-geometry": > { "CollidableShape": > { > "@USE":"BALL-GEOM" > } > } > } > } > ] > } > }, > > > Is this valid? The object model says it is. However the autogenerated JSON schema doesn?t pass. Looking at the object model again, it says geometry is an MFNode. Therefore x3dToJson.xslt should generate an array, not an object. -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 23 13:01:11 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 23 Apr 2018 16:01:11 -0400 Subject: [x3d-public] These files fail Ajv JSON schema validation for draft07autogeneratedX3D JSON schema. Need eyes. In-Reply-To: <5ad6d8ea.1c69fb81.de217.2f02@mx.google.com> References: <5ad4472d.6631ed0a.928a7.e61a@mx.google.com> <5ad46de5.10e2370a.499f3.0ab4@mx.google.com> <54f4ee74-871e-edf8-119e-26b4eb78b182@nps.edu> <5ad6d8ea.1c69fb81.de217.2f02@mx.google.com> Message-ID: <957BD684-D60D-4259-9ED8-5F034CEC26BC@gmail.com> don, have these files been fixed yet? or the object model? thanks! > On Apr 18, 2018, at 1:34 AM, John Carlson wrote: > > I think you will find that these files don?t pass JSON schema, and we need to find out why. Please help. I already found one. > > These have middistal_tip when it should be middle_distal_tip I think. Please verify. > > C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxMan.json > C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxManAnimationPanel.json > C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/InterchangableActorsViaDynamicRoutingPrototypes.json > C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1.json > C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Illustrated.json > C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Invisible.json > C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1.json > C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Illustrated.json > C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Invisible.json > > Search for the error at the leaves of the hierarchy. > > Attaching another Ajv results file as a zip this time. Please review it, and don?t assume that if it passes your validation, that it will pass mine. > > Also found here: https://coderextreme.net/results.txt > > John > Sent from Mail for Windows 10 > > From: Don Brutzman > Sent: Monday, April 16, 2018 11:36 PM > To: John Carlson > Cc: Roy Walmsley ; x3d-public at web3d.org > Subject: Re: These files fail Ajv JSON schema validation for draft07autogeneratedX3D JSON schema. Need eyes. > > Thanks for bug reports... > > Had trouble getting much back of help. Can you put AJV into a more verbose diagnostic mode? > > On 4/16/2018 2:33 AM, John Carlson wrote: > > I was able to reduce the number of errors from Ajv by 75+%. So there?s only 10 or so errors per file now. Whew, and attached. > > > > Many of these may be ProtoInstance @name and @USE together. > > > > John > > > > Sent from Mail for Windows 10 > > > > *From: *John Carlson > > *Sent: *Monday, April 16, 2018 2:48 AM > > *To: *Don Brutzman ; Roy Walmsley ; x3d-public at web3d.org > > *Subject: *These files fail Ajv JSON schema validation for draft07 autogeneratedX3D JSON schema. Need eyes. > > > > Please verify they are failing with Everit or online sources, and if so, fix the file or let me know what the error in the autogenerated versioned JSON schema is. Or just report the actual error in the autogenerated schema for the version of X3D or file. > > > > You may use my x3dschema project https://github.com/coderextreme/x3dschema. > > > > Full error report from Ajv attached, gzipped, but it will probably lead you on some wild goose chases. > > > > Run: > > > > $ sh validate.sh > > > > With X3D Resource examples JSON zip extracted to C:/x3d-code or /c/x3d-code > > > > Thanks a bunch! > > Only able to spot check a few .x3d scenes tonite, not enough time to run your tests too. > > I ran jsonlint on a number, seemed to work. You might do that back-to-back with your validation tests. > > I reran all the JSON autogeneration last night, will upload them tonight. > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/FollowerPrototypeDeclarations.json > > This scene has lots of problems. > > Performing X3D Schematron check... > [/X3D/head/meta[15], diagnostic] > [/X3D/head/meta[16], diagnostic] > [/X3D/head/meta[17], diagnostic] > has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[1], warning] > has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[2], warning] > url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:OrientationDamper" "Dampers.wrl#OrientationDamper" "http://www.hersto.net/Followers/Dampers.wrl#OrientationDamper"') [/X3D/Scene/ExternProtoDeclare[2], warning] > has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[3], warning] > has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[4], warning] > url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:Position2fDamper" "Dampers.wrl#Position2fDamper" "http://www.hersto.net/Followers/Dampers.wrl#Position2fDamper"') [/X3D/Scene/ExternProtoDeclare[4], warning] > has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[5], warning] > url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:Position2fChaser" "Chasers.wrl#Position2fChaser" "http://www.hersto.net/Followers/Chasers.wrl#Position2fChaser"') [/X3D/Scene/ExternProtoDeclare[5], warning] > has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[6], warning] > url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:PositionChaser" "Chasers.wrl#PositionChaser" "http://www.hersto.net/Followers/Chasers.wrl#PositionChaser"') [/X3D/Scene/ExternProtoDeclare[6], warning] > has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[7], warning] > url array contains .wrl link without corresponding .x3d version, some browsers may fail (url='"urn:inet:hersto.net:node:PositionDamper" "Dampers.wrl#PositionDamper" "http://www.hersto.net/Followers/Dampers.wrl#PositionDamper"') [/X3D/Scene/ExternProtoDeclare[7], warning] > has no corresponding ProtoInstance [/X3D/Scene/ExternProtoDeclare[8], warning] > --------- Validation checks complete for FollowerExternalPrototypeDeclarations.x3d --------- > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/Slider.json > > Went online to examples, and then "checkmark" button for online X3D Validator: > > http://www.web3d.org/x3d/content/examples/Basic > http://www.web3d.org/x3d/content/examples/Basic/Followers/SliderIndex.html > https://savage.nps.edu/X3dValidator?url=http://www.web3d.org/x3d/content/examples/Basic/Followers/Slider.x3d > > however having difficulty working from home tonite, didn't get any results... > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Followers/ThirdPersonViewChaser.json > > Performing X3D Schematron check... > [/X3D/head/meta[13], diagnostic] > height array has 4 values when (xDimension * zDimension = 40 * 40 = 1600) values are required [/X3D/Scene/Transform[1]/Shape/ElevationGrid] > is inactive since enabled='false' (and no ROUTE is provided to change this value) [/X3D/Scene/Transform[3]/Collision, warning] > missing texCoordIndex array for contained TextureCoordinate node [/X3D/Scene/Transform[4]/Shape/IndexedFaceSet, error] > --------- Validation checks complete for ThirdPersonViewFollower.x3d --------- > > The ElevationGrid has no grid values (default is 4) because it gets populated y a script... Perhaps that is the cause? > > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDutton.json > > Certainly has some HAnim irregularities but am not seeing any validation problems: > > > Performing X3D Schematron check... > [/X3D/head/meta[8], diagnostic] > DEF value does not contain correctly modified version of name value (for example, DEF='myPrefix_nameValue' e.g. DEF='myPrefix_Humanoid') - see H-Anim section C.2 Humanoid, VRML Binding [/X3D/Scene/HAnimHumanoid, error] > version='' might not validate correctly, X3D validation support is tuned for ISO 19774 HAnimHumanoid version='2.2' [/X3D/Scene/HAnimHumanoid, warning] > node count(HAnimJoint) within skeleton hierarchy = 17[/X3D/Scene/HAnimHumanoid, diagnostic] > node count(HAnimSegment) within skeleton hierarchy = 16[/X3D/Scene/HAnimHumanoid, diagnostic] > node count(HAnimSite) within HAnimHumanoid = 1[/X3D/Scene/HAnimHumanoid, diagnostic] > node count(HAnimSite/Viewpoint) within skeleton hierarchy = 0[/X3D/Scene/HAnimHumanoid, diagnostic] > node count(HAnimDisplacer) within skeleton hierarchy = 0[/X3D/Scene/HAnimHumanoid, diagnostic] > node count( = 17[/X3D/Scene/HAnimHumanoid, diagnostic] > node count( = 16[/X3D/Scene/HAnimHumanoid, diagnostic] > node count( = 0[/X3D/Scene/HAnimHumanoid, diagnostic] > node count( = 1[/X3D/Scene/HAnimHumanoid, diagnostic] > has mismatched HAnimSite node counts, 1 within skeleton hierarchy and 0 USE nodes in sites field [/X3D/Scene/HAnimHumanoid, diagnostic] > is missing child HAnimSegment to complete the connection made by this joint [/X3D/Scene/HAnimHumanoid/HAnimJoint[1], error] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0 1.01 -0.0204' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] > has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1], warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.122 0.888271 -0.0693267' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimSegment, warning] > has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.0738 0.517 -0.0284' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] > has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.0645 0.0719 -0.048' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.11 0.892362 -0.0732533' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.0699 0.51 -0.0166' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.064 0.0753 -0.0412' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] > DEF value does not contain correctly modified version of name value (for example, DEF='myPrefix_nameValue' e.g. DEF='myPrefix_l1') - see H-Anim section C.2 Humanoid, VRML Binding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, error] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.00405 1.07 -0.0275' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimSegment, warning] > has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1], warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.167 1.36 -0.0518' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimSegment, warning] > has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.196 1.07 -0.0518' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimSegment, warning] > has asymmetric center value that does not match corresponding [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimJoint, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0.213 0.811 -0.0338' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimSegment, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.167 1.36 -0.0458' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimSegment, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.192 1.07 -0.0498' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='-0.217 0.811 -0.0338' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0 1.43 -0.0458' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimSegment, warning] > has contained Transform/Shape, but child Transform/translation='0 0 0' does not match parent HAnimJoint/center='0 1.4 0' and may not be in the right location (possibly parent HAnimJoint/center value was changed but contained visualization geometry did not)[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment, warning] > missing texCoordIndex array for contained TextureCoordinate node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment/Transform/Shape/IndexedFaceSet, error] > contains 4 Viewpoints, more than one may be ambiguous [/X3D/Scene/HAnimHumanoid/HAnimSite, info] > is inactive since enabled='false' (and no ROUTE is provided to change this value) [/X3D/Scene/Group[1]/Collision, warning] > > --------- Validation checks complete for AllenDutton.x3d --------- > > > > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDuttonProtoInstances.json > > > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxMan.json > > > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxManAnimationPanel.json > > > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/DiamondManLOA_0.json > > well this ought to be a simple one at least... but no.... > > element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimSegment/Transform, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment, warning] > element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimSegment/Transform, warning] > has parent that does not match child , resulting in mismatched local coordinate system[/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment, warning] > element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/Transform, warning] > element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[1], warning] > element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[2], warning] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[2], error] > element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[3], warning] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[3], error] > element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[4], warning] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[4], error] > element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[5], warning] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimSegment/HAnimSite[5], error] > element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimSegment, warning] > element has no child node [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint[3]/HAnimJoint/HAnimSegment/HAnimSite, warning] > contains 4 Viewpoints, more than one may be ambiguous [/X3D/Scene/HAnimHumanoid/HAnimSite[1], info] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[2], error] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[3], error] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[4], error] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[5], error] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[6], error] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[7], error] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[8], error] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[9], error] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[10], error] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[11], error] > has erronous name that instead must have suffix '_tip' or '_view' or '_pt' appended, depending on function [/X3D/Scene/HAnimHumanoid/HAnimSite[12], error] > > > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimBehaviorPrototypes.json > > > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3Illustrated.json > > > > 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionPrototypes.json > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounce.json > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounceSimple.json > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallJoint.json > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BodyGeometry.json > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BounceTrimesh.json > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/DoubleHingeJoint.json > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MotorJoint.json > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/MovingBody.json > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SingleHingeJoint.json > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/SliderJoint.json > > > > 0 Ajv 3.2 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/UniversalJoint.json > > > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/Vrml97Specification/Example15.json > > no errors found > > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/Robot.json > > found 2 errors in scene, fixed incorrect url address and added viewpoint to trigger behavior. attached. > > This scene has nested prototypes, perhaps that is the problem with validation? > > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Buildings/UHRB/SimpleBuildingConstructionExample.json > > > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/BuoyCommunicationsGridExample.json > > > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.json > > > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/SonobuoyFieldScenario.json > > > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHueneme.json > > > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Scenarios/LimitedObjectiveExperimentPortHueneme/LimitedObjectiveExperimentPortHuenemeDIS.json > > > > 0 Ajv 3.0 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/Savage/Tools/Animation/PushButtonPrototype.json > > > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1.json > > > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Illustrated.json > > > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Invisible.json > > > > 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhSeamless3dExport1.json > > > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1.json > > > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Illustrated.json > > > > 0 Ajv 3.3 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Invisible.json > > > > 0 Ajv 3.1 Validation failed on C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhSeamless3dExport1.json > > > > > 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 http://faculty.nps.edu/brutzman > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Tue Apr 24 16:45:51 2018 From: brutzman at nps.edu (Don Brutzman) Date: Tue, 24 Apr 2018 16:45:51 -0700 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt updates In-Reply-To: References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <977c5cd7-19c2-110b-53b9-c07b8e2dfe7c@nps.edu> Message-ID: This got a better update yesterday, looks OK On 4/23/2018 5:15 AM, John Carlson wrote: > I'm assuming your Java link is old code? > > On Mon, Apr 23, 2018, 2:48 AM John Carlson > wrote: > > > > On Mon, Apr 23, 2018, 2:15 AM Don Brutzman > wrote: > > Ultimately, I think you'll have to go with separate classes as I have done, but haven't tested recently. > > b. Lots of work trying to get past the 64K method limit in compiled Java for very-large CAD and scan scenes.? Limited success, but the autogenerated code is highly modularized for large arrays and likely provides more coverage now.? Minor tuning on split values may continue.? Links and snippet follow. > > http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/overview-summary.html > http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/X3dForAdvancedModeling/AdditiveManufacturing/package-summary.html > http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/X3dForAdvancedModeling/AdditiveManufacturing/CleatClamp.html > > http://x3dgraphics.com/examples/X3dForAdvancedModeling/AdditiveManufacturing/CleatClamp.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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Tue Apr 24 22:19:08 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 05:19:08 +0000 Subject: [x3d-public] Please generate an array for -geometry here, it's an MFNode. in X3dToJson.xslt In-Reply-To: <8CC9C546-CEF7-4131-B7C9-DABE060F0EFC@gmail.com> References: <5ad6d395.1c69fb81.9eb96.2546@mx.google.com> <8CC9C546-CEF7-4131-B7C9-DABE060F0EFC@gmail.com> Message-ID: Don, there are places where the -geometry field should be an MFNode in the JSON files in the X3D resources examples. Thanks! On Mon, Apr 23, 2018, 3:57 PM John Carlson wrote: > don, did this get fixed? thanks > > On Apr 18, 2018, at 1:11 AM, John Carlson wrote: > > > > > > > > > > > finiteRotationAxis='0 1 0' position='0.0 2.0 0.0'> > > > > > Here?s what it ends up in JSON: > > { "RigidBodyCollection": > { > "@DEF":"BODY-COLLECTION", > "-bodies":[ > { "RigidBody": > { > "@DEF":"BODY-1", > "@position":[0.0,2.0,0.0], > "-geometry": > { "CollidableShape": > { > "@USE":"BALL-GEOM" > } > } > } > } > ] > } > }, > > > Is this valid? The object model says it is. However the autogenerated > JSON schema doesn?t pass. Looking at the object model again, it says > geometry is an MFNode. Therefore x3dToJson.xslt should generate an array, > not an object. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Tue Apr 24 22:47:59 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 05:47:59 +0000 Subject: [x3d-public] HANIM: r_carpal_distal_interphalangeal_joint_5 appears twice in enum for X3D 4.0 JSON schema, object model, XSD In-Reply-To: <5ad431c6.813fc80a.63cfa.9eee@mx.google.com> References: <5ad431c6.813fc80a.63cfa.9eee@mx.google.com> Message-ID: Here is the report on the autogenerated JSON schema problem I hand edited to fix. Please fix the XSD and unified object model for 4.0. On Mon, Apr 16, 2018, 1:16 AM John Carlson wrote: > $ grep r_carpal_distal_interphalangeal_joint_5 *xml *xsd *json > > X3dUnifiedObjectModel-4.0.xml: value="r_carpal_distal_interphalangeal_joint_5"/> > > X3dUnifiedObjectModel-4.0.xml: value="r_carpal_distal_interphalangeal_joint_5"/> > > X3dUnifiedObjectModel-4.0.xml: value="r_carpal_distal_interphalangeal_joint_5"/> > > X3dUnifiedObjectModel-4.0.xml: value="r_carpal_distal_interphalangeal_joint_5"/> > > x3d-4.0.xsd: value="r_carpal_distal_interphalangeal_joint_5"> > > x3d-4.0.xsd: value="r_carpal_distal_interphalangeal_joint_5"> > > x3d-4.0-JSONSchema.json: > "r_carpal_distal_interphalangeal_joint_5", > > x3d-4.0-JSONSchema.json: > "r_carpal_distal_interphalangeal_joint_5", > > > > > > Please fix object model, the schema and I will fix the JSON schema. > Apparently Ajv caught this issue. Good catch! > > > > John > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Tue Apr 24 23:19:01 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 02:19:01 -0400 Subject: [x3d-public] new autogenerated X3D JSON schema 3.3 committed (as an alternate file) to sourceforge Message-ID: <5ae01dd4.90d4370a.24800.c27a@mx.google.com> coderextreme at DESKTOP-DOPK2VD MINGW64 /c/x3d-code/www.web3d.org/specifications $ svn commit -m "New Autogenerated Schema" x3d-3.3-JSONSchema.autogenerated.json Adding x3d-3.3-JSONSchema.autogenerated.json Transmitting file data .done Committing transaction... Committed revision 26719. The 3.0, 3.1, 3.2 and 4.0 versions are already committed, but 4.0 has a single hand edit. Sent from Mail for Windows 10 -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Tue Apr 24 23:47:02 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 02:47:02 -0400 Subject: [x3d-public] Don, please regenerate X3dExampleArchivesJsonScenes.zip Message-ID: <5ae02465.026c370a.20506.8813@mx.google.com> Thanks! I will run them through the autogenerated JSON schemas again, and will spend a bit more time finding errors, instead of you doing it. It seems to work better if you find the errors though? John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Tue Apr 24 23:53:13 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 02:53:13 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt In-Reply-To: References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> Message-ID: <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> You?ve either disabled the DOM Loader, or disabled validation on input X3D files. I will try to come up with my own Java or JavaScript to validate the DOM Loaded files. Will look for an update. John Sent from Mail for Windows 10 From: John Carlson Sent: Wednesday, April 18, 2018 10:16 PM To: Don Brutzman Cc: X3D Graphics public mailing list Subject: Re: X3DJSAIL, X3dToJava.xslt It will be important for the JSON to DOM loader, once we start stress testing that. John On Wed, Apr 18, 2018, 10:09 PM Don Brutzman wrote: [cc: list, now that we've diagnosed the cause] aha good, thank you John! so you quit doing that (instead only invoking the Java by itself) and i go figure out what is going wrong. i have a better idea of what is causing the problem now, likely not enough handling of special cases for parent/child typing in the string-based DOM loader. On 4/18/2018 3:11 PM, John Carlson wrote: > Yes, specifying an .x3d file is what causes it to throw an exception. > > On Wed, Apr 18, 2018, 12:50 PM Don Brutzman > wrote: > >? ? ?I was able to run all of your prior .java examples OK, including these. > >? ? ?Why do you have the .x3d file on the same line?? It doesn't have to load itself... probably that is getting mistakenly parsed as a command-line switch.? Should just be invocation of the java class. > >? ? ?example: > >? ? ? ? ? ? ? java net/x3djsonld/data/plainflowers > >? ? ?instead of > >? ? ? ? ? ? ? java net/x3djsonld/data/plainflowers ../data/plainflowers.x3d > >? ? ?Meanwhile I will look further at loader object handling of these cases. > >? ? ?On 4/17/2018 11:31 PM, John Carlson wrote: >? ? ? > Here?s the class cast exceptions being generated.? Perhaps we can add interfaces? >? ? ? > >? ? ? > java.lang.ClassCastException: org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTextureObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode >? ? ? > >? ? ? > java.lang.ClassCastException: org.web3d.x3d.jsail.EnvironmentalEffects.TextureBackgroundObject cannot be cast to org.web3d.x3d.jsail.Shape.AppearanceObject >? ? ? > >? ? ? > java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.BoxObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode >? ? ? > >? ? ? > java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.IndexedFaceSetObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode >? ? ? > >? ? ? > java.lang.ClassCastException: org.web3d.x3d.jsail.Geometry3D.SphereObject cannot be cast to org.web3d.x3d.sai.Core.X3DChildNode >? ? ? > >? ? ? > java.lang.ClassCastException: org.web3d.x3d.jsail.Shape.AppearanceObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode >? ? ? > >? ? ? > java.lang.ClassCastException: org.web3d.x3d.jsail.Shape.ShapeObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode >? ? ? > >? ? ? > java.lang.ClassCastException: org.web3d.x3d.jsail.Texturing.TextureCoordinateObject cannot be cast to org.web3d.x3d.sai.Rendering.X3DCoordinateNode >? ? ? > >? ? ? > Otherwise, these probably need to be handled differently in the code with instanceof or some such. See exceptions.txt for line numbers. >? ? ? > >? ? ? > Or else your generated Java (from XML) code is wrong?but I?m not sure why it?s being used if an XML file is being loaded.? Do you need the Java code again? >? ? ? > >? ? ? > Thanks, >? ? ? > >? ? ? > John >? ? ? > >? ? ? > Sent from Mail for Windows 10 >? ? ? > >? ? ? > *From: *John Carlson > >? ? ? > *Sent: *Wednesday, April 18, 2018 12:06 AM >? ? ? > *To: *Don Brutzman > >? ? ? > *Subject: *RE: X3DJSAIL, X3dToJava.xslt >? ? ? > >? ? ? > Here are all the invocations that fail, with the Exception generated: >? ? ? > >? ? ? > http://coderextreme.net/exceptions.txt >? ? ? > >? ? ? > Something?s up.?? Is there a generic program I can use to load an X3D XML file? >? ? ? > >? ? ? > Thanks! >? ? ? > >? ? ? > John >? ? ? > >? ? ? > Sent from Mail for Windows 10 >? ? ? > >? ? ? > *From: *Don Brutzman > >? ? ? > *Sent: *Tuesday, April 17, 2018 10:53 PM >? ? ? > *To: *John Carlson > >? ? ? > *Subject: *Re: X3DJSAIL, X3dToJava.xslt >? ? ? > >? ? ? > Here is an example invocation for one of the examples that you had copied: >? ? ? > >? ? ? > =================================== >? ? ? > >? ? ? > E:\x3d-code\www.web3d.org \x3d\content\examples\X3dForAdvancedModeling/Buildings//ArchHalf.java produced from ArchHalf.x3d >? ? ? > >? ? ? > /** Large attribute array: IndexedFaceSet DEF='ArchIndex' coordIndex field, scene-graph level=4, element #12, 318 total numbers */ >? ? ? > >? ? ? > /** Large attribute array: Coordinate DEF='ArchChord' point field, scene-graph level=5, element #12, 468 total numbers made up of 156 3-tuple values */ >? ? ? > >? ? ? > [Large tuple found: Coordinate point, $tupleCount=156, $tupleSplitSize=10, string-length=3311] >? ? ? > >? ? ? > Compiling 1 source file to E:\x3d-code\www.web3d.org \x3d\content\examples\X3dForAdvancedModeling\classes >? ? ? > >? ? ? > now run and validate the java model >? ? ? > >? ? ? > java -classpath classes;../../../stylesheets/java/jars/X3DJSAIL.3.3.full.jar X3dForAdvancedModeling.Buildings.ArchHalf >? ? ? > >? ? ? > Java program "ArchHalf" self-validation test results: success >? ? ? > >? ? ? > =================================== >? ? ? > >? ? ? > 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 http://faculty.nps.edu/brutzman >? ? ? > > > >? ? ?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 http://faculty.nps.edu/brutzman > 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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Tue Apr 24 23:55:24 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 02:55:24 -0400 Subject: [x3d-public] RigidBody -geometry should be array in RigidBody X3D Resource examples JSON examples. Message-ID: <5ae0265b.1c69fb81.7df6a.5926@mx.google.com> keyword: type dataPath: X3D > Scene > -children > 3 > RigidBodyCollection > -bodies > 0 > Rig idBody > -geometry value: {"CollidableShape":"|omitted|"} message: should be array params: {"type":"array"} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/BallBounce.json version: 3.2 Sent from Mail for Windows 10 -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Wed Apr 25 00:05:32 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 03:05:32 -0400 Subject: [x3d-public] X3D Resources JSON Examples. Illegal string "l_middistal_tip" found by validating against X3D JSON schema 3.3. More than just this one file. Message-ID: <5ae028bb.1c69fb81.add20.2d0a@mx.google.com> keyword: enum dataPath: X3D > Scene > -children > 3 > HAnimHumanoid > -skeleton > 0 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 0 > HAnimSegment > -children > 1 > HAnimSite > @name value: "l_middistal_tip" message: should be equal to one of the allowed values params: {"allowedValues":["cervicale","crotch","l_acromion","l_asis","l_axilla_ant","l_axilla_post","l_calcaneous_post","l_clavicale","l_dactylion","l_digit2","l_femoral_lateral_epicn","l_femoral_medial_epicn","l_forefoot_tip","l_gonion","l_hand_tip","l_humeral_lateral_epicn","l_humeral_medial_epicn","l_iliocristale","l_index_distal_tip","l_infraorbitale","l_knee_crease","l_lateral_malleolus","l_medial_malleolus","l_metacarpal_pha2","l_metacarpal_pha5","l_metatarsal_pha1","l_metatarsal_pha5","l_middle_distal_tip","l_neck_base","l_olecranon","l_pinky_distal_tip","l_psis","l_radial_styloid","l_radiale","l_rib10","l_ring_distal_tip","l_sphyrion","l_thelion","l_thumb_distal_tip","l_tragion","l_trochanterion","l_ulnar_styloid","navel","nuchale","r_acromion","r_asis","r_axilla_ant","r_axilla_post","r_calcaneous_post","r_clavicale","r_dactylion","r_digit2","r_femoral_lateral_epicn","r_femoral_medial_epicn","r_forefoot_tip","r_gonion","r_hand_tip","r_humeral_lateral_epicn","r_humeral_medial_epicn","r_iliocristale","r_index_distal_tip","r_infraorbitale","r_knee_crease","r_lateral_malleolus","r_medial_malleolus","r_metacarpal_pha2","r_metacarpal_pha5","r_metatarsal_pha1","r_metatarsal_pha5","r_middle_distal_tip","r_neck_base","r_olecranon","r_pinky_distal_tip","r_psis","r_radial_styloid","r_radiale","r_rib10","r_ring_distal_tip","r_sphyrion","r_thelion","r_thumb_distal_tip","r_tragion","r_trochanterion","r_ulnar_styloid","rib10_midspine","sellion","skull_tip","substernale","supramenton","suprasternale","waist_preferred_post"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxMan.json version: 3.3 More than just this one file are at fault. Check other files. Also check for r_middistal_tip. John Sent from Mail for Windows 10 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Leonard.Daly at realism.com Wed Apr 25 07:37:10 2018 From: Leonard.Daly at realism.com (Leonard Daly) Date: Wed, 25 Apr 2018 07:37:10 -0700 Subject: [x3d-public] XSeen Now Supports HTML events and PBR Message-ID: XSeen (https://XSeen.org/), the open-source declarative 3D content language, now supports HTML events, Physically-Based Rendering, CSS-like styling, and several other new features. This JavaScript environment parses HTML to build and manage the 3D environment in the web page. It has intelligent roll-backs for features not supported on the current device. I would like to receive comments or suggestions on the feature set, documentation, code, or any other matter related to XSeen. Comments can be posted to the list or sent directly to me. Post: http://realism.com/blog/xseen-v06-release Code: https://github.com/DrX3D/XSeen Documentation: https://xseen.org/documentation/tags/ -- *Leonard Daly* 3D Systems & Cloud Consultant LA ACM SIGGRAPH Past Chair President, Daly Realism - /Creating the Future/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Wed Apr 25 07:44:58 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 14:44:58 +0000 Subject: [x3d-public] XSeen Now Supports HTML events and PBR In-Reply-To: References: Message-ID: How do you deal with document.querySelectorAll not being live? Do you use it? Is it now live? Thanks John On Wed, Apr 25, 2018, 10:38 AM Leonard Daly wrote: > XSeen (https://XSeen.org/), the open-source declarative 3D content > language, now supports HTML events, Physically-Based Rendering, CSS-like > styling, and several other new features. This JavaScript environment parses > HTML to build and manage the 3D environment in the web page. It has > intelligent roll-backs for features not supported on the current device. > > I would like to receive comments or suggestions on the feature set, > documentation, code, or any other matter related to XSeen. Comments can be > posted to the list or sent directly to me. > > Post: http://realism.com/blog/xseen-v06-release > Code: https://github.com/DrX3D/XSeen > Documentation: https://xseen.org/documentation/tags/ > -- > *Leonard Daly* > 3D Systems & Cloud Consultant > LA ACM SIGGRAPH Past Chair > President, Daly Realism - *Creating the Future* > _______________________________________________ > 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: From yottzumm at gmail.com Wed Apr 25 07:59:16 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 14:59:16 +0000 Subject: [x3d-public] XSeen Now Supports HTML events and PBR In-Reply-To: References: Message-ID: On the PBR page of Xseen.org, you spell Helmet as Helment? That's it. John On Wed, Apr 25, 2018, 10:38 AM Leonard Daly wrote: > XSeen (https://XSeen.org/), the open-source declarative 3D content > language, now supports HTML events, Physically-Based Rendering, CSS-like > styling, and several other new features. This JavaScript environment parses > HTML to build and manage the 3D environment in the web page. It has > intelligent roll-backs for features not supported on the current device. > > I would like to receive comments or suggestions on the feature set, > documentation, code, or any other matter related to XSeen. Comments can be > posted to the list or sent directly to me. > > Post: http://realism.com/blog/xseen-v06-release > Code: https://github.com/DrX3D/XSeen > Documentation: https://xseen.org/documentation/tags/ > -- > *Leonard Daly* > 3D Systems & Cloud Consultant > LA ACM SIGGRAPH Past Chair > President, Daly Realism - *Creating the Future* > _______________________________________________ > 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: From Leonard.Daly at realism.com Wed Apr 25 09:02:50 2018 From: Leonard.Daly at realism.com (Leonard Daly) Date: Wed, 25 Apr 2018 09:02:50 -0700 Subject: [x3d-public] XSeen Now Supports HTML events and PBR In-Reply-To: References: Message-ID: <053a98db-ac46-5f20-474e-721a96495d12@realism.com> On 4/25/2018 7:44 AM, John Carlson wrote: > How do you deal with document.querySelectorAll not being live?? ?Do > you use it?? Is it now live? John, I don't see any issue here. XSeen does not use it. If it is used by user code and includes XSeen elements (tags), there should not be a problem. XSeen does not add elements to the DOM tree; however, it does not prevent you from doing so. Note that in the context of this method, "live" means the returned list tracks changes to DOM element list. See https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll for more details. Leonard Daly > > Thanks > > John > > On Wed, Apr 25, 2018, 10:38 AM Leonard Daly > wrote: > > XSeen (https://XSeen.org/), the open-source declarative 3D content > language, now supports HTML events, Physically-Based Rendering, > CSS-like styling, and several other new features. This JavaScript > environment parses HTML to build and manage the 3D environment in > the web page. It has intelligent roll-backs for features not > supported on the current device. > > I would like to receive comments or suggestions on the feature > set, documentation, code, or any other matter related to XSeen. > Comments can be posted to the list or sent directly to me. > > Post: http://realism.com/blog/xseen-v06-release > Code: https://github.com/DrX3D/XSeen > Documentation: https://xseen.org/documentation/tags/ > > -- > *Leonard Daly* > 3D Systems & Cloud Consultant > LA ACM SIGGRAPH Past Chair > President, Daly Realism - /Creating the Future/ > _______________________________________________ > x3d-public mailing list > x3d-public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > -- *Leonard Daly* 3D Systems & Cloud Consultant LA ACM SIGGRAPH Past Chair President, Daly Realism - /Creating the Future/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From Leonard.Daly at realism.com Wed Apr 25 09:04:08 2018 From: Leonard.Daly at realism.com (Leonard Daly) Date: Wed, 25 Apr 2018 09:04:08 -0700 Subject: [x3d-public] XSeen Now Supports HTML events and PBR In-Reply-To: References: Message-ID: John, Thanks, fixed. Leonard Daly > On the PBR page of Xseen.org, you spell Helmet as Helment? > > That's it. > > John > > On Wed, Apr 25, 2018, 10:38 AM Leonard Daly > wrote: > > XSeen (https://XSeen.org/), the open-source declarative 3D content > language, now supports HTML events, Physically-Based Rendering, > CSS-like styling, and several other new features. This JavaScript > environment parses HTML to build and manage the 3D environment in > the web page. It has intelligent roll-backs for features not > supported on the current device. > > I would like to receive comments or suggestions on the feature > set, documentation, code, or any other matter related to XSeen. > Comments can be posted to the list or sent directly to me. > > Post: http://realism.com/blog/xseen-v06-release > Code: https://github.com/DrX3D/XSeen > Documentation: https://xseen.org/documentation/tags/ > > -- > *Leonard Daly* > 3D Systems & Cloud Consultant > LA ACM SIGGRAPH Past Chair > President, Daly Realism - /Creating the Future/ > _______________________________________________ > x3d-public mailing list > x3d-public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > -- *Leonard Daly* 3D Systems & Cloud Consultant LA ACM SIGGRAPH Past Chair President, Daly Realism - /Creating the Future/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Wed Apr 25 10:01:05 2018 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 25 Apr 2018 10:01:05 -0700 Subject: [x3d-public] X3D working group meeting: SFTime Message-ID: Attendees: Nicholas Polys, Dick Puk, Don Brutzman. 1. *Conference and Meeting Planning*. a. Web3D 2018 Conference and VR Hackathon: registration is now open for each event, early-registration discounts end May 10. Web3D 2018 Conference, Poznan Poland, 20-22 June https://web3d2018.web3d.org/registration VR Hackathon, Poznan Poland, 18-20 June https://web3d2018.web3d.org/vr-hackathon b. Cyberworlds 2018. Submission deadline in another 2 weeks, conference hosted by Fraunhofer Singapore 3-5 October 2018. http://www.cyberworlds-conference.org http://www.web3d.org/event/cyberworlds-2018 c. ISO SC24 annual meeting near Toulouse France, 6-10 August. Dick and Don will attend. d. SIGGRAPH 2018 in Vancouver 12-16 August. Registration is open. https://s2018.siggraph.org ======================= 2. *Humanoid Animation*. This group is super active, preparing Draft International Specification (DIS) for HAnim Architecture and HAnim Motion Animation. a. /New tool support/ Announcement from Suwon University announces HAnim support for converting Maya/Max humanoids via VRML97 to X3D: [h-anim] WRL to H-Anim X3D conversion tool http://web3d.org/mailman/private/h-anim_web3d.org/2018-April/001576.html > Dear All, > > We are pleased to release the WRL to H-Anim X3D conversion tool. > > The tool can be downloaded at the following link on the Web3D KR Website: > http://www.web3d.kr/fsboard/fsboard.asp?id=e_si > > The procedure for using the tool is as follows: > ----------------------------------------------------------------- > Procedure to obtain an H-Anim X3D character file using the Suwon H-Anim > viewer > > 1. When creating an H-Anim character using MAX or Maya, make sure each > object has a precise segment name with a joint center point based on the > H-Anim LOA hierarchy. > 2. Export the H-Anim character file to a WRL file using a tool such as MAX > or Maya. > 3. Unzip the WRL-to-HAnim X3D zipped file. > 4. Open the Suwon H-Anim viewer. > 5. Open the LOA1 or LOA2 H-Anim WRL file using the File menu at the top of > the viewer. > 6. Provide an H-Anim X3D file name and click the OK button. > 7. Use any X3D viewer to display the H-Anim X3D character. > ----------------------------------------------------------------- > > Currently, LOA1 and LOA2 character models can be converted. LOA3 and LOA4 > conversion is coming soon. > Please note that functions other than conversion may not yet work as > expected. Fixes are coming soon. > > Sincerely, > > Myeong > -- > Myeong Won Lee > Faculty of Computer Science, College of IT, U. of Suwon > Hwaseong, Gyeonggi-do, 18323 Korea > Tel) +82-31-220-2313, +82-10-8904-4634 > E-mail) mwlee at suwon.ac.kr Pretty exciting news! Test reports welcome. We will discuss further on the weekly HAnim Working Group teleconference, today 5pm pacific (Thursday morning in Korea) on the Web3D Teleconference line. Humanoid Animation (H-Anim) http://www.web3d.org/working-groups/humanoid-animation-h-anim Teleconference Information http://www.web3d.org/member/teleconference-information b. /Open naming question/ for Humanoid Animation specification. *Is it OK to change acronym from H-Anim to HAnim?* Motivation is to improve searchability and also consistent representations across X3D file formats and programming-language bindings. The group is requesting feedback and expects to resolve the issue soon. c. /Specification publication: draft HAnim DIS document/. In order to encourage public review of drafts for this major specification change, the Web3D Board of Directors has approved public availability. Online at Web3D website > STANDARDS > H-ANIM, or directly at All H-Anim Standards http://www.web3d.org/standards/h-anim d. /Planned work: HAnim tables/. Further work is planned by Joe Williams and myself to update some helpful assets as part of the draft specification review. If you navigate to X3D Example Archives: Basic, Humanoid Animation http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/ ... there is a sentence "Tool builders may benefit from using convenient tables of enumeration values extracted from the HAnim Specification." Link: H-Anim Tables of Names and Features http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/tables/tables.html We plan to meet on teleconference line Thursday 2:30-3:30 pacific to get going. e. /HAnim video competition/. Note that the competition period is ongoing, submission deadline is in one week: 30 April 2018. H-Anim 3D Animated Music Video Competition? 2018 http://www.web3d.org/h-anim-3d-animated-music-video-competition%E2%80%8B-2018 f. /Continuing work/. Task list progress is maintained at H-Anim Specification Task List for DIS Submission https://docs.google.com/document/d/1v1peZ-k-k4u6vGAAEHtw5qEN-3OTZmpN3Vg3kNJgVp4 Help needed: interpolation of measurements for default joint/segment values of LOA-4 hand and feet. X3D v4.0 draft specification prose for HAnimMotion node: maybe next week. ======================= 4. *SFTime design discussion*. Review of schema constraints on SFTime values uncovered a curious issue. Background email thread: X3D JSON Schema Updates: determining event constraints for SFTime durations and timestamps http://web3d.org/pipermail/x3d-public_web3d.org/2018-April/008609.html Summary: most uses of time values in X3D scenes are for current system clock. Nevertheless the X3D Abstract Specification allows and defines negative SFTime values as well. Key references and excerpts: 5.3.15 SFTime and MFTime http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/fieldsDef.html#SFTimeAndMFTime "Time values are specified as the number of seconds from a specific time origin. Typically, SFTime fields represent the number of seconds since Jan 1, 1970, 00:00:00 GMT. The default value of an uninitialized SFTime field is -1." 8.2.2 Time origin http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#Timeorigin "Time (0.0) is equivalent to 00:00:00 GMT January 1, 1970. Absolute times are specified in SFTime or MFTime fields as double-precision floating point numbers representing seconds. Negative absolute times are interpreted as happening before 1970. Processing an event with timestamp t may only result in generating events with timestamps greater than or equal to t." So X3D functionality includes precise referencing of past and future times. We had an interesting discussion of various aspects and did not identify any difficulties. Summary and resource links can be found in X3D Tooltips. X3D Tooltips: SFTime http://www.web3d.org/x3d/tooltips/X3dTooltips.html#SFTime > SFTime> Single-field time value in seconds, specified as a double-precision (64-bit) floating point number, 15-17 significant digits, maximum value ~1.8 ? 10^308. > Example values: 0, 10, or -1 (indicating no actual time value is provided). > Hint: Time values are usually either a system time (matching current clock time) or else a nonnegative duration interval in seconds. > Hint: Typically, SFTime fields represent the number of seconds since Jan 1, 1970, 00:00:00 GMT. > Warning: -1 is default initial value, typically indicating no updated time value has yet been provided. > Hint: X3D Abstract Specification, Time component, 8.2 Concepts for time model, time origin, discrete and continuous changes, time-dependent node cycles and activation, pausing time, etc. > Hint: see Wikipedia: Double-precision floating-point format > Hint: see Wikipedia: Time and System time https://en.wikipedia.org/wiki/Double-precision_floating-point_format https://en.wikipedia.org/wiki/Time https://en.wikipedia.org/wiki/System_time No X3D specification changes appear to be needed. The editors will consider whether to add a cross reference in the abstract specification. Related work, independent of SFTime: the Design Printing and Scanning Working Group is considering MetadataDate representations. ======================= 5. *Upcoming meetings*. Tomorrow: spec editors call working further on HAnim, 1530-1700 pacific. /Next week/. We will take another look at draft C, C++, C# specification bindings. We are hoping to get awareness/participation from potential implementers: Coin3D https://bitbucket.org/Coin3D/coin/wiki/Home CoVise OpenCOVER http://www.hlrs.de/covise FreeWrl OpenVRML Instant Reality This is also a likely topic for breakout discussions at Web3D Conference. ======================= All feedback welcome. Have fun with X3D! 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 http://faculty.nps.edu/brutzman From brutzman at nps.edu Wed Apr 25 10:55:21 2018 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 25 Apr 2018 10:55:21 -0700 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing In-Reply-To: <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> Message-ID: On 4/24/2018 11:53 PM, John Carlson wrote: > You?ve either disabled the DOM Loader, or disabled validation on input X3D files. Actually full testing of DOM loader, in concert with validation, is the subject of my recent posts. Are you using the latest X3DJSAIL distribution? Perhaps you have a custom properties setting or codebase change that is overriding something somehow? Let's get you realigned please, details follow. >? I will try to come up with my own Java or JavaScript to validate the DOM Loaded files. Hoping we can get on the same sheet of music first, saving some time. Then let's extend the test framework further to add anything else you want. X3DJSAIL X3DLoaderObject does the DOM loading, and is further launchable via CommandLine class. A number of omissions have been fixed in the past week, the gap is closing. Excerpted outputs follow. =================================================== http://www.web3d.org/x3d/content/examples/build.xml =================================================== ant -f E:\\x3d-code\\www.web3d.org\\x3d\\content\\examples processScenes.X3DJSAIL.DomLoaderTests.all processScenes.X3DJSAIL.DomLoaderTests.all: test DOM-based scene loading by X3DJSAIL.X3DLoader for all of the example archives ..X3dForAdvancedModeling,X3dForWebAuthors,Vrml2Sourcebook,ConformanceNist,Basic,Savage,SavageDefense processScenes.X3DJSAIL.DomLoaderTests in all example archives X3D examples: X3dForAdvancedModeling.processScenes.X3DJSAIL.DomLoaderTests: test DOM-based scene loading by X3DJSAIL.X3DLoader Verifying Apache Ant XML Catalog resolver classpath: C:\apache-ant-1.10.1\lib/resolver.jar (84091 bytes) org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//CaffeinePubChem2519SticksColor.x3d -validate parameter: source file CaffeinePubChem2519SticksColor.x3d filesize 22932 bytes parameter: "-validate" for model validation validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//CleatClamp.x3d -validate parameter: source file CleatClamp.x3d filesize 172126 bytes parameter: "-validate" for model validation [X3DLoaderObject] validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//MetadataRootNodeTest.x3d -validate parameter: source file MetadataRootNodeTest.x3d filesize 3427 bytes parameter: "-validate" for model validation validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//Rocktopus.x3d -validate parameter: source file Rocktopus.x3d filesize 2224841 bytes parameter: "-validate" for model validation validate results: success, no problems noted [...] =================================================== I periodically upload the following, will refresh and update. The first is the specific focus of current testing, excerpted above. http://www.web3d.org/x3d/content/examples/build.log.DomLoader.txt http://www.web3d.org/x3d/content/examples/build.log.java.txt http://www.web3d.org/x3d/content/examples/build.log.json.txt and X3DJSAIL "smoke tests" that are checked and updated with each release: http://www.web3d.org/specifications/java/X3DJSAIL.html#Examples console output: http://www.web3d.org/specifications/java/examples/HelloWorldProgramOutputLog.txt > Will look for an update. http://www.web3d.org/specifications/java/X3DJSAIL.html#Downloads Test programs, results and autogeneration build scripts are available in Sourceforge version control. https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/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 http://faculty.nps.edu/brutzman From michalis.kambi at gmail.com Wed Apr 25 11:05:59 2018 From: michalis.kambi at gmail.com (Michalis Kamburelis) Date: Wed, 25 Apr 2018 18:05:59 +0000 Subject: [x3d-public] XSeen Now Supports HTML events and PBR In-Reply-To: References: Message-ID: The new features sound very interesting, congratulations! However the link http://realism.com/blog/xseen-v06-release doesn't work for me -- the returned page says """ No Access You do not have access to the requested page. Please use the menu to side-bar links to get to your desired page. """ Attaching a screenshot. I tried on Firefox on Android, and Google Chrome on Android (I only have my phone available now:) ), with http and https protocols -- same result. Regards, Michalis ?r., 25 kwi 2018, 16:38 u?ytkownik Leonard Daly napisa?: > XSeen (https://XSeen.org/), the open-source declarative 3D content > language, now supports HTML events, Physically-Based Rendering, CSS-like > styling, and several other new features. This JavaScript environment parses > HTML to build and manage the 3D environment in the web page. It has > intelligent roll-backs for features not supported on the current device. > > I would like to receive comments or suggestions on the feature set, > documentation, code, or any other matter related to XSeen. Comments can be > posted to the list or sent directly to me. > > Post: http://realism.com/blog/xseen-v06-release > Code: https://github.com/DrX3D/XSeen > Documentation: https://xseen.org/documentation/tags/ > -- > *Leonard Daly* > 3D Systems & Cloud Consultant > LA ACM SIGGRAPH Past Chair > President, Daly Realism - *Creating the Future* > _______________________________________________ > 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot_20180425-200433.png Type: image/png Size: 174754 bytes Desc: not available URL: From yottzumm at gmail.com Wed Apr 25 12:11:58 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 15:11:58 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing In-Reply-To: References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> Message-ID: <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> Okay, the CommandLine class was key. Previously reported class cast errors seem to be working fine now. Here are the leftover errors, and I will attach the files. There are more, but similar. Let?s handle these first, because I don?t want to run out of space in the mail message. As far as I can tell, these don?t give warnings when validating Java code. These errors all seem related to using hex values in images. Good luck! John $ java org.web3d.x3d.jsail.CommandLine ../data/indexedfaceset_pixeltexture_whole.x3d -validate parameter: source file indexedfaceset_pixeltexture_whole.x3d filesize 4087 bytes parameter: "-validate" for model validation [X3DLoaderObject] [X3DLoaderObject] [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) For input string: "0xFF0000FF" validate results: success, no problems noted $ java org.web3d.x3d.jsail.CommandLine ../data/PixelTextureComponentExamples.x3d -validate parameter: source file PixelTextureComponentExamples.x3d filesize 4639 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Invoking PixelTexture.setImage(1 2 1 0xFF 0x00) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(1 2 1 0xFF 0x00) For input string: "0xFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 1 2 0xCCFF 0x2277) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 1 2 0xCCFF 0x2277) For input string: "0xCCFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 4 3 0xFF0000 0xFF00 0x000000 0 0 0 0xFFFFFF 0xFFFF00) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 4 3 0xFF0000 0xFF00 0x000000 0 0 0 0xFFFFFF 0xFFFF00) For input string: "0xFF0000" [X3DLoaderObject error] Invoking PixelTexture.setImage(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) For input string: "0xFF0000FF" [X3DLoaderObject error] Invoking PixelTexture.setImage(8 8 1 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(8 8 1 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc) For input string: "0xcc" validate results: success, no problems noted $ java org.web3d.x3d.jsail.CommandLine ../data/rgb_alpha.x3d -validate parameter: source file rgb_alpha.x3d filesize 4389 bytes parameter: "-validate" for model validation [X3DLoaderObject] [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0xFFFF0000 0xFFFF0000 0xFF0000FF) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0xFFFF0000 0xFFFF0000 0xFF0000FF) For input string: "0xFF0000FF" validate results: success, no problems noted $ java org.web3d.x3d.jsail.CommandLine ../data/Table5_18PixelTexture.x3d -validate parameter: source file Table5_18PixelTexture.x3d filesize 3293 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 3 0xE6B5FD 0xFFDBB7 0xFFDBB7 0xE6B5FD) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 3 0xE6B5FD 0xFFDBB7 0xFFDBB7 0xE6B5FD) For input string: "0xE6B5FD" [X3DLoaderObject error] Invoking PixelTexture.setImage(1 2 1 0xFF 0x00) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(1 2 1 0xFF 0x00) For input string: "0xFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 1 2 0xCCFF 0x2277) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 1 2 0xCCFF 0x2277) For input string: "0xCCFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 4 3 0xFF0000 0x00FF00 0 0 0 0 0xFFFFFF 0xFFFF00) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 4 3 0xFF0000 0x00FF00 0 0 0 0 0xFFFFFF 0xFFFF00) For input string: "0xFF0000" [X3DLoaderObject error] Invoking PixelTexture.setImage(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) failed (likely due to illegal value), java.lang.reflect.InvocationTargetException null org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) For input string: "0xFF0000FF" validate results: success, no problems noted Sent from Mail for Windows 10 From: Don Brutzman Sent: Wednesday, April 25, 2018 1:57 PM To: John Carlson Cc: x3d-public at web3d.org Subject: Re: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing On 4/24/2018 11:53 PM, John Carlson wrote: > You?ve either disabled the DOM Loader, or disabled validation on input X3D files. Actually full testing of DOM loader, in concert with validation, is the subject of my recent posts. Are you using the latest X3DJSAIL distribution? Perhaps you have a custom properties setting or codebase change that is overriding something somehow? Let's get you realigned please, details follow. >? I will try to come up with my own Java or JavaScript to validate the DOM Loaded files. Hoping we can get on the same sheet of music first, saving some time. Then let's extend the test framework further to add anything else you want. X3DJSAIL X3DLoaderObject does the DOM loading, and is further launchable via CommandLine class. A number of omissions have been fixed in the past week, the gap is closing. Excerpted outputs follow. =================================================== http://www.web3d.org/x3d/content/examples/build.xml =================================================== ant -f E:\\x3d-code\\www.web3d.org\\x3d\\content\\examples processScenes.X3DJSAIL.DomLoaderTests.all processScenes.X3DJSAIL.DomLoaderTests.all: test DOM-based scene loading by X3DJSAIL.X3DLoader for all of the example archives ..X3dForAdvancedModeling,X3dForWebAuthors,Vrml2Sourcebook,ConformanceNist,Basic,Savage,SavageDefense processScenes.X3DJSAIL.DomLoaderTests in all example archives X3D examples: X3dForAdvancedModeling.processScenes.X3DJSAIL.DomLoaderTests: test DOM-based scene loading by X3DJSAIL.X3DLoader Verifying Apache Ant XML Catalog resolver classpath: C:\apache-ant-1.10.1\lib/resolver.jar (84091 bytes) org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//CaffeinePubChem2519SticksColor.x3d -validate parameter: source file CaffeinePubChem2519SticksColor.x3d filesize 22932 bytes parameter: "-validate" for model validation validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//CleatClamp.x3d -validate parameter: source file CleatClamp.x3d filesize 172126 bytes parameter: "-validate" for model validation [X3DLoaderObject] validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//MetadataRootNodeTest.x3d -validate parameter: source file MetadataRootNodeTest.x3d filesize 3427 bytes parameter: "-validate" for model validation validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//Rocktopus.x3d -validate parameter: source file Rocktopus.x3d filesize 2224841 bytes parameter: "-validate" for model validation validate results: success, no problems noted [...] =================================================== I periodically upload the following, will refresh and update. The first is the specific focus of current testing, excerpted above. http://www.web3d.org/x3d/content/examples/build.log.DomLoader.txt http://www.web3d.org/x3d/content/examples/build.log.java.txt http://www.web3d.org/x3d/content/examples/build.log.json.txt and X3DJSAIL "smoke tests" that are checked and updated with each release: http://www.web3d.org/specifications/java/X3DJSAIL.html#Examples console output: http://www.web3d.org/specifications/java/examples/HelloWorldProgramOutputLog.txt > Will look for an update. http://www.web3d.org/specifications/java/X3DJSAIL.html#Downloads Test programs, results and autogeneration build scripts are available in Sourceforge version control. https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Table5_18PixelTexture.x3d Type: application/octet-stream Size: 3293 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: rgb_alpha.x3d Type: application/octet-stream Size: 4389 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: PixelTextureComponentExamples.x3d Type: application/octet-stream Size: 4639 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: indexedfaceset_pixeltexture_whole.x3d Type: application/octet-stream Size: 4087 bytes Desc: not available URL: From yottzumm at gmail.com Wed Apr 25 12:19:20 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 15:19:20 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing In-Reply-To: <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> Message-ID: <5ae0d4b6.14a8370a.10234.c074@mx.google.com> Here are my local scripts: https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/shell/commandlocal.sh Runs commandLine.sh on local files (../data/?) https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/shell/commandLine.sh Validates X3D XML files by loading them. May I suggest adding an option to CommandLine.java to load and validate JSON files (with X3DJSONLD.java, and previously posted docs?). I will try to find the code again! John Sent from Mail for Windows 10 From: John Carlson Sent: Wednesday, April 25, 2018 3:11 PM To: Don Brutzman Cc: x3d-public at web3d.org Subject: RE: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing Okay, the CommandLine class was key.? Previously reported class cast errors seem to be working fine now. Here are the leftover errors, and I will attach the files. There are more, but similar.? Let?s handle these first, because I don?t want to run out of space in the mail message.? As far as I can tell, these don?t give warnings when validating Java code. These errors all seem related to using hex values in images. Good luck! John $ java org.web3d.x3d.jsail.CommandLine ../data/indexedfaceset_pixeltexture_whole.x3d -validate parameter: source file indexedfaceset_pixeltexture_whole.x3d filesize 4087 bytes parameter: "-validate" for model validation [X3DLoaderObject] [X3DLoaderObject] [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) For input string: "0xFF0000FF" validate results: success, no problems noted $ java org.web3d.x3d.jsail.CommandLine ../data/PixelTextureComponentExamples.x3d -validate parameter: source file PixelTextureComponentExamples.x3d filesize 4639 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Invoking PixelTexture.setImage(1 2 1 0xFF 0x00) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(1 2 1 0xFF 0x00) For input string: "0xFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 1 2 0xCCFF 0x2277) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 1 2 0xCCFF 0x2277) For input string: "0xCCFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 4 3 0xFF0000 0xFF00 0x000000 0 0 0 0xFFFFFF 0xFFFF00) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 4 3 0xFF0000 0xFF00 0x000000 0 0 0 0xFFFFFF 0xFFFF00) For input string: "0xFF0000" [X3DLoaderObject error] Invoking PixelTexture.setImage(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) For input string: "0xFF0000FF" [X3DLoaderObject error] Invoking PixelTexture.setImage(8 8 1 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(8 8 1 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc) For input string: "0xcc" validate results: success, no problems noted $ java org.web3d.x3d.jsail.CommandLine ../data/rgb_alpha.x3d -validate parameter: source file rgb_alpha.x3d filesize 4389 bytes parameter: "-validate" for model validation [X3DLoaderObject] [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0xFFFF0000 0xFFFF0000 0xFF0000FF) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0xFFFF0000 0xFFFF0000 0xFF0000FF) For input string: "0xFF0000FF" validate results: success, no problems noted $ java org.web3d.x3d.jsail.CommandLine ../data/Table5_18PixelTexture.x3d -validate parameter: source file Table5_18PixelTexture.x3d filesize 3293 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 3 0xE6B5FD 0xFFDBB7 0xFFDBB7 0xE6B5FD) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 3 0xE6B5FD 0xFFDBB7 0xFFDBB7 0xE6B5FD) For input string: "0xE6B5FD" [X3DLoaderObject error] Invoking PixelTexture.setImage(1 2 1 0xFF 0x00) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(1 2 1 0xFF 0x00) For input string: "0xFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 1 2 0xCCFF 0x2277) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 1 2 0xCCFF 0x2277) For input string: "0xCCFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 4 3 0xFF0000 0x00FF00 0 0 0 0 0xFFFFFF 0xFFFF00) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 4 3 0xFF0000 0x00FF00 0 0 0 0 0xFFFFFF 0xFFFF00) For input string: "0xFF0000" [X3DLoaderObject error] Invoking PixelTexture.setImage(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) For input string: "0xFF0000FF" validate results: success, no problems noted Sent from Mail for Windows 10 From: Don Brutzman Sent: Wednesday, April 25, 2018 1:57 PM To: John Carlson Cc: x3d-public at web3d.org Subject: Re: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing On 4/24/2018 11:53 PM, John Carlson wrote: > You?ve either disabled the DOM Loader, or disabled validation on input X3D files. Actually full testing of DOM loader, in concert with validation, is the subject of my recent posts. Are you using the latest X3DJSAIL distribution?? Perhaps you have a custom properties setting or codebase change that is overriding something somehow? Let's get you realigned please, details follow. >? I will try to come up with my own Java or JavaScript to validate the DOM Loaded files. Hoping we can get on the same sheet of music first, saving some time.? Then let's extend the test framework further to add anything else you want. X3DJSAIL X3DLoaderObject does the DOM loading, and is further launchable via CommandLine class.? A number of omissions have been fixed in the past week, the gap is closing. Excerpted outputs follow. =================================================== http://www.web3d.org/x3d/content/examples/build.xml ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? =================================================== ant -f E:\\x3d-code\\www.web3d.org\\x3d\\content\\examples processScenes.X3DJSAIL.DomLoaderTests.all processScenes.X3DJSAIL.DomLoaderTests.all: test DOM-based scene loading by X3DJSAIL.X3DLoader for all of the example archives ..X3dForAdvancedModeling,X3dForWebAuthors,Vrml2Sourcebook,ConformanceNist,Basic,Savage,SavageDefense processScenes.X3DJSAIL.DomLoaderTests in all example archives X3D examples: X3dForAdvancedModeling.processScenes.X3DJSAIL.DomLoaderTests: test DOM-based scene loading by X3DJSAIL.X3DLoader Verifying Apache Ant XML Catalog resolver classpath: C:\apache-ant-1.10.1\lib/resolver.jar (84091 bytes) org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//CaffeinePubChem2519SticksColor.x3d -validate parameter: source file CaffeinePubChem2519SticksColor.x3d filesize 22932 bytes parameter: "-validate" for model validation validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//CleatClamp.x3d -validate parameter: source file CleatClamp.x3d filesize 172126 bytes parameter: "-validate" for model validation [X3DLoaderObject] validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//MetadataRootNodeTest.x3d -validate parameter: source file MetadataRootNodeTest.x3d filesize 3427 bytes parameter: "-validate" for model validation validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//Rocktopus.x3d -validate parameter: source file Rocktopus.x3d filesize 2224841 bytes parameter: "-validate" for model validation validate results: success, no problems noted [...] =================================================== I periodically upload the following, will refresh and update.? The first is the specific focus of current testing, excerpted above. http://www.web3d.org/x3d/content/examples/build.log.DomLoader.txt http://www.web3d.org/x3d/content/examples/build.log.java.txt http://www.web3d.org/x3d/content/examples/build.log.json.txt and X3DJSAIL "smoke tests" that are checked and updated with each release: http://www.web3d.org/specifications/java/X3DJSAIL.html#Examples console output: http://www.web3d.org/specifications/java/examples/HelloWorldProgramOutputLog.txt > Will look for an update. http://www.web3d.org/specifications/java/X3DJSAIL.html#Downloads Test programs, results and autogeneration build scripts are available in Sourceforge version control. https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From Leonard.Daly at realism.com Wed Apr 25 13:01:20 2018 From: Leonard.Daly at realism.com (Leonard Daly) Date: Wed, 25 Apr 2018 13:01:20 -0700 Subject: [x3d-public] XSeen Now Supports HTML events and PBR In-Reply-To: References: Message-ID: <56b46a1e-7acd-2527-6554-79c87b1a66d4@realism.com> Michalis, Sorry about that. I had forgot to enable access to the page after I was done composing it. The page is publicly available now. Leonard Daly > The new features sound very interesting, congratulations! > > However the link http://realism.com/blog/xseen-v06-release?doesn't > work for me -- the returned page says > > """ > No Access > > You do not have access to the requested page. Please use the menu to > side-bar links to get to your desired page. > """ > > Attaching a screenshot. I tried on Firefox on Android, and Google > Chrome on Android (I only have my phone available now:) ), with http > and https protocols -- same result. > > Regards, > Michalis > > ?r., 25 kwi 2018, 16:38 u?ytkownik Leonard Daly > > napisa?: > > XSeen (https://XSeen.org/), the open-source declarative 3D content > language, now supports HTML events, Physically-Based Rendering, > CSS-like styling, and several other new features. This JavaScript > environment parses HTML to build and manage the 3D environment in > the web page. It has intelligent roll-backs for features not > supported on the current device. > > I would like to receive comments or suggestions on the feature > set, documentation, code, or any other matter related to XSeen. > Comments can be posted to the list or sent directly to me. > > Post: http://realism.com/blog/xseen-v06-release > Code: https://github.com/DrX3D/XSeen > Documentation: https://xseen.org/documentation/tags/ > > -- > *Leonard Daly* > 3D Systems & Cloud Consultant > LA ACM SIGGRAPH Past Chair > President, Daly Realism - /Creating the Future/ > _______________________________________________ > x3d-public mailing list > x3d-public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > -- *Leonard Daly* 3D Systems & Cloud Consultant LA ACM SIGGRAPH Past Chair President, Daly Realism - /Creating the Future/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Wed Apr 25 19:39:05 2018 From: yottzumm at gmail.com (John Carlson) Date: Wed, 25 Apr 2018 22:39:05 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing In-Reply-To: <5ae0d4b6.14a8370a.10234.c074@mx.google.com> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> <5ae0d4b6.14a8370a.10234.c074@mx.google.com> Message-ID: <5ae13bc7.1c69fb81.9c497.e782@mx.google.com> Here?s the basic stuff to add to CommandLine.java to load JSON files for validating after DOM Loading: import org.w3c.dom.Document; import org.web3d.x3d.jsail.Core.X3DObject; import org.web3d.x3d.jsail.X3DLoaderObject; /** and here the code to load the JSON from file Nashorn.json **/ net.coderextreme.X3DJSONLD loader = new net.coderextreme.X3DJSONLD(); javax.json.JsonObject jsobj = loader.readJsonFile(new java.io.File("Nashorn.json")); Document document = loader.loadJsonIntoDocument(jsobj); X3DLoaderObject xmlLoader = new X3DLoaderObject(); X3DObject X3D0 = (X3DObject)xmlLoader.toX3dObjectTree(document); /** then validate, export, etc **/ The javax.json jar is licensed with CDDL 1.1 and/or GPL 2.0 according to the below maven repository, but I believe they are included in Java EE as well. Right now, it?s located here: www.web3d.org/x3d/stylesheets/java/lib/javax.json-api-1.0.jar See: https://mvnrepository.com/artifact/javax.json/javax.json-api/1.0 If you like, I can look for a less encumbered JSON Java library. Sigh! https://mvnrepository.com/artifact/org.glassfish/javax.json/1.0.4 is CDDL 1.1 and/or GPL 2.0 as well. Plus there are newer versions of these: https://mvnrepository.com/artifact/javax.json/javax.json-api/1.1.2 https://mvnrepository.com/artifact/org.glassfish/javax.json/1.1.2 Please remove this jar from the sourceforge repository as you see fit. Thanks! John Sent from Mail for Windows 10 From: John Carlson Sent: Wednesday, April 25, 2018 3:19 PM To: Don Brutzman Cc: x3d-public at web3d.org Subject: RE: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing Here are my local scripts: https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/shell/commandlocal.sh Runs commandLine.sh on local files (../data/?) https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/shell/commandLine.sh Validates X3D XML files by loading them. May I suggest adding an option to CommandLine.java to load and validate JSON files (with X3DJSONLD.java, and previously posted docs?).? I will try to find the code again! John Sent from Mail for Windows 10 From: John Carlson Sent: Wednesday, April 25, 2018 3:11 PM To: Don Brutzman Cc: x3d-public at web3d.org Subject: RE: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing Okay, the CommandLine class was key.? Previously reported class cast errors seem to be working fine now. Here are the leftover errors, and I will attach the files. There are more, but similar.? Let?s handle these first, because I don?t want to run out of space in the mail message.? As far as I can tell, these don?t give warnings when validating Java code. These errors all seem related to using hex values in images. Good luck! John $ java org.web3d.x3d.jsail.CommandLine ../data/indexedfaceset_pixeltexture_whole.x3d -validate parameter: source file indexedfaceset_pixeltexture_whole.x3d filesize 4087 bytes parameter: "-validate" for model validation [X3DLoaderObject] [X3DLoaderObject] [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0x00FF00FF 0xFFFFFFFF 0xFFFF00FF) For input string: "0xFF0000FF" validate results: success, no problems noted $ java org.web3d.x3d.jsail.CommandLine ../data/PixelTextureComponentExamples.x3d -validate parameter: source file PixelTextureComponentExamples.x3d filesize 4639 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Invoking PixelTexture.setImage(1 2 1 0xFF 0x00) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(1 2 1 0xFF 0x00) For input string: "0xFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 1 2 0xCCFF 0x2277) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 1 2 0xCCFF 0x2277) For input string: "0xCCFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 4 3 0xFF0000 0xFF00 0x000000 0 0 0 0xFFFFFF 0xFFFF00) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 4 3 0xFF0000 0xFF00 0x000000 0 0 0 0xFFFFFF 0xFFFF00) For input string: "0xFF0000" [X3DLoaderObject error] Invoking PixelTexture.setImage(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) For input string: "0xFF0000FF" [X3DLoaderObject error] Invoking PixelTexture.setImage(8 8 1 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(8 8 1 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0x00 0xcc 0x00 0xcc 0x00 0xcc 0x00 0xcc) For input string: "0xcc" validate results: success, no problems noted $ java org.web3d.x3d.jsail.CommandLine ../data/rgb_alpha.x3d -validate parameter: source file rgb_alpha.x3d filesize 4389 bytes parameter: "-validate" for model validation [X3DLoaderObject] [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 4 0xFF0000FF 0xFFFF0000 0xFFFF0000 0xFF0000FF) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 4 0xFF0000FF 0xFFFF0000 0xFFFF0000 0xFF0000FF) For input string: "0xFF0000FF" validate results: success, no problems noted $ java org.web3d.x3d.jsail.CommandLine ../data/Table5_18PixelTexture.x3d -validate parameter: source file Table5_18PixelTexture.x3d filesize 3293 bytes parameter: "-validate" for model validation [X3DLoaderObject error] Invoking PixelTexture.setImage(2 2 3 0xE6B5FD 0xFFDBB7 0xFFDBB7 0xE6B5FD) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 2 3 0xE6B5FD 0xFFDBB7 0xFFDBB7 0xE6B5FD) For input string: "0xE6B5FD" [X3DLoaderObject error] Invoking PixelTexture.setImage(1 2 1 0xFF 0x00) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(1 2 1 0xFF 0x00) For input string: "0xFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 1 2 0xCCFF 0x2277) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 1 2 0xCCFF 0x2277) For input string: "0xCCFF" [X3DLoaderObject error] Invoking PixelTexture.setImage(2 4 3 0xFF0000 0x00FF00 0 0 0 0 0xFFFFFF 0xFFFF00) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(2 4 3 0xFF0000 0x00FF00 0 0 0 0 0xFFFFFF 0xFFFF00) For input string: "0xFF0000" [X3DLoaderObject error] Invoking PixelTexture.setImage(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) failed (likely due to illegal value), ?? java.lang.reflect.InvocationTargetException null ?? org.web3d.x3d.sai.InvalidFieldValueException: new SFImageObject(3 2 4 0xFF0000FF 0x00FF00FF 0x0000FFFF 0xFF00007F 0x00FF007F 0x0000FF7F) For input string: "0xFF0000FF" validate results: success, no problems noted Sent from Mail for Windows 10 From: Don Brutzman Sent: Wednesday, April 25, 2018 1:57 PM To: John Carlson Cc: x3d-public at web3d.org Subject: Re: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing On 4/24/2018 11:53 PM, John Carlson wrote: > You?ve either disabled the DOM Loader, or disabled validation on input X3D files. Actually full testing of DOM loader, in concert with validation, is the subject of my recent posts. Are you using the latest X3DJSAIL distribution?? Perhaps you have a custom properties setting or codebase change that is overriding something somehow? Let's get you realigned please, details follow. >? I will try to come up with my own Java or JavaScript to validate the DOM Loaded files. Hoping we can get on the same sheet of music first, saving some time.? Then let's extend the test framework further to add anything else you want. X3DJSAIL X3DLoaderObject does the DOM loading, and is further launchable via CommandLine class.? A number of omissions have been fixed in the past week, the gap is closing. Excerpted outputs follow. =================================================== http://www.web3d.org/x3d/content/examples/build.xml ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? =================================================== ant -f E:\\x3d-code\\www.web3d.org\\x3d\\content\\examples processScenes.X3DJSAIL.DomLoaderTests.all processScenes.X3DJSAIL.DomLoaderTests.all: test DOM-based scene loading by X3DJSAIL.X3DLoader for all of the example archives ..X3dForAdvancedModeling,X3dForWebAuthors,Vrml2Sourcebook,ConformanceNist,Basic,Savage,SavageDefense processScenes.X3DJSAIL.DomLoaderTests in all example archives X3D examples: X3dForAdvancedModeling.processScenes.X3DJSAIL.DomLoaderTests: test DOM-based scene loading by X3DJSAIL.X3DLoader Verifying Apache Ant XML Catalog resolver classpath: C:\apache-ant-1.10.1\lib/resolver.jar (84091 bytes) org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//CaffeinePubChem2519SticksColor.x3d -validate parameter: source file CaffeinePubChem2519SticksColor.x3d filesize 22932 bytes parameter: "-validate" for model validation validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//CleatClamp.x3d -validate parameter: source file CleatClamp.x3d filesize 172126 bytes parameter: "-validate" for model validation [X3DLoaderObject] validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//MetadataRootNodeTest.x3d -validate parameter: source file MetadataRootNodeTest.x3d filesize 3427 bytes parameter: "-validate" for model validation validate results: success, no problems noted =================================== org.web3d.x3d.jsail.CommandLine E:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/AdditiveManufacturing//Rocktopus.x3d -validate parameter: source file Rocktopus.x3d filesize 2224841 bytes parameter: "-validate" for model validation validate results: success, no problems noted [...] =================================================== I periodically upload the following, will refresh and update.? The first is the specific focus of current testing, excerpted above. http://www.web3d.org/x3d/content/examples/build.log.DomLoader.txt http://www.web3d.org/x3d/content/examples/build.log.java.txt http://www.web3d.org/x3d/content/examples/build.log.json.txt and X3DJSAIL "smoke tests" that are checked and updated with each release: http://www.web3d.org/specifications/java/X3DJSAIL.html#Examples console output: http://www.web3d.org/specifications/java/examples/HelloWorldProgramOutputLog.txt > Will look for an update. http://www.web3d.org/specifications/java/X3DJSAIL.html#Downloads Test programs, results and autogeneration build scripts are available in Sourceforge version control. https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Wed Apr 25 21:00:22 2018 From: yottzumm at gmail.com (John Carlson) Date: Thu, 26 Apr 2018 00:00:22 -0400 Subject: [x3d-public] Scene is required? Autogenerating JSON Schema X3D required fields. How to handle default='NULL' from X3DUOM in JSON, JSON schema Message-ID: <5ae14ed4.1c69fb81.de217.2bcf@mx.google.com> Don, I don?t believe any of the below is a showstopper, except for the patch to the 4.0 schema. It?s merely making the autogenerated schemas comply with the standard better (required properties and fields), and making the X3DUOM comply as well. Here?s how we make X3DUOM comply: ? X3D Unified Object Model, the Scene field of X3D Statement should have use="required" to agree with 3.3 JSON Schema. Also ? The 3.0, 3.1, 3.2 and 4.0 JSON schemas should be updated to the latest versions. The autogenerated JSON Schemas, version 3.0, 3.1, 3.2, 3.3 and 4.0 should require Scene and encoding properties of X3D statement/object, per Roy's 3.3 JSON schema. I noticed this while playing with the online validator at https://coderextreme.net/X3DJSONLD/src/main/html/validator.html Stated here: ISO/IEC 19776-5:201x Table 4.2 In X3D Unified Object Model, the Scene field of X3D Statement should have use="required" to agree with 3.3 JSON Schema, I believe. Currently, the X3D Unified Object Model has default="NULL" for Scene. I will look into how to make Scene nullable yet required in JSON and JSON Schema if desired (I?m imagining something like ?Scene? : null, or ?Scene? : {} more likely). I am not sure what would happen (to my whole tool chain!) if people started including null?s in their JSON, but we should test?Any good examples of a bare null (no quotes) in our X3D JSON examples? Here are some examples with "NULL". I think they should be null instead. Likely you should change X3dToJson.xslt. But we need to consult the working draft as well ? how it wants to encode NULL. $ find . -name '*.json' -print0| xargs -0 grep -l '"NULL"' ./Basic/development/X3dRetreatProtoExercise.json ./Basic/HumanoidAnimation/AllenDuttonProtoInstances.json ./Basic/HumanoidAnimation/HAnimPrototypes.json ./Basic/HumanoidAnimation/InterchangableActorsViaDynamicRoutingPrototypes.json ./Basic/HumanoidAnimation/NancyPrototypes.json ./Basic/Shaders/SimpleShader.json ./Savage/Tools/Animation/WaypointInterpolatorPrototype.json ./Savage/Tools/Terrain/GeoLocation3.json ./Savage/Tools/Terrain/GeoTerrainGrid.json For @value, we?re leaving the type kind of open, but the X3DUOM says SFString. Hmm. The JSON schema says @value is {}. Strange. I don?t see how it gets generated that way, but I must have done it some tricky way ?. I guess that?s a puzzle for now. There is no analogous field for encoding in X3DUOM, so we will hardcode its requirement in the JSON schema autogenerator. I can also hardcode Scene?s requirement in the autogenerator, if necessary?I?ve already done it. I just need to take it out if we add use=?required? to the Scene field in X3DUOM. Let me know if you want me to update the online JSON schemas for these two properties, I?ve already updated x3d-3.3-JSONSchema.autogenerated.json, and there?s also a patch for the 4.0 JSON schema outstanding. Attached is a new autogenerator. That?s all for now! John Here?s the full patch: Index: x3d-3.0-JSONSchema.json =================================================================== --- x3d-3.0-JSONSchema.json (revision 26720) +++ x3d-3.0-JSONSchema.json (working copy) @@ -13720,6 +13720,8 @@ }, "required": [ "@profile", + "Scene", + "encoding", "@version" ], "additionalProperties": false Index: x3d-3.1-JSONSchema.json =================================================================== --- x3d-3.1-JSONSchema.json (revision 26720) +++ x3d-3.1-JSONSchema.json (working copy) @@ -15700,6 +15700,8 @@ }, "required": [ "@profile", + "Scene", + "encoding", "@version" ], "additionalProperties": false Index: x3d-3.2-JSONSchema.json =================================================================== --- x3d-3.2-JSONSchema.json (revision 26720) +++ x3d-3.2-JSONSchema.json (working copy) @@ -22492,6 +22492,8 @@ }, "required": [ "@profile", + "Scene", + "encoding", "@version" ], "additionalProperties": false Index: x3d-4.0-JSONSchema.json =================================================================== --- x3d-4.0-JSONSchema.json (revision 26720) +++ x3d-4.0-JSONSchema.json (working copy) @@ -9220,7 +9220,6 @@ "r_metacarpophalangeal_joint_5", "r_carpal_proximal_interphalangeal_joint_5", "r_carpal_distal_interphalangeal_joint_5", - "r_carpal_distal_interphalangeal_joint_5", "l_tarsometatarsal_joint", "l_metatarsophalangeal_joint", "l_tarsal_interphalangeal_joint", @@ -24206,6 +24205,8 @@ }, "required": [ "@profile", + "Scene", + "encoding", "@version" ], "additionalProperties": false -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: etgenerateJSONschema.py Type: application/octet-stream Size: 92391 bytes Desc: not available URL: From yottzumm at gmail.com Wed Apr 25 21:50:38 2018 From: yottzumm at gmail.com (John Carlson) Date: Thu, 26 Apr 2018 00:50:38 -0400 Subject: [x3d-public] HAnim: Here's several examples where the @name isn't right inJSONfor HAnim. Perhaps we should allow more than the enumeration In-Reply-To: <5ae15a2a.1c69fb81.8d4fe.0707@mx.google.com> References: <5ae158c2.4372370a.88ea7.1c68@mx.google.com> <5ae15a2a.1c69fb81.8d4fe.0707@mx.google.com> Message-ID: <5ae15a9b.1c69fb81.b9a47.853a@mx.google.com> Sorry if this is a repeat. Errors in X3D Resources Examples JSON. Not in enum. keyword: enum dataPath: X3D > Scene > -children > 1 > HAnimHumanoid > -viewpoints > 0 > HAnimSite > @name value: "BoxMan_view" message: should be equal to one of the allowed values params: {"allowedValues":["cervicale","crotch","l_acromion","l_asis","l_axilla_ant","l_axilla_post","l_calcaneous_post","l_clavicale","l_dactylion","l_digit2","l_femoral_lateral_epicn","l_femoral_medial_epicn","l_forefoot_tip","l_gonion","l_hand_tip","l_humeral_lateral_epicn","l_humeral_medial_epicn","l_iliocristale","l_index_distal_tip","l_infraorbitale","l_knee_crease","l_lateral_malleolus","l_medial_malleolus","l_metacarpal_pha2","l_metacarpal_pha5","l_metatarsal_pha1","l_metatarsal_pha5","l_middle_distal_tip","l_neck_base","l_olecranon","l_pinky_distal_tip","l_psis","l_radial_styloid","l_radiale","l_rib10","l_ring_distal_tip","l_sphyrion","l_thelion","l_thumb_distal_tip","l_tragion","l_trochanterion","l_ulnar_styloid","navel","nuchale","r_acromion","r_asis","r_axilla_ant","r_axilla_post","r_calcaneous_post","r_clavicale","r_dactylion","r_digit2","r_femoral_lateral_epicn","r_femoral_medial_epicn","r_forefoot_tip","r_gonion","r_hand_tip","r_humeral_lateral_epicn","r_humeral_medial_epicn","r_iliocristale","r_index_distal_tip","r_infraorbitale","r_knee_crease","r_lateral_malleolus","r_medial_malleolus","r_metacarpal_pha2","r_metacarpal_pha5","r_metatarsal_pha1","r_metatarsal_pha5","r_middle_distal_tip","r_neck_base","r_olecranon","r_pinky_distal_tip","r_psis","r_radial_styloid","r_radiale","r_rib10","r_ring_distal_tip","r_sphyrion","r_thelion","r_thumb_distal_tip","r_tragion","r_trochanterion","r_ulnar_styloid","rib10_midspine","sellion","skull_tip","substernale","supramenton","suprasternale","waist_preferred_post"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDutton.json version: 3.3 keyword: enum dataPath: X3D > Scene > -children > 2 > HAnimHumanoid > -viewpoints > 0 > HAnim Site > @name value: "DiamondManLOA_0_view" message: should be equal to one of the allowed values params: {"allowedValues":["cervicale","crotch","l_acromion","l_asis","l_axilla_ant","l_axilla_post","l_calcaneous_post","l_clavicale","l_dactylion","l_digit2","l_femoral_lateral_epicn","l_femoral_medial_epicn","l_forefoot_tip","l_gonion","l_hand_tip","l_humeral_lateral_epicn","l_humeral_medial_epicn","l_iliocristale","l_index_distal_tip","l_infraorbitale","l_knee_crease","l_lateral_malleolus","l_medial_malleolus","l_metacarpal_pha2","l_metacarpal_pha5","l_metatarsal_pha1","l_metatarsal_pha5","l_middle_distal_tip","l_neck_base","l_olecranon","l_pinky_distal_tip","l_psis","l_radial_styloid","l_radiale","l_rib10","l_ring_distal_tip","l_sphyrion","l_thelion","l_thumb_distal_tip","l_tragion","l_trochanterion","l_ulnar_styloid","navel","nuchale","r_acromion","r_asis","r_axilla_ant","r_axilla_post","r_calcaneous_post","r_clavicale","r_dactylion","r_digit2","r_femoral_lateral_epicn","r_femoral_medial_epicn","r_forefoot_tip","r_gonion","r_hand_tip","r_humeral_lateral_epicn","r_humeral_medial_epicn","r_iliocristale","r_index_distal_tip","r_infraorbitale","r_knee_crease","r_lateral_malleolus","r_medial_malleolus","r_metacarpal_pha2","r_metacarpal_pha5","r_metatarsal_pha1","r_metatarsal_pha5","r_middle_distal_tip","r_neck_base","r_olecranon","r_pinky_distal_tip","r_psis","r_radial_styloid","r_radiale","r_rib10","r_ring_distal_tip","r_sphyrion","r_thelion","r_thumb_distal_tip","r_tragion","r_trochanterion","r_ulnar_styloid","rib10_midspine","sellion","skull_tip","substernale","supramenton","suprasternale","waist_preferred_post"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/DiamondManLOA_0.json version: 3.3 keyword: enum dataPath: X3D > Scene > -children > 0 > HAnimHumanoid > -skeleton > 0 > HAnimJoint > -children > 0 > HAnimJoint > -children > 2 > HAnimJoint > -children > 0 > HAnimSegment > @name value: "l_navicular" message: should be equal to one of the allowed values params: {"allowedValues":["sacrum","pelvis","l_thigh","l_calf","l_hindfoot","l_midproximal","l_middistal","l_forefoot","r_thigh","r_calf","r_hindfoot","r_midproximal","r_middistal","r_forefoot","l5","l4","l3","l2","l1","t12","t11","t10","t9","t8","t7","t6","t5","t4","t3","t2","t1","c7","c6","c5","c4","c3","c2","c1","skull","l_eyelid","r_eyelid","l_eyeball","r_eyeball","l_eyebrow","r_eyebrow","jaw","l_clavicle","l_scapula","l_upperarm","l_forearm","l_hand","l_thumb_metacarpal","l_thumb_proximal","l_thumb_distal","l_index_metacarpal","l_index_proximal","l_index_middle","l_index_distal","l_middle_metacarpal","l_middle_proximal","l_middle_middle","l_middle_distal","l_ring_metacarpal","l_ring_proximal","l_ring_middle","l_ring_distal","l_pinky_metacarpal","l_pinky_proximal","l_pinky_middle","l_pinky_distal","r_clavicle","r_scapula","r_upperarm","r_forearm","r_hand","r_thumb_metacarpal","r_thumb_proximal","r_thumb_distal","r_index_metacarpal","r_index_proximal","r_index_middle","r_index_distal","r_middle_metacarpal","r_middle_proximal","r_middle_middle","r_middle_distal","r_ring_metacarpal","r_ring_proximal","r_ring_middle","r_ring_distal","r_pinky_metacarpal","r_pinky_proximal","r_pinky_middle","r_pinky_distal","l_carpal","","l_trapezoid","l_metacarpal_1","l_carpal_proximal_phalanx_1","l_carpal_distal_phalanx_1","l_metacarpal_2","l_carpal_proximal_phalanx_2","l_carpal_middle_phalanx_2","l_carpal_distal_phalanx_2","l_capitate","l_metacarpal_3","l_carpal_proximal_phalanx_3","l_carpal_middle_phalanx_3","l_carpal_distal_phalanx_3","l_hamate","l_metacarpal_4","l_carpal_proximal_phalanx_4","l_carpal_middle_phalanx_4","l_carpal_distal_phalanx_4","l_metacarpal_5","l_carpal_proximal_phalanx_5","l_carpal_middle_phalanx_5","l_carpal_distal_phalanx_5","r_carpal","r_trapezoid","r_metacarpal_1","r_carpal_proximal_phalanx_1","r_carpal_distal_phalanx_1","r_metacarpal_2","r_carpal_proximal_phalanx_2","r_carpal_middle_phalanx_2","r_carpal_distal_phalanx_2","r_capitate","r_metacarpal_3","r_carpal_proximal_phalanx_3","r_carpal_middle_phalanx_3","r_carpal_distal_phalanx_3","r_hamate","r_metacarpal_4","r_carpal_proximal_phalanx_4","r_carpal_middle_phalanx_4","r_carpal_distal_phalanx_4","r_metacarpal_5","r_carpal_proximal_phalanx_5","r_carpal_middle_phalanx_5","r_carpal_distal_phalanx_5","l_talus","l_metatarsal","l_tarsal_proximal_phalanx","l_tarsal_distal_phalanx","r_talus","r_metatarsal","r_tarsal_proximal_phalanx","r_tarsal_distal_phalanx"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelFootLeft.json version: 4.0 keyword: enum dataPath: X3D > Scene > -children > 0 > HAnimHumanoid > -skeleton > 0 > HAnimJoint > -children > 0 > HAnimJoint > -children > 2 > HAnimJoint > -children > 0 > HAnimSegment > @name value: "r_navicular" message: should be equal to one of the allowed values params: {"allowedValues":["sacrum","pelvis","l_thigh","l_calf","l_hindfoot","l_midproximal","l_middistal","l_forefoot","r_thigh","r_calf","r_hindfoot","r_midproximal","r_middistal","r_forefoot","l5","l4","l3","l2","l1","t12","t11","t10","t9","t8","t7","t6","t5","t4","t3","t2","t1","c7","c6","c5","c4","c3","c2","c1","skull","l_eyelid","r_eyelid","l_eyeball","r_eyeball","l_eyebrow","r_eyebrow","jaw","l_clavicle","l_scapula","l_upperarm","l_forearm","l_hand","l_thumb_metacarpal","l_thumb_proximal","l_thumb_distal","l_index_metacarpal","l_index_proximal","l_index_middle","l_index_distal","l_middle_metacarpal","l_middle_proximal","l_middle_middle","l_middle_distal","l_ring_metacarpal","l_ring_proximal","l_ring_middle","l_ring_distal","l_pinky_metacarpal","l_pinky_proximal","l_pinky_middle","l_pinky_distal","r_clavicle","r_scapula","r_upperarm","r_forearm","r_hand","r_thumb_metacarpal","r_thumb_proximal","r_thumb_distal","r_index_metacarpal","r_index_proximal","r_index_middle","r_index_distal","r_middle_metacarpal","r_middle_proximal","r_middle_middle","r_middle_distal","r_ring_metacarpal","r_ring_proximal","r_ring_middle","r_ring_distal","r_pinky_metacarpal","r_pinky_proximal","r_pinky_middle","r_pinky_distal","l_carpal","","l_trapezoid","l_metacarpal_1","l_carpal_proximal_phalanx_1","l_carpal_distal_phalanx_1","l_metacarpal_2","l_carpal_proximal_phalanx_2","l_carpal_middle_phalanx_2","l_carpal_distal_phalanx_2","l_capitate","l_metacarpal_3","l_carpal_proximal_phalanx_3","l_carpal_middle_phalanx_3","l_carpal_distal_phalanx_3","l_hamate","l_metacarpal_4","l_carpal_proximal_phalanx_4","l_carpal_middle_phalanx_4","l_carpal_distal_phalanx_4","l_metacarpal_5","l_carpal_proximal_phalanx_5","l_carpal_middle_phalanx_5","l_carpal_distal_phalanx_5","r_carpal","r_trapezoid","r_metacarpal_1","r_carpal_proximal_phalanx_1","r_carpal_distal_phalanx_1","r_metacarpal_2","r_carpal_proximal_phalanx_2","r_carpal_middle_phalanx_2","r_carpal_distal_phalanx_2","r_capitate","r_metacarpal_3","r_carpal_proximal_phalanx_3","r_carpal_middle_phalanx_3","r_carpal_distal_phalanx_3","r_hamate","r_metacarpal_4","r_carpal_proximal_phalanx_4","r_carpal_middle_phalanx_4","r_carpal_distal_phalanx_4","r_metacarpal_5","r_carpal_proximal_phalanx_5","r_carpal_middle_phalanx_5","r_carpal_distal_phalanx_5","l_talus","l_metatarsal","l_tarsal_proximal_phalanx","l_tarsal_distal_phalanx","r_talus","r_metatarsal","r_tarsal_proximal_phalanx","r_tarsal_distal_phalanx"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelFootRight.json version: 4.0 keyword: enum dataPath: X3D > Scene > -children > 0 > HAnimHumanoid > -skeleton > 0 > HAnimJoint > -children > 0 > HAnimJoint > -children > 0 > HAnimSegment > @name value: "l_wrist" message: should be equal to one of the allowed values params: {"allowedValues":["sacrum","pelvis","l_thigh","l_calf","l_hindfoot","l_midproximal","l_middistal","l_forefoot","r_thigh","r_calf","r_hindfoot","r_midproximal","r_middistal","r_forefoot","l5","l4","l3","l2","l1","t12","t11","t10","t9","t8","t7","t6","t5","t4","t3","t2","t1","c7","c6","c5","c4","c3","c2","c1","skull","l_eyelid","r_eyelid","l_eyeball","r_eyeball","l_eyebrow","r_eyebrow","jaw","l_clavicle","l_scapula","l_upperarm","l_forearm","l_hand","l_thumb_metacarpal","l_thumb_proximal","l_thumb_distal","l_index_metacarpal","l_index_proximal","l_index_middle","l_index_distal","l_middle_metacarpal","l_middle_proximal","l_middle_middle","l_middle_distal","l_ring_metacarpal","l_ring_proximal","l_ring_middle","l_ring_distal","l_pinky_metacarpal","l_pinky_proximal","l_pinky_middle","l_pinky_distal","r_clavicle","r_scapula","r_upperarm","r_forearm","r_hand","r_thumb_metacarpal","r_thumb_proximal","r_thumb_distal","r_index_metacarpal","r_index_proximal","r_index_middle","r_index_distal","r_middle_metacarpal","r_middle_proximal","r_middle_middle","r_middle_distal","r_ring_metacarpal","r_ring_proximal","r_ring_middle","r_ring_distal","r_pinky_metacarpal","r_pinky_proximal","r_pinky_middle","r_pinky_distal","l_carpal","","l_trapezoid","l_metacarpal_1","l_carpal_proximal_phalanx_1","l_carpal_distal_phalanx_1","l_metacarpal_2","l_carpal_proximal_phalanx_2","l_carpal_middle_phalanx_2","l_carpal_distal_phalanx_2","l_capitate","l_metacarpal_3","l_carpal_proximal_phalanx_3","l_carpal_middle_phalanx_3","l_carpal_distal_phalanx_3","l_hamate","l_metacarpal_4","l_carpal_proximal_phalanx_4","l_carpal_middle_phalanx_4","l_carpal_distal_phalanx_4","l_metacarpal_5","l_carpal_proximal_phalanx_5","l_carpal_middle_phalanx_5","l_carpal_distal_phalanx_5","r_carpal","r_trapezoid","r_metacarpal_1","r_carpal_proximal_phalanx_1","r_carpal_distal_phalanx_1","r_metacarpal_2","r_carpal_proximal_phalanx_2","r_carpal_middle_phalanx_2","r_carpal_distal_phalanx_2","r_capitate","r_metacarpal_3","r_carpal_proximal_phalanx_3","r_carpal_middle_phalanx_3","r_carpal_distal_phalanx_3","r_hamate","r_metacarpal_4","r_carpal_proximal_phalanx_4","r_carpal_middle_phalanx_4","r_carpal_distal_phalanx_4","r_metacarpal_5","r_carpal_proximal_phalanx_5","r_carpal_middle_phalanx_5","r_carpal_distal_phalanx_5","l_talus","l_metatarsal","l_tarsal_proximal_phalanx","l_tarsal_distal_phalanx","r_talus","r_metatarsal","r_tarsal_proximal_phalanx","r_tarsal_distal_phalanx"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelHandLeft.json version: 4.0 keyword: enum dataPath: X3D > Scene > -children > 0 > HAnimHumanoid > -skeleton > 0 > HAnimJoint > -children > 0 > HAnimJoint > -children > 0 > HAnimSegment > @name value: "r_wrist" message: should be equal to one of the allowed values params: {"allowedValues":["sacrum","pelvis","l_thigh","l_calf","l_hindfoot","l_midproximal","l_middistal","l_forefoot","r_thigh","r_calf","r_hindfoot","r_midproximal","r_middistal","r_forefoot","l5","l4","l3","l2","l1","t12","t11","t10","t9","t8","t7","t6","t5","t4","t3","t2","t1","c7","c6","c5","c4","c3","c2","c1","skull","l_eyelid","r_eyelid","l_eyeball","r_eyeball","l_eyebrow","r_eyebrow","jaw","l_clavicle","l_scapula","l_upperarm","l_forearm","l_hand","l_thumb_metacarpal","l_thumb_proximal","l_thumb_distal","l_index_metacarpal","l_index_proximal","l_index_middle","l_index_distal","l_middle_metacarpal","l_middle_proximal","l_middle_middle","l_middle_distal","l_ring_metacarpal","l_ring_proximal","l_ring_middle","l_ring_distal","l_pinky_metacarpal","l_pinky_proximal","l_pinky_middle","l_pinky_distal","r_clavicle","r_scapula","r_upperarm","r_forearm","r_hand","r_thumb_metacarpal","r_thumb_proximal","r_thumb_distal","r_index_metacarpal","r_index_proximal","r_index_middle","r_index_distal","r_middle_metacarpal","r_middle_proximal","r_middle_middle","r_middle_distal","r_ring_metacarpal","r_ring_proximal","r_ring_middle","r_ring_distal","r_pinky_metacarpal","r_pinky_proximal","r_pinky_middle","r_pinky_distal","l_carpal","","l_trapezoid","l_metacarpal_1","l_carpal_proximal_phalanx_1","l_carpal_distal_phalanx_1","l_metacarpal_2","l_carpal_proximal_phalanx_2","l_carpal_middle_phalanx_2","l_carpal_distal_phalanx_2","l_capitate","l_metacarpal_3","l_carpal_proximal_phalanx_3","l_carpal_middle_phalanx_3","l_carpal_distal_phalanx_3","l_hamate","l_metacarpal_4","l_carpal_proximal_phalanx_4","l_carpal_middle_phalanx_4","l_carpal_distal_phalanx_4","l_metacarpal_5","l_carpal_proximal_phalanx_5","l_carpal_middle_phalanx_5","l_carpal_distal_phalanx_5","r_carpal","r_trapezoid","r_metacarpal_1","r_carpal_proximal_phalanx_1","r_carpal_distal_phalanx_1","r_metacarpal_2","r_carpal_proximal_phalanx_2","r_carpal_middle_phalanx_2","r_carpal_distal_phalanx_2","r_capitate","r_metacarpal_3","r_carpal_proximal_phalanx_3","r_carpal_middle_phalanx_3","r_carpal_distal_phalanx_3","r_hamate","r_metacarpal_4","r_carpal_proximal_phalanx_4","r_carpal_middle_phalanx_4","r_carpal_distal_phalanx_4","r_metacarpal_5","r_carpal_proximal_phalanx_5","r_carpal_middle_phalanx_5","r_carpal_distal_phalanx_5","l_talus","l_metatarsal","l_tarsal_proximal_phalanx","l_tarsal_distal_phalanx","r_talus","r_metatarsal","r_tarsal_proximal_phalanx","r_tarsal_distal_phalanx"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelHandRight.json version: 4.0 keyword: enum dataPath: X3D > Scene > -children > 14 > HAnimHumanoid > -skeleton > 0 > HAnimJoint > -children > 2 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 0 > HAnimSegment > -children > 5 > HAnimSite > @name value: "l_eyeball_site_view" message: should be equal to one of the allowed values params: {"allowedValues":["cervicale","crotch","l_acromion","l_asis","l_axilla_ant","l_axilla_post","l_calcaneous_post","l_clavicale","l_dactylion","l_digit2","l_femoral_lateral_epicn","l_femoral_medial_epicn","l_forefoot_tip","l_gonion","l_hand_tip","l_humeral_lateral_epicn","l_humeral_medial_epicn","l_iliocristale","l_index_distal_tip","l_infraorbitale","l_knee_crease","l_lateral_malleolus","l_medial_malleolus","l_metacarpal_pha2","l_metacarpal_pha5","l_metatarsal_pha1","l_metatarsal_pha5","l_middle_distal_tip","l_neck_base","l_olecranon","l_pinky_distal_tip","l_psis","l_radial_styloid","l_radiale","l_rib10","l_ring_distal_tip","l_sphyrion","l_thelion","l_thumb_distal_tip","l_tragion","l_trochanterion","l_ulnar_styloid","navel","nuchale","r_acromion","r_asis","r_axilla_ant","r_axilla_post","r_calcaneous_post","r_clavicale","r_dactylion","r_digit2","r_femoral_lateral_epicn","r_femoral_medial_epicn","r_forefoot_tip","r_gonion","r_hand_tip","r_humeral_lateral_epicn","r_humeral_medial_epicn","r_iliocristale","r_index_distal_tip","r_infraorbitale","r_knee_crease","r_lateral_malleolus","r_medial_malleolus","r_metacarpal_pha2","r_metacarpal_pha5","r_metatarsal_pha1","r_metatarsal_pha5","r_middle_distal_tip","r_neck_base","r_olecranon","r_pinky_distal_tip","r_psis","r_radial_styloid","r_radiale","r_rib10","r_ring_distal_tip","r_sphyrion","r_thelion","r_thumb_distal_tip","r_tragion","r_trochanterion","r_ulnar_styloid","rib10_midspine","sellion","skull_tip","substernale","supramenton","suprasternale","waist_preferred_post"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3Illustrated.json version: 3.3 keyword: enum dataPath: X3D > Scene > -children > 14 > HAnimHumanoid > -skeleton > 0 > HAnimJ oint > -children > 2 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -childre n > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > - children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJo int > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -c hildren > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > HAnimJoi nt > -children > 1 > HAnimJoint > -children > 1 > HAnimJoint > -children > 1 > H AnimJoint > -children > 1 > HAnimJoint > -children > 0 > HAnimSegment > -childre n > 5 > HAnimSite > @name value: "l_eyeball_site_view" message: should be equal to one of the allowed values params: {"allowedValues":["cervicale","crotch","l_acromion","l_asis","l_axilla_ ant","l_axilla_post","l_calcaneous_post","l_clavicale","l_dactylion","l_digit2", "l_femoral_lateral_epicn","l_femoral_medial_epicn","l_forefoot_tip","l_gonion"," l_hand_tip","l_humeral_lateral_epicn","l_humeral_medial_epicn","l_iliocristale", "l_index_distal_tip","l_infraorbitale","l_knee_crease","l_lateral_malleolus","l_ medial_malleolus","l_metacarpal_pha2","l_metacarpal_pha5","l_metatarsal_pha1","l _metatarsal_pha5","l_middle_distal_tip","l_neck_base","l_olecranon","l_pinky_dis tal_tip","l_psis","l_radial_styloid","l_radiale","l_rib10","l_ring_distal_tip"," l_sphyrion","l_thelion","l_thumb_distal_tip","l_tragion","l_trochanterion","l_ul nar_styloid","navel","nuchale","r_acromion","r_asis","r_axilla_ant","r_axilla_po st","r_calcaneous_post","r_clavicale","r_dactylion","r_digit2","r_femoral_latera l_epicn","r_femoral_medial_epicn","r_forefoot_tip","r_gonion","r_hand_tip","r_hu meral_lateral_epicn","r_humeral_medial_epicn","r_iliocristale","r_index_distal_t ip","r_infraorbitale","r_knee_crease","r_lateral_malleolus","r_medial_malleolus" ,"r_metacarpal_pha2","r_metacarpal_pha5","r_metatarsal_pha1","r_metatarsal_pha5" ,"r_middle_distal_tip","r_neck_base","r_olecranon","r_pinky_distal_tip","r_psis" ,"r_radial_styloid","r_radiale","r_rib10","r_ring_distal_tip","r_sphyrion","r_th elion","r_thumb_distal_tip","r_tragion","r_trochanterion","r_ulnar_styloid","rib 10_midspine","sellion","skull_tip","substernale","supramenton","suprasternale"," waist_preferred_post"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HA nimSpecificationLOA3Motion.json version: 3.3 keyword: enum dataPath: X3D > Scene > -children > 11 > Group > -children > 0 > HAnimHumanoid > -skeleton > 0 > HAnimJoint > -children > 0 > HAnimSegment > -children > 0 > HAnimSite > @name value: "RootFront" message: should be equal to one of the allowed values params: {"allowedValues":["cervicale","crotch","l_acromion","l_asis","l_axilla_ant","l_axilla_post","l_calcaneous_post","l_clavicale","l_dactylion","l_digit2","l_femoral_lateral_epicn","l_femoral_medial_epicn","l_forefoot_tip","l_gonion","l_hand_tip","l_humeral_lateral_epicn","l_humeral_medial_epicn","l_iliocristale","l_index_distal_tip","l_infraorbitale","l_knee_crease","l_lateral_malleolus","l_medial_malleolus","l_metacarpal_pha2","l_metacarpal_pha5","l_metatarsal_pha1","l_metatarsal_pha5","l_middle_distal_tip","l_neck_base","l_olecranon","l_pinky_distal_tip","l_psis","l_radial_styloid","l_radiale","l_rib10","l_ring_distal_tip","l_sphyrion","l_thelion","l_thumb_distal_tip","l_tragion","l_trochanterion","l_ulnar_styloid","navel","nuchale","r_acromion","r_asis","r_axilla_ant","r_axilla_post","r_calcaneous_post","r_clavicale","r_dactylion","r_digit2","r_femoral_lateral_epicn","r_femoral_medial_epicn","r_forefoot_tip","r_gonion","r_hand_tip","r_humeral_lateral_epicn","r_humeral_medial_epicn","r_iliocristale","r_index_distal_tip","r_infraorbitale","r_knee_crease","r_lateral_malleolus","r_medial_malleolus","r_metacarpal_pha2","r_metacarpal_pha5","r_metatarsal_pha1","r_metatarsal_pha5","r_middle_distal_tip","r_neck_base","r_olecranon","r_pinky_distal_tip","r_psis","r_radial_styloid","r_radiale","r_rib10","r_ring_distal_tip","r_sphyrion","r_thelion","r_thumb_distal_tip","r_tragion","r_trochanterion","r_ulnar_styloid","rib10_midspine","sellion","skull_tip","substernale","supramenton","suprasternale","waist_preferred_post"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/JoeSkinTexcoordDisplacerKick.json version: 3.3 keyword: enum dataPath: X3D > Scene > -children > 0 > HAnimHumanoid > -viewpoints > 0 > HAnimSite > @name value: "NancyNativeTags_view" message: should be equal to one of the allowed values params: {"allowedValues":["cervicale","crotch","l_acromion","l_asis","l_axilla_ant","l_axilla_post","l_calcaneous_post","l_clavicale","l_dactylion","l_digit2","l_femoral_lateral_epicn","l_femoral_medial_epicn","l_forefoot_tip","l_gonion","l_hand_tip","l_humeral_lateral_epicn","l_humeral_medial_epicn","l_iliocristale","l_index_distal_tip","l_infraorbitale","l_knee_crease","l_lateral_malleolus","l_medial_malleolus","l_metacarpal_pha2","l_metacarpal_pha5","l_metatarsal_pha1","l_metatarsal_pha5","l_middle_distal_tip","l_neck_base","l_olecranon","l_pinky_distal_tip","l_psis","l_radial_styloid","l_radiale","l_rib10","l_ring_distal_tip","l_sphyrion","l_thelion","l_thumb_distal_tip","l_tragion","l_trochanterion","l_ulnar_styloid","navel","nuchale","r_acromion","r_asis","r_axilla_ant","r_axilla_post","r_calcaneous_post","r_clavicale","r_dactylion","r_digit2","r_femoral_lateral_epicn","r_femoral_medial_epicn","r_forefoot_tip","r_gonion","r_hand_tip","r_humeral_lateral_epicn","r_humeral_medial_epicn","r_iliocristale","r_index_distal_tip","r_infraorbitale","r_knee_crease","r_lateral_malleolus","r_medial_malleolus","r_metacarpal_pha2","r_metacarpal_pha5","r_metatarsal_pha1","r_metatarsal_pha5","r_middle_distal_tip","r_neck_base","r_olecranon","r_pinky_distal_tip","r_psis","r_radial_styloid","r_radiale","r_rib10","r_ring_distal_tip","r_sphyrion","r_thelion","r_thumb_distal_tip","r_tragion","r_trochanterion","r_ulnar_styloid","rib10_midspine","sellion","skull_tip","substernale","supramenton","suprasternale","waist_preferred_post"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/NancyNativeTags.json version: 3.3 l_middistal_tip in several files keyword: enum dataPath: X3D > Scene > -children > 2 > HAnimHumanoid > -skeleton > 0 > HAnimJoint > -children > 0 > HAnimJoint > -children > 0 > HAnimJoint > -children > 0 > HAnimJoint > -children > 0 > HAnimJoint > @name value: "LeftAnkleEnd" message: should be equal to one of the allowed values params: {"allowedValues":["HumanoidRoot","sacroiliac","l_hip","l_knee","l_ankle","l_subtalar","l_midtarsal","l_metatarsal","r_hip","r_knee","r_ankle","r_subtalar","r_midtarsal","r_metatarsal","vl5","vl4","vl3","vl2","vl1","vt12","vt11","vt10","vt9","vt8","vt7","vt6","vt5","vt4","vt3","vt2","vt1","vc7","vc6","vc5","vc4","vc3","vc2","vc1","skullbase","l_eyelid_joint","r_eyelid_joint","l_eyeball_joint","r_eyeball_joint","l_eyebrow_joint","r_eyebrow_joint","temporomandibular","l_sternoclavicular","l_acromioclavicular","l_shoulder","l_elbow","l_wrist","l_thumb1","l_thumb2","l_thumb3","l_index0","l_index1","l_index2","l_index3","l_middle0","l_middle1","l_middle2","l_middle3","l_ring0","l_ring1","l_ring2","l_ring3","l_pinky0","l_pinky1","l_pinky2","l_pinky3","r_sternoclavicular","r_acromioclavicular","r_shoulder","r_elbow","r_wrist","r_thumb1","r_thumb2","r_thumb3","r_index0","r_index1","r_index2","r_index3","r_middle0","r_middle1","r_middle2","r_middle3","r_ring0","r_ring1","r_ring2","r_ring3","r_pinky0","r_pinky1","r_pinky2","r_pinky3"]} file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhSeamless3dExport1.json version: 3.1 -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Wed Apr 25 22:26:44 2018 From: yottzumm at gmail.com (John Carlson) Date: Thu, 26 Apr 2018 01:26:44 -0400 Subject: [x3d-public] HAnim: Here's several examples where the @name isn't right in JSON. Perhaps we should allow more than the enumeration In-Reply-To: <5ae15a9b.1c69fb81.b9a47.853a@mx.google.com> References: <5ae158c2.4372370a.88ea7.1c68@mx.google.com> <5ae15a2a.1c69fb81.8d4fe.0707@mx.google.com> <5ae15a9b.1c69fb81.b9a47.853a@mx.google.com> Message-ID: <5ae16311.83a9370a.e19ca.3097@mx.google.com> Here?s a quick summary of the errors for your perusal. See previous message for details on which enum is not matched. I can provide them here, if necessary. John value: "Plane" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/development/X3dRetreatProtoExercise.json value: "BoxMan_view" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/AllenDutton.json value: "l_middistal_tip" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxMan.json value: "l_middistal_tip" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxManAnimationPanel.json value: "DiamondManLOA_0_view" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/DiamondManLOA_0.json value: "l_navicular" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelFootLeft.json value: "r_navicular" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelFootRight.json value: "l_wrist" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelHandLeft.json value: "r_wrist" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelHandRight.json value: "l_eyeball_site_view" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3Illustrated.json value: "l_eyeball_site_view" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3Invisible.json value: "l_eyeball_site_view" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3Motion.json value: "l_middistal_tip" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/InterchangableActorsViaDynamicRoutingPrototypes.json value: "RootFront" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/JoeSkinTexcoordDisplacerKick.json value: "NancyNativeTags_view" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/NancyNativeTags.json value: "l_middistal_tip" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1.json value: "l_middistal_tip" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Illustrated.json value: "l_middistal_tip" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhConversion1Invisible.json value: "LeftAnkleEnd" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionAnimation/BvhSeamless3dExport1.json value: "l_middistal_tip" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1.json value: "HAnimSegment_HumanoidRoot" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Illustrated.json value: "l_middistal_tip" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhConversion1Invisible.json value: "LeftAnkleEnd" message: should be equal to one of the allowed values file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/MotionCapture/BvhSeamless3dExport1.json -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreasplesch at gmail.com Thu Apr 26 07:48:47 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Thu, 26 Apr 2018 10:48:47 -0400 Subject: [x3d-public] vrml to x3d field name changes Message-ID: The 'level_changed' field of the LOD node (http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/navigation.html#LOD) currently does not work in the x_ite browser although it is correctly implemented. The problem is that x_ite also understands vrml97 and aliases vrml field names to equivalent x3d field names in a straightforward manner (https://github.com/create3000/x_ite/issues/11). This is fine in most cases but for the LOD node it leads to a conflict. Vrml has a 'level' field (http://www.web3d.org/documents/specifications/14772/V2.0/part1/nodesRef.html#LOD) which is aliased to the corresponding 'children' x3d field. A 'level_changed' event therefore is then treated as output from the MFNode 'children' field, and not as output from the SFInt 'level_changed' field. A possible fix is to only do the aliasing if we know the original encoding of the LOD node was vrml. This fix may be ok if the LOD node is the only node which could have this conflict stemming from renaming a vrml field ('level' to 'children') and at the same time introducing a new x3d field ('level_changed') with the old vrml name of the renamed field. So my question is if there may be other nodes with fields which were affected by renaming from vrml to x3d in such a way ? If there are a few others it may be worth looking for a solution which does not need special treatment of certain nodes. -Andreas -- Andreas Plesch Waltham, MA 02453 From gpugroup at gmail.com Thu Apr 26 09:01:17 2018 From: gpugroup at gmail.com (GPU Group) Date: Thu, 26 Apr 2018 10:01:17 -0600 Subject: [x3d-public] vrml to x3d field name changes In-Reply-To: References: Message-ID: When hooking up routes, use a 2-pass search: 1. exact match if didn't find then 2. synonym match ie set_, _changed -Doug On Thu, Apr 26, 2018 at 8:48 AM, Andreas Plesch wrote: > The 'level_changed' field of the LOD node > (http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/ > components/navigation.html#LOD) > currently does not work in the x_ite browser although it is correctly > implemented. The problem is that x_ite also understands vrml97 and > aliases vrml field names to equivalent x3d field names in a > straightforward manner > (https://github.com/create3000/x_ite/issues/11). This is fine in most > cases but for the LOD node it leads to a conflict. Vrml has a 'level' > field (http://www.web3d.org/documents/specifications/ > 14772/V2.0/part1/nodesRef.html#LOD) > which is aliased to the corresponding 'children' x3d field. A > 'level_changed' event therefore is then treated as output from the > MFNode 'children' field, and not as output from the SFInt > 'level_changed' field. > > A possible fix is to only do the aliasing if we know the original > encoding of the LOD node was vrml. This fix may be ok if the LOD node > is the only node which could have this conflict stemming from renaming > a vrml field ('level' to 'children') and at the same time introducing > a new x3d field ('level_changed') with the old vrml name of the > renamed field. > > So my question is if there may be other nodes with fields which were > affected by renaming from vrml to x3d in such a way ? > > If there are a few others it may be worth looking for a solution which > does not need special treatment of certain nodes. > > -Andreas > > > -- > Andreas Plesch > Waltham, MA 02453 > > _______________________________________________ > 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: From andreasplesch at gmail.com Thu Apr 26 10:48:05 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Thu, 26 Apr 2018 13:48:05 -0400 Subject: [x3d-public] vrml to x3d field name changes Message-ID: Hi Doug, that could work but without further changes I think may just reverse the problem due to the way x_ite currently works. In a vrml scene 'level_changed' would then become a recognized output SFInt field although it should be treated as the equivalent of the x3d 'children_changed' field synonym. It seems it is just a question at which level these differences between vrml and x3d are addressed best, -Andreas > Date: Thu, 26 Apr 2018 10:01:17 -0600 > From: GPU Group > To: X3D Graphics public mailing list > Subject: Re: [x3d-public] vrml to x3d field name changes > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > When hooking up routes, use a 2-pass search: > 1. exact match > if didn't find then > 2. synonym match ie set_, _changed > -Doug > > On Thu, Apr 26, 2018 at 8:48 AM, Andreas Plesch > wrote: > >> The 'level_changed' field of the LOD node >> (http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/ >> components/navigation.html#LOD) >> currently does not work in the x_ite browser although it is correctly >> implemented. The problem is that x_ite also understands vrml97 and >> aliases vrml field names to equivalent x3d field names in a >> straightforward manner >> (https://github.com/create3000/x_ite/issues/11). This is fine in most >> cases but for the LOD node it leads to a conflict. Vrml has a 'level' >> field (http://www.web3d.org/documents/specifications/ >> 14772/V2.0/part1/nodesRef.html#LOD) >> which is aliased to the corresponding 'children' x3d field. A >> 'level_changed' event therefore is then treated as output from the >> MFNode 'children' field, and not as output from the SFInt >> 'level_changed' field. >> >> A possible fix is to only do the aliasing if we know the original >> encoding of the LOD node was vrml. This fix may be ok if the LOD node >> is the only node which could have this conflict stemming from renaming >> a vrml field ('level' to 'children') and at the same time introducing >> a new x3d field ('level_changed') with the old vrml name of the >> renamed field. >> >> So my question is if there may be other nodes with fields which were >> affected by renaming from vrml to x3d in such a way ? >> >> If there are a few others it may be worth looking for a solution which >> does not need special treatment of certain nodes. >> >> -Andreas >> >> >> -- >> Andreas Plesch >> Waltham, MA 02453 >> >> _______________________________________________ >> 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: > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > x3d-public mailing list > x3d-public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > > ------------------------------ > > End of x3d-public Digest, Vol 109, Issue 83 > ******************************************* -- Andreas Plesch Waltham, MA 02453 From gpugroup at gmail.com Thu Apr 26 11:26:31 2018 From: gpugroup at gmail.com (GPU Group) Date: Thu, 26 Apr 2018 12:26:31 -0600 Subject: [x3d-public] vrml to x3d field name changes In-Reply-To: References: Message-ID: Yes - freewrl has a couple of mechanisms: - each node knows what context (scene, Inline, protobody) it belongs to - and each context knows what specs version its scene file declared Or for a few nodes like LOD, it has a private field that gets flagged as isX3D during parsing if v3.0+ -Doug On Thu, Apr 26, 2018 at 11:48 AM, Andreas Plesch wrote: > Hi Doug, > > that could work but without further changes I think may just reverse > the problem due to the way x_ite currently works. In a vrml scene > 'level_changed' would then become a recognized output SFInt field > although it should be treated as the equivalent of the x3d > 'children_changed' field synonym. > > It seems it is just a question at which level these differences > between vrml and x3d are addressed best, > > -Andreas > > > Date: Thu, 26 Apr 2018 10:01:17 -0600 > > From: GPU Group > > To: X3D Graphics public mailing list > > Subject: Re: [x3d-public] vrml to x3d field name changes > > Message-ID: > > FUrRA at mail.gmail.com> > > Content-Type: text/plain; charset="utf-8" > > > > When hooking up routes, use a 2-pass search: > > 1. exact match > > if didn't find then > > 2. synonym match ie set_, _changed > > -Doug > > > > On Thu, Apr 26, 2018 at 8:48 AM, Andreas Plesch > > > wrote: > > > >> The 'level_changed' field of the LOD node > >> (http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/ > >> components/navigation.html#LOD) > >> currently does not work in the x_ite browser although it is correctly > >> implemented. The problem is that x_ite also understands vrml97 and > >> aliases vrml field names to equivalent x3d field names in a > >> straightforward manner > >> (https://github.com/create3000/x_ite/issues/11). This is fine in most > >> cases but for the LOD node it leads to a conflict. Vrml has a 'level' > >> field (http://www.web3d.org/documents/specifications/ > >> 14772/V2.0/part1/nodesRef.html#LOD) > >> which is aliased to the corresponding 'children' x3d field. A > >> 'level_changed' event therefore is then treated as output from the > >> MFNode 'children' field, and not as output from the SFInt > >> 'level_changed' field. > >> > >> A possible fix is to only do the aliasing if we know the original > >> encoding of the LOD node was vrml. This fix may be ok if the LOD node > >> is the only node which could have this conflict stemming from renaming > >> a vrml field ('level' to 'children') and at the same time introducing > >> a new x3d field ('level_changed') with the old vrml name of the > >> renamed field. > >> > >> So my question is if there may be other nodes with fields which were > >> affected by renaming from vrml to x3d in such a way ? > >> > >> If there are a few others it may be worth looking for a solution which > >> does not need special treatment of certain nodes. > >> > >> -Andreas > >> > >> > >> -- > >> Andreas Plesch > >> Waltham, MA 02453 > >> > >> _______________________________________________ > >> 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: attachments/20180426/58d401b8/attachment.html> > > > > ------------------------------ > > > > Subject: Digest Footer > > > > _______________________________________________ > > x3d-public mailing list > > x3d-public at web3d.org > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > > > > > ------------------------------ > > > > End of x3d-public Digest, Vol 109, Issue 83 > > ******************************************* > > > > -- > Andreas Plesch > Waltham, MA 02453 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From michalis.kambi at gmail.com Thu Apr 26 13:07:09 2018 From: michalis.kambi at gmail.com (Michalis Kamburelis) Date: Thu, 26 Apr 2018 22:07:09 +0200 Subject: [x3d-public] vrml to x3d field name changes In-Reply-To: References: Message-ID: 2018-04-26 16:48 GMT+02:00 Andreas Plesch : > So my question is if there may be other nodes with fields which were > affected by renaming from vrml to x3d in such a way ? We have a mechanism "AddAlternativeName" for such cases in Castle Game Engine (when a field/event name changed, but the type and usage are 100% the same). Grepping the code, it was used for these fields/events: - Collision.collide as an alternative name (in VRML 2) for X3D Collision.enabled. In VRML 2.0, Collision node didn't descent from X3DSensorName and had special field "collide". In X3D, "enabled" is used for the exact same purpose. - LOD.level as an alternative name (in VRML 2) for X3D LOD.children - LOD.levelIndex_changed as an alternative name (in VRML 2) for X3D LOD.level_changed - HAnimHumanoid.humanoidBody as an alternative name (in HAnim 1.1) for HAnim 2 skeleton - Switch.choice as an alternative name (in VRML 2) for X3D Switch.children - Polyline2D.point as an alternative name (in VRML 2) for X3D lineSegments Regards, Michalis From yottzumm at gmail.com Thu Apr 26 15:01:11 2018 From: yottzumm at gmail.com (John Carlson) Date: Thu, 26 Apr 2018 18:01:11 -0400 Subject: [x3d-public] FW: vrml to x3d field name changes In-Reply-To: References: Message-ID: <5ae24c27.1c69fb81.b172d.9f76@mx.google.com> Don, are these alternatives in the X3D Unified Object Model? Is this a difference between versions? Thanks, John Sent from Mail for Windows 10 From: Michalis Kamburelis Sent: Thursday, April 26, 2018 4:09 PM To: Andreas Plesch Cc: X3D Graphics public mailing list Subject: Re: [x3d-public] vrml to x3d field name changes 2018-04-26 16:48 GMT+02:00 Andreas Plesch : > So my question is if there may be other nodes with fields which were > affected by renaming from vrml to x3d in such a way ? We have a mechanism "AddAlternativeName" for such cases in Castle Game Engine (when a field/event name changed, but the type and usage are 100% the same). Grepping the code, it was used for these fields/events: - Collision.collide as an alternative name (in VRML 2) for X3D Collision.enabled. In VRML 2.0, Collision node didn't descent from X3DSensorName and had special field "collide". In X3D, "enabled" is used for the exact same purpose. - LOD.level as an alternative name (in VRML 2) for X3D LOD.children - LOD.levelIndex_changed as an alternative name (in VRML 2) for X3D LOD.level_changed - HAnimHumanoid.humanoidBody as an alternative name (in HAnim 1.1) for HAnim 2 skeleton - Switch.choice as an alternative name (in VRML 2) for X3D Switch.children - Polyline2D.point as an alternative name (in VRML 2) for X3D lineSegments Regards, Michalis _______________________________________________ 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: From andreasplesch at gmail.com Thu Apr 26 15:21:31 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Thu, 26 Apr 2018 18:21:31 -0400 Subject: [x3d-public] vrml to x3d field name changes In-Reply-To: References: Message-ID: Thanks. Ok, let's see: On Thu, Apr 26, 2018 at 4:07 PM, Michalis Kamburelis wrote: > 2018-04-26 16:48 GMT+02:00 Andreas Plesch : >> So my question is if there may be other nodes with fields which were >> affected by renaming from vrml to x3d in such a way ? > > We have a mechanism "AddAlternativeName" for such cases in Castle Game > Engine (when a field/event name changed, but the type and usage are > 100% the same). > > Grepping the code, it was used for these fields/events: > > - Collision.collide as an alternative name (in VRML 2) for X3D > Collision.enabled. In VRML 2.0, Collision node didn't descent from > X3DSensorName and had special field "collide". In X3D, "enabled" is > used for the exact same purpose. That's ok since x3d does not also have a CollisionSensor.(set_)collide(_changed) field. > > - LOD.level as an alternative name (in VRML 2) for X3D LOD.children > > - LOD.levelIndex_changed as an alternative name (in VRML 2) for X3D > LOD.level_changed Makes sense to introduce this non-standard vrml field. Maybe this name should have been the official x3d field name in the first place. > > - HAnimHumanoid.humanoidBody as an alternative name (in HAnim 1.1) for > HAnim 2 skeleton > x_ite does not implement HAnim sofar. I suppose it would only target HAnim 2 or later. > - Switch.choice as an alternative name (in VRML 2) for X3D Switch.children That's ok since x3d does not also have a Switch.(set_)choice(_changed) field. > - Polyline2D.point as an alternative name (in VRML 2) for X3D lineSegments Hm, I could not find Polyline2D in VRML. A global search for the .addAlias method in x_ite does not yield any additional such node fields. So I think it would be ok to just special case aliasing LOD.level to LOD.children to only occur if the execution context is vrml in x_ite although Holger may disagree. -Andreas -- Andreas Plesch Waltham, MA 02453 From michalis.kambi at gmail.com Thu Apr 26 17:42:13 2018 From: michalis.kambi at gmail.com (Michalis Kamburelis) Date: Fri, 27 Apr 2018 02:42:13 +0200 Subject: [x3d-public] FW: vrml to x3d field name changes In-Reply-To: <5ae24c27.1c69fb81.b172d.9f76@mx.google.com> References: <5ae24c27.1c69fb81.b172d.9f76@mx.google.com> Message-ID: 2018-04-27 0:01 GMT+02:00 John Carlson : > Don, are these alternatives in the X3D Unified Object Model? Is this a > difference between versions? > The differences that were mentioned in this thread are between VRML 2 (aka VRML 97) and X3D. They are only of interest for software that wants to handle both VRML 2 and X3D. As far as I know, X3D Unified Object Model is only concerned about X3D. (One difference was also about H-Anim, but this is hardly interesting either. The X3D models should just use H-Anim >= 2.x.) Regards, Michalis From michalis.kambi at gmail.com Thu Apr 26 17:53:49 2018 From: michalis.kambi at gmail.com (Michalis Kamburelis) Date: Fri, 27 Apr 2018 02:53:49 +0200 Subject: [x3d-public] vrml to x3d field name changes In-Reply-To: References: Message-ID: 2018-04-27 0:21 GMT+02:00 Andreas Plesch : >> >> - LOD.level as an alternative name (in VRML 2) for X3D LOD.children >> >> - LOD.levelIndex_changed as an alternative name (in VRML 2) for X3D >> LOD.level_changed > > Makes sense to introduce this non-standard vrml field. Maybe this name > should have been the official x3d field name in the first place. > Note that in Castle Game Engine, we do *not* add alternative names (from VRML 2) to X3D. The "alternative name" (like "LOD.levelIndex_changed" or "Collision.collide") is versioned, i.e. it only exists if the file header declared exactly VRML == 2. On the other hard, the "standard" name (like "LOD.level_changed" or "Collision.enabled"), which equals the "name in the latest standard version", is available in all versions. (VRML and X3D). So in X3D you have to use "LOD.level_changed" / "Collision.enabled". In VRML 2 you can use "LOD.levelIndex_changed", "LOD.level_changed", "Collision.collide", "Collision.enabled". I hope this can ease a transition VRML 2.0 -> X3D, so you can "upgrade" your VRML 2 content to X3D in small steps. >> - Polyline2D.point as an alternative name (in VRML 2) for X3D lineSegments > > Hm, I could not find Polyline2D in VRML. > It's not in the original VRML 97 specification, but it was added in "VRML 97 Amendment 1 specification", see http://www.web3d.org/documents/specifications/14772-1/V2.1/index.html . It's part of the NURBS concept (that, BTW, changed so significantly between "VRML 97 Amendment 1 specification" -> X3D that you cannot handle it all using a simple aliasing anyway, I mention the differences on https://castle-engine.io/x3d_implementation_nurbs.php ). Regards, Michalis From andreasplesch at gmail.com Thu Apr 26 20:00:27 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Fri, 27 Apr 2018 03:00:27 +0000 Subject: [x3d-public] vrml to x3d field name changes In-Reply-To: References: Message-ID: On Thu, Apr 26, 2018, 8:54 PM Michalis Kamburelis wrote: > 2018-04-27 0:21 GMT+02:00 Andreas Plesch : > >> > >> - LOD.level as an alternative name (in VRML 2) for X3D LOD.children > >> > >> - LOD.levelIndex_changed as an alternative name (in VRML 2) for X3D > >> LOD.level_changed > > > > Makes sense to introduce this non-standard vrml field. Maybe this name > > should have been the official x3d field name in the first place. > > > > Note that in Castle Game Engine, we do *not* add alternative names > (from VRML 2) to X3D. > Yes, there would be no need for that. I just had hinted that it may have been a little cleaner to not reuse the field name 'level' for X3D when it was spec'ed and instead use a new name such as 'levelIndex' for a newly introduced field. Perhaps something to keep in mind for future X3D revisions when new fields are considered. > The "alternative name" (like "LOD.levelIndex_changed" or > "Collision.collide") is versioned, i.e. it only exists if the file > header declared exactly VRML == 2. > > On the other hard, the "standard" name (like "LOD.level_changed" or > "Collision.enabled"), which equals the "name in the latest standard > version", is available in all versions. (VRML and X3D). > But LOD.level_changed should mean different types of events in VRML and X3D, no ? MFNode in VRML and SFInt in X3D ? > So in X3D you have to use "LOD.level_changed" / "Collision.enabled". > In VRML 2 you can use "LOD.levelIndex_changed", "LOD.level_changed", > "Collision.collide", "Collision.enabled". I hope this can ease a > transition VRML 2.0 -> X3D, so you can "upgrade" your VRML 2 content > to X3D in small steps. > > >> - Polyline2D.point as an alternative name (in VRML 2) for X3D > lineSegments > > > > Hm, I could not find Polyline2D in VRML. > > > > It's not in the original VRML 97 specification, but it was added in > "VRML 97 Amendment 1 specification", see > http://www.web3d.org/documents/specifications/14772-1/V2.1/index.html > . > Ah, I see. I suspect Amendment 1 will not become a priority for x_ite . Nurbs for X3D would be first as there are currently only stubs. > It's part of the NURBS concept (that, BTW, changed so significantly > between "VRML 97 Amendment 1 specification" -> X3D that you cannot > handle it all using a simple aliasing anyway, I mention the > differences on https://castle-engine.io/x3d_implementation_nurbs.php > ). > Yeah, another reason to not focus on Amendment 1 ? Is there vrml 2.1 content around which authors did not convert to X3D ? -Andreas > > Regards, > Michalis > -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreasplesch at gmail.com Fri Apr 27 15:42:46 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Fri, 27 Apr 2018 22:42:46 +0000 Subject: [x3d-public] vrml to x3d field name changes Message-ID: > > > Date: Thu, 26 Apr 2018 12:26:31 -0600 > From: GPU Group > To: X3D Graphics public mailing list > Subject: Re: [x3d-public] vrml to x3d field name changes > Message-ID: > 2wZ3nVLe4hDN0rU_q_Dg at mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Yes - freewrl has a couple of mechanisms: > - each node knows what context (scene, Inline, protobody) it belongs to > - and each context knows what specs version its scene file declared > Or for a few nodes like LOD, it has a private field that gets flagged as > isX3D during parsing if v3.0+ > -Doug > Thanks. I think that is similar to what x_ite has. Just out of curiosity, since a node knows its context, and then the context its spec. version/encoding, is the isX3D private field more for convenience, and perhaps performance ? What other nodes have that private field ? Andreas > > > On Thu, Apr 26, 2018 at 11:48 AM, Andreas Plesch > wrote: > > > Hi Doug, > > > > that could work but without further changes I think may just reverse > > the problem due to the way x_ite currently works. In a vrml scene > > 'level_changed' would then become a recognized output SFInt field > > although it should be treated as the equivalent of the x3d > > 'children_changed' field synonym. > > > > It seems it is just a question at which level these differences > > between vrml and x3d are addressed best, > > > > -Andreas > > > > > Date: Thu, 26 Apr 2018 10:01:17 -0600 > > > From: GPU Group > > > To: X3D Graphics public mailing list > > > Subject: Re: [x3d-public] vrml to x3d field name changes > > > Message-ID: > > > > FUrRA at mail.gmail.com> > > > Content-Type: text/plain; charset="utf-8" > > > > > > When hooking up routes, use a 2-pass search: > > > 1. exact match > > > if didn't find then > > > 2. synonym match ie set_, _changed > > > -Doug > > > > > > On Thu, Apr 26, 2018 at 8:48 AM, Andreas Plesch < > andreasplesch at gmail.com > > > > > > wrote: > > > > > >> The 'level_changed' field of the LOD node > > >> (http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/ > > >> components/navigation.html#LOD) > > >> currently does not work in the x_ite browser although it is correctly > > >> implemented. The problem is that x_ite also understands vrml97 and > > >> aliases vrml field names to equivalent x3d field names in a > > >> straightforward manner > > >> (https://github.com/create3000/x_ite/issues/11). This is fine in most > > >> cases but for the LOD node it leads to a conflict. Vrml has a 'level' > > >> field (http://www.web3d.org/documents/specifications/ > > >> 14772/V2.0/part1/nodesRef.html#LOD) > > >> which is aliased to the corresponding 'children' x3d field. A > > >> 'level_changed' event therefore is then treated as output from the > > >> MFNode 'children' field, and not as output from the SFInt > > >> 'level_changed' field. > > >> > > >> A possible fix is to only do the aliasing if we know the original > > >> encoding of the LOD node was vrml. This fix may be ok if the LOD node > > >> is the only node which could have this conflict stemming from renaming > > >> a vrml field ('level' to 'children') and at the same time introducing > > >> a new x3d field ('level_changed') with the old vrml name of the > > >> renamed field. > > >> > > >> So my question is if there may be other nodes with fields which were > > >> affected by renaming from vrml to x3d in such a way ? > > >> > > >> If there are a few others it may be worth looking for a solution which > > >> does not need special treatment of certain nodes. > > >> > > >> -Andreas > > >> > > >> > > >> -- > > >> Andreas Plesch > > >> Waltham, MA 02453 > > >> > > >> _______________________________________________ > > >> 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: > attachments/20180426/58d401b8/attachment.html> > > > > > > ------------------------------ > > > > > > Subject: Digest Footer > > > > > > _______________________________________________ > > > x3d-public mailing list > > > x3d-public at web3d.org > > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > > > > > > > > ------------------------------ > > > > > > End of x3d-public Digest, Vol 109, Issue 83 > > > ******************************************* > > > > > > > > -- > > Andreas Plesch > > Waltham, MA 02453 > > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: < > http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20180426/d23805bd/attachment-0001.html > > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > x3d-public mailing list > x3d-public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > > ------------------------------ > > End of x3d-public Digest, Vol 109, Issue 84 > ******************************************* > -------------- next part -------------- An HTML attachment was scrubbed... URL: From michalis.kambi at gmail.com Fri Apr 27 17:34:12 2018 From: michalis.kambi at gmail.com (Michalis Kamburelis) Date: Sat, 28 Apr 2018 02:34:12 +0200 Subject: [x3d-public] vrml to x3d field name changes In-Reply-To: References: Message-ID: 2018-04-27 5:00 GMT+02:00 Andreas Plesch : >> The "alternative name" (like "LOD.levelIndex_changed" or >> "Collision.collide") is versioned, i.e. it only exists if the file >> header declared exactly VRML == 2. >> >> On the other hard, the "standard" name (like "LOD.level_changed" or >> "Collision.enabled"), which equals the "name in the latest standard >> version", is available in all versions. (VRML and X3D). > > > But LOD.level_changed should mean different types of events in VRML and X3D, > no ? MFNode in VRML and SFInt in X3D ? > Thanks for this comment Andreas, it got me thinking and I looked at what I'm doing more carefully. Looking closer at my own implementation (in Castle Game Engine), I see that I wrote some incorrect things about how we deal with LOD node differences between VRML 2 and X3D. Sorry about that -- I completely forgot that 10 years ago I made this commit: https://github.com/castle-engine/castle-engine/commit/1f00560fa0c490e556dfeb65d94ea155ef35a4f8 . So, to clarify what I'm doing in Castle Game Engine about LOD: - We have a class TAbstractLODNode that is basically a LOD node as defined in X3D. With "children" MFNode field, and "level_changed" event that outputs SFInt32. - For X3D files, we use TLODNode that is just a descendant of TAbstractLODNode that doesn't add there anything important. So, everything in X3D works, because for X3D files we don't define any aliases. - For VRML 2 files, we use TLODNode_2, that is a descendant of TAbstractLODNode that adds aliases: - "children" can be called "level" (along with their events, so "children_changed" can be called "level_changed") - As an extension, the ancestor field "level_changed" can be called "levelIndex_changed" (which is not in any specification, this is only CGE extension). - In effect, the VRML 2 LOD node (TLODNode_2) actually has a name clash: "level_changed" is there both an event SFInt32, and an event generating MFNode. It's embarrassing, but I think my approach works for VRML 2 only by accident: the "level_changed" MFNode output is just "seen" first by the parser, before the "level_changed" SFInt32 output. Since it's just this one, single case, I'll probably leave it be as it is :) Regards, Michalis From gpugroup at gmail.com Sat Apr 28 05:34:22 2018 From: gpugroup at gmail.com (GPU Group) Date: Sat, 28 Apr 2018 06:34:22 -0600 Subject: [x3d-public] vrml to x3d field name changes In-Reply-To: References: Message-ID: LOD and Switch. Historical - isX3D was before we implemented the node->context->specs, and we could do it the second way for consistency, but no one bothered.. On Fri, Apr 27, 2018 at 4:42 PM, Andreas Plesch wrote: > >> Date: Thu, 26 Apr 2018 12:26:31 -0600 >> From: GPU Group >> To: X3D Graphics public mailing list >> Subject: Re: [x3d-public] vrml to x3d field name changes >> Message-ID: >> > gmail.com> >> Content-Type: text/plain; charset="utf-8" >> >> Yes - freewrl has a couple of mechanisms: >> - each node knows what context (scene, Inline, protobody) it belongs to >> - and each context knows what specs version its scene file declared >> Or for a few nodes like LOD, it has a private field that gets flagged as >> isX3D during parsing if v3.0+ >> -Doug >> > > Thanks. I think that is similar to what x_ite has. Just out of curiosity, > since a node knows its context, and then the context its spec. > version/encoding, is the isX3D private field more for convenience, and > perhaps performance ? > What other nodes have that private field ? > > Andreas > >> >> >> On Thu, Apr 26, 2018 at 11:48 AM, Andreas Plesch > > >> wrote: >> >> > Hi Doug, >> > >> > that could work but without further changes I think may just reverse >> > the problem due to the way x_ite currently works. In a vrml scene >> > 'level_changed' would then become a recognized output SFInt field >> > although it should be treated as the equivalent of the x3d >> > 'children_changed' field synonym. >> > >> > It seems it is just a question at which level these differences >> > between vrml and x3d are addressed best, >> > >> > -Andreas >> > >> > > Date: Thu, 26 Apr 2018 10:01:17 -0600 >> > > From: GPU Group >> > > To: X3D Graphics public mailing list >> > > Subject: Re: [x3d-public] vrml to x3d field name changes >> > > Message-ID: >> > > > > FUrRA at mail.gmail.com> >> > > Content-Type: text/plain; charset="utf-8" >> > > >> > > When hooking up routes, use a 2-pass search: >> > > 1. exact match >> > > if didn't find then >> > > 2. synonym match ie set_, _changed >> > > -Doug >> > > >> > > On Thu, Apr 26, 2018 at 8:48 AM, Andreas Plesch < >> andreasplesch at gmail.com >> > > >> > > wrote: >> > > >> > >> The 'level_changed' field of the LOD node >> > >> (http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/ >> > >> components/navigation.html#LOD) >> > >> currently does not work in the x_ite browser although it is correctly >> > >> implemented. The problem is that x_ite also understands vrml97 and >> > >> aliases vrml field names to equivalent x3d field names in a >> > >> straightforward manner >> > >> (https://github.com/create3000/x_ite/issues/11). This is fine in >> most >> > >> cases but for the LOD node it leads to a conflict. Vrml has a 'level' >> > >> field (http://www.web3d.org/documents/specifications/ >> > >> 14772/V2.0/part1/nodesRef.html#LOD) >> > >> which is aliased to the corresponding 'children' x3d field. A >> > >> 'level_changed' event therefore is then treated as output from the >> > >> MFNode 'children' field, and not as output from the SFInt >> > >> 'level_changed' field. >> > >> >> > >> A possible fix is to only do the aliasing if we know the original >> > >> encoding of the LOD node was vrml. This fix may be ok if the LOD node >> > >> is the only node which could have this conflict stemming from >> renaming >> > >> a vrml field ('level' to 'children') and at the same time introducing >> > >> a new x3d field ('level_changed') with the old vrml name of the >> > >> renamed field. >> > >> >> > >> So my question is if there may be other nodes with fields which were >> > >> affected by renaming from vrml to x3d in such a way ? >> > >> >> > >> If there are a few others it may be worth looking for a solution >> which >> > >> does not need special treatment of certain nodes. >> > >> >> > >> -Andreas >> > >> >> > >> >> > >> -- >> > >> Andreas Plesch >> > >> Waltham, MA 02453 >> > >> >> > >> _______________________________________________ >> > >> 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: > > attachments/20180426/58d401b8/attachment.html> >> > > >> > > ------------------------------ >> > > >> > > Subject: Digest Footer >> > > >> > > _______________________________________________ >> > > x3d-public mailing list >> > > x3d-public at web3d.org >> > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org >> > > >> > > >> > > ------------------------------ >> > > >> > > End of x3d-public Digest, Vol 109, Issue 83 >> > > ******************************************* >> > >> > >> > >> > -- >> > Andreas Plesch >> > Waltham, MA 02453 >> > >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: > attachments/20180426/d23805bd/attachment-0001.html> >> >> ------------------------------ >> >> Subject: Digest Footer >> >> _______________________________________________ >> x3d-public mailing list >> x3d-public at web3d.org >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org >> >> >> ------------------------------ >> >> End of x3d-public Digest, Vol 109, Issue 84 >> ******************************************* >> > > _______________________________________________ > 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: From andreasplesch at gmail.com Sat Apr 28 07:33:20 2018 From: andreasplesch at gmail.com (Andreas Plesch) Date: Sat, 28 Apr 2018 10:33:20 -0400 Subject: [x3d-public] vrml to x3d field name changes Message-ID: > Date: Sat, 28 Apr 2018 06:34:22 -0600 > From: GPU Group > To: X3D Graphics public mailing list > Subject: Re: [x3d-public] vrml to x3d field name changes > > LOD and Switch. > Historical - isX3D was before we implemented the node->context->specs, and > we could do it the second way for consistency, but no one bothered.. Ok, thanks. -Andreas > On Fri, Apr 27, 2018 at 4:42 PM, Andreas Plesch > wrote: > >> >>> Date: Thu, 26 Apr 2018 12:26:31 -0600 >>> From: GPU Group >>> To: X3D Graphics public mailing list >>> Subject: Re: [x3d-public] vrml to x3d field name changes >>> Message-ID: >>> >> gmail.com> >>> Content-Type: text/plain; charset="utf-8" >>> >>> Yes - freewrl has a couple of mechanisms: >>> - each node knows what context (scene, Inline, protobody) it belongs to >>> - and each context knows what specs version its scene file declared >>> Or for a few nodes like LOD, it has a private field that gets flagged as >>> isX3D during parsing if v3.0+ >>> -Doug >>> >> >> Thanks. I think that is similar to what x_ite has. Just out of curiosity, >> since a node knows its context, and then the context its spec. >> version/encoding, is the isX3D private field more for convenience, and >> perhaps performance ? >> What other nodes have that private field ? >> >> Andreas >> >>> >>> >>> On Thu, Apr 26, 2018 at 11:48 AM, Andreas Plesch >> > >>> wrote: >>> >>> > Hi Doug, >>> > >>> > that could work but without further changes I think may just reverse >>> > the problem due to the way x_ite currently works. In a vrml scene >>> > 'level_changed' would then become a recognized output SFInt field >>> > although it should be treated as the equivalent of the x3d >>> > 'children_changed' field synonym. >>> > >>> > It seems it is just a question at which level these differences >>> > between vrml and x3d are addressed best, >>> > >>> > -Andreas >>> > >>> > > Date: Thu, 26 Apr 2018 10:01:17 -0600 >>> > > From: GPU Group >>> > > To: X3D Graphics public mailing list >>> > > Subject: Re: [x3d-public] vrml to x3d field name changes >>> > > Message-ID: >>> > > >> > FUrRA at mail.gmail.com> >>> > > Content-Type: text/plain; charset="utf-8" >>> > > >>> > > When hooking up routes, use a 2-pass search: >>> > > 1. exact match >>> > > if didn't find then >>> > > 2. synonym match ie set_, _changed >>> > > -Doug >>> > > >>> > > On Thu, Apr 26, 2018 at 8:48 AM, Andreas Plesch < >>> andreasplesch at gmail.com >>> > > >>> > > wrote: >>> > > >>> > >> The 'level_changed' field of the LOD node >>> > >> (http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/ >>> > >> components/navigation.html#LOD) >>> > >> currently does not work in the x_ite browser although it is correctly >>> > >> implemented. The problem is that x_ite also understands vrml97 and >>> > >> aliases vrml field names to equivalent x3d field names in a >>> > >> straightforward manner >>> > >> (https://github.com/create3000/x_ite/issues/11). This is fine in >>> most >>> > >> cases but for the LOD node it leads to a conflict. Vrml has a 'level' >>> > >> field (http://www.web3d.org/documents/specifications/ >>> > >> 14772/V2.0/part1/nodesRef.html#LOD) >>> > >> which is aliased to the corresponding 'children' x3d field. A >>> > >> 'level_changed' event therefore is then treated as output from the >>> > >> MFNode 'children' field, and not as output from the SFInt >>> > >> 'level_changed' field. >>> > >> >>> > >> A possible fix is to only do the aliasing if we know the original >>> > >> encoding of the LOD node was vrml. This fix may be ok if the LOD node >>> > >> is the only node which could have this conflict stemming from >>> renaming >>> > >> a vrml field ('level' to 'children') and at the same time introducing >>> > >> a new x3d field ('level_changed') with the old vrml name of the >>> > >> renamed field. >>> > >> >>> > >> So my question is if there may be other nodes with fields which were >>> > >> affected by renaming from vrml to x3d in such a way ? >>> > >> >>> > >> If there are a few others it may be worth looking for a solution >>> which >>> > >> does not need special treatment of certain nodes. >>> > >> >>> > >> -Andreas >>> > >> >>> > >> >>> > >> -- >>> > >> Andreas Plesch >>> > >> Waltham, MA 02453 >>> > >> >>> > >> _______________________________________________ >>> > >> 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: >> > attachments/20180426/58d401b8/attachment.html> >>> > > >>> > > ------------------------------ >>> > > >>> > > Subject: Digest Footer >>> > > >>> > > _______________________________________________ >>> > > x3d-public mailing list >>> > > x3d-public at web3d.org >>> > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org >>> > > >>> > > >>> > > ------------------------------ >>> > > >>> > > End of x3d-public Digest, Vol 109, Issue 83 >>> > > ******************************************* >>> > >>> > >>> > >>> > -- >>> > Andreas Plesch >>> > Waltham, MA 02453 >>> > >>> -------------- next part -------------- >>> An HTML attachment was scrubbed... >>> URL: >> attachments/20180426/d23805bd/attachment-0001.html> >>> >>> ------------------------------ >>> >>> Subject: Digest Footer >>> >>> _______________________________________________ >>> x3d-public mailing list >>> x3d-public at web3d.org >>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org >>> >>> >>> ------------------------------ >>> >>> End of x3d-public Digest, Vol 109, Issue 84 >>> ******************************************* >>> >> >> _______________________________________________ >> 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: > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > x3d-public mailing list > x3d-public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > > ------------------------------ > > End of x3d-public Digest, Vol 109, Issue 87 > ******************************************* -- Andreas Plesch Waltham, MA 02453 From yottzumm at gmail.com Sun Apr 29 02:32:01 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 29 Apr 2018 05:32:01 -0400 Subject: [x3d-public] Thoughts on creating "bad" or bad X3D files? Message-ID: <5ae5910e.12c6370a.40c90.b658@mx.google.com> I have created ?good? X3D files using fuzz testing and Schema to direct the fuzz generator. Has anyone created ?bad? or bad X3D or XML files for testing which are still XML? What approach did you take? How do you ensure they are ?bad?? I need probably thousands for an experiment I am going to run. Sounds like a job for the X3DUOM! John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 29 02:46:17 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 29 Apr 2018 05:46:17 -0400 Subject: [x3d-public] Thoughts on creating "bad" or bad X3D files? In-Reply-To: <5ae5910e.12c6370a.40c90.b658@mx.google.com> References: <5ae5910e.12c6370a.40c90.b658@mx.google.com> Message-ID: <5ae59466.1c69fb81.fa482.9f1d@mx.google.com> I just had a thought that I could randomly modify the schema but still keep the schema valid, and then generate documents from the bad schema. How does this sound? Thanks, John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 29, 2018 5:31 AM To: x3d-public at web3d.org Subject: Thoughts on creating "bad" or bad X3D files? I have created ?good? X3D files using fuzz testing and Schema to direct the fuzz generator. Has anyone created ?bad? or bad X3D or XML files for testing which are still XML? ?What approach did you take?? How do you ensure they are ?bad?? ?I need probably thousands for an experiment I am going to run. Sounds like a job for the X3DUOM! John -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Sun Apr 29 03:58:39 2018 From: yottzumm at gmail.com (John Carlson) Date: Sun, 29 Apr 2018 06:58:39 -0400 Subject: [x3d-public] Thoughts on creating "bad" or bad X3D files? In-Reply-To: <5ae59466.1c69fb81.fa482.9f1d@mx.google.com> References: <5ae5910e.12c6370a.40c90.b658@mx.google.com> <5ae59466.1c69fb81.fa482.9f1d@mx.google.com> Message-ID: <5ae5a55d.1c69fb81.e4440.9a6f@mx.google.com> Or fuzz generate a schema from a metaschema based on elements of the good schema. Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 29, 2018 5:46 AM To: x3d-public at web3d.org Subject: RE: Thoughts on creating "bad" or bad X3D files? I just had a thought that I could randomly modify the schema but still keep the schema valid, and then generate documents from the bad schema. How does this sound? Thanks, John Sent from Mail for Windows 10 From: John Carlson Sent: Sunday, April 29, 2018 5:31 AM To: x3d-public at web3d.org Subject: Thoughts on creating "bad" or bad X3D files? I have created ?good? X3D files using fuzz testing and Schema to direct the fuzz generator. Has anyone created ?bad? or bad X3D or XML files for testing which are still XML? ?What approach did you take?? How do you ensure they are ?bad?? ?I need probably thousands for an experiment I am going to run. Sounds like a job for the X3DUOM! John -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Sun Apr 29 17:16:44 2018 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 29 Apr 2018 17:16:44 -0700 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: SFImage hex values need work, other fixes applied In-Reply-To: <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> Message-ID: <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> Hi John. Confirming that handling of SFImage hex values isn't sorted out yet for these four examples, they all fail similarly. Meanwhile I've done a major refactoring of X3dToJava.xslt handling of very large .x3d files. Many more of the examples pass now, it required much slicing and dicing of data structures into independent methods that compile under 64KB each. Surprisingly it was MFInt32 arrays (such as 19000 values) that caused the obscure compilation errors. Those prior failures now run (such as CleatClamp) and further tuning of tupleSplitSize internal-parameter settings may be possible for other bbbbig scenes. Updated X3DJSAIL and conversion stylesheet are now checked in and deployed, regression checks are running pretty cleanly. Will let those continue overnight and update the logs tomorrow. This is a good improvement that can be used, especially given the major DOM loader improvements that were applied last week. These probably fix a number of other testing problems as well. X3D Java Scene Access Interface Library (X3DJSAIL) http://www.web3d.org/specifications/java/X3DJSAIL.html Thanks for your patience! This was a tricky task that clobbered two weekends. I must now pay attention to other things and then will keep "popping the stack" on other trouble reports. Thanks for your steady scrutiny. On 4/25/2018 12:11 PM, John Carlson wrote: > Okay, the CommandLine class was key.? Previously reported class cast errors seem to be working fine now. Here are the leftover errors, and I will attach the files. > > There are more, but similar.? Let?s handle these first, because I don?t want to run out of space in the mail message.? As far as I can tell, these don?t give warnings when validating Java code. > > These errors all seem related to using hex values in images. > > Good luck! > > John 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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Mon Apr 30 00:46:40 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 30 Apr 2018 03:46:40 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: another ClassCastException In-Reply-To: <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> Message-ID: <5ae6c9e0.1c69fb81.dfbf0.1706@mx.google.com> No Viewpoint children in X3D output. Could be a problem in X3DJSONLD or X3DLoaderObject, but currently looks like another class cast exception. Also problem with X3DJSONLD in comments it looks like (now separated from JavaScript serializer, whew!), and handling tabs in scripts. Will work on those two. Are we ready for me to run the equivalent of Json.js against all of the JSON archives? Also a problem with generating JSON with classpath not containing jar. In folder: /c/x3d-code/www.web3d.org/x3d/stylesheets/java $ javac -cp lib/javax.json-api-1.0.jar src/net/coderextreme/X3DJSONLD.java $ cp src/net/coderextreme/X3DJSONLD.class classes/net/coderextreme/ $ jjs -cp "jars/X3DJSAIL.3.3.full.jar;classes" nashorn/examples/Json.js [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=ViewpointGroup (ViewpointGroup), child=Viewpoint, java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:1062) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:430) at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:399) at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$372$Json$cu1$restOf.:program(nashorn/examples/Json.js:15) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) [snip of identical error] Warning: toFileX3D() is overwriting prior file ./examples/Json.x3d Warning: toFileStylesheetConversion(X3dToJson.xslt) is overwriting prior file ./examples/Json.json Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: ERROR_CONFIGURATION_X3DJSAIL X3DJSAIL jar archive "" not found in CLASSPATH= at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:1043) at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:863) at org.web3d.x3d.jsail.Core.X3DObject.toFileJSON(X3DObject.java:1858) at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$373$Json$cu1$restOf.:program(nashorn/examples/Json.js:17) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) $ diff -w nashorn/examples/HelloWorldProgramOutput.Java.x3d nashorn/examples/Json.x3d 18c18 < --- > 32a33,35 > > > 35,38c38 < < < < --- > 86,88c86,88 < < < --- > > > 217c217 < enabled = newValue; --- > \tenabled = newValue; 228,231c228,231 < if (enabled) < { < Browser.print ('diffuseColor=(' + red + ',' + green + ',' + blue + ') newColor=' + newColor.toString() + '\n'); < } --- > \tif (enabled) > \t{ > \t\tBrowser.print ('diffuseColor=(' + red + ',' + green + ',' + blue + ') newColor=' + newColor.toString() + '\n'); > \t} -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 30 00:51:43 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 30 Apr 2018 03:51:43 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: anotherClassCastException In-Reply-To: <5ae6c9e0.1c69fb81.dfbf0.1706@mx.google.com> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> <5ae6c9e0.1c69fb81.dfbf0.1706@mx.google.com> Message-ID: <5ae6cb0f.1c69fb81.6b4b9.3c28@mx.google.com> Fixed classpath by setting it in the environment. John Sent from Mail for Windows 10 From: John Carlson Sent: Monday, April 30, 2018 3:46 AM To: Don Brutzman Cc: x3d-public at web3d.org Subject: RE: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: anotherClassCastException No Viewpoint children in X3D output.? Could be a problem in X3DJSONLD or X3DLoaderObject, but currently looks like another class cast exception. Also problem with X3DJSONLD in comments it looks like (now separated from JavaScript serializer, whew!), and handling tabs in scripts.? Will work on those two. Are we ready for me to run the equivalent of Json.js against all of the JSON archives? Also a problem with generating JSON with classpath not containing jar. In folder: /c/x3d-code/www.web3d.org/x3d/stylesheets/java $ javac -cp lib/javax.json-api-1.0.jar src/net/coderextreme/X3DJSONLD.java $ cp src/net/coderextreme/X3DJSONLD.class classes/net/coderextreme/ $ jjs -cp "jars/X3DJSAIL.3.3.full.jar;classes" nashorn/examples/Json.js [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=ViewpointGroup (ViewpointGroup), child=Viewpoint, java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:1062) ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542) ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542) ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:430) ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:399) ??????? at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$372$Json$cu1$restOf.:program(nashorn/examples/Json.js:15) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) [snip of identical error] Warning: toFileX3D() is overwriting prior file ./examples/Json.x3d Warning: toFileStylesheetConversion(X3dToJson.xslt) is overwriting prior file ./examples/Json.json Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: ERROR_CONFIGURATION_X3DJSAIL X3DJSAIL jar archive "" not found in CLASSPATH= ??????? at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:1043) ??????? at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:863) ??????? at org.web3d.x3d.jsail.Core.X3DObject.toFileJSON(X3DObject.java:1858) ??????? at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$373$Json$cu1$restOf.:program(nashorn/examples/Json.js:17) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) $ diff -w nashorn/examples/HelloWorldProgramOutput.Java.x3d nashorn/examples/Json.x3d 18c18 --- >???????? 32a33,35 >???????? >???????? >???????? 35,38c38 --- >???????? 86,88c86,88 --- >???????????????????? >???????????????????? >???? ???????????????? 217c217 \tenabled = newValue; 228,231c228,231 \tif (enabled) > \t{ > \t\tBrowser.print ('diffuseColor=(' + red + ',' + green + ',' + blue + ') newColor=' + newColor.toString() + '\n'); > \t} -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 30 01:04:45 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 30 Apr 2018 04:04:45 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing:anotherClassCastException In-Reply-To: <5ae6cb0f.1c69fb81.6b4b9.3c28@mx.google.com> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> <5ae6c9e0.1c69fb81.dfbf0.1706@mx.google.com> <5ae6cb0f.1c69fb81.6b4b9.3c28@mx.google.com> Message-ID: <5ae6ce1d.1c69fb81.bac8e.1ffc@mx.google.com> Actually, no, that didn?t work. Hmm: $ export CLASSPATH="lib/javax.json-api-1.0.jar;jars/X3DJSAIL.3.3.full.jar;classes" $ jjs nashorn/examples/Json.js Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: org.web3d.x3d.jsail.Core.CommentsBlock at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:531) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.evaluateSource(Context.java:1438) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.load(Context.java:962) at jdk.scripting.nashorn/jdk.nashorn.internal.objects.Global.load(Global.java:1719) at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$1$Json.:program(nashorn/examples/Json.js:1) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) Caused by: java.lang.ClassNotFoundException: org.web3d.x3d.jsail.Core.CommentsBlock at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:374) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.findClass(Context.java:1180) at jdk.scripting.nashorn/jdk.nashorn.internal.objects.NativeJava.simpleType(NativeJava.java:546) at jdk.scripting.nashorn/jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:326) at jdk.scripting.nashorn/jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:318) at jdk.scripting.nashorn/jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:314) at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$3$X3Dautoclass.:program(nashorn/node/X3Dautoclass.js:1) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) ... 12 more Tis a puzzle. Will run under ant. Sent from Mail for Windows 10 From: John Carlson Sent: Monday, April 30, 2018 3:51 AM To: Don Brutzman Cc: x3d-public at web3d.org Subject: RE: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing:anotherClassCastException Fixed classpath by setting it in the environment. John Sent from Mail for Windows 10 From: John Carlson Sent: Monday, April 30, 2018 3:46 AM To: Don Brutzman Cc: x3d-public at web3d.org Subject: RE: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: anotherClassCastException No Viewpoint children in X3D output.? Could be a problem in X3DJSONLD or X3DLoaderObject, but currently looks like another class cast exception. Also problem with X3DJSONLD in comments it looks like (now separated from JavaScript serializer, whew!), and handling tabs in scripts.? Will work on those two. Are we ready for me to run the equivalent of Json.js against all of the JSON archives? Also a problem with generating JSON with classpath not containing jar. In folder: /c/x3d-code/www.web3d.org/x3d/stylesheets/java $ javac -cp lib/javax.json-api-1.0.jar src/net/coderextreme/X3DJSONLD.java $ cp src/net/coderextreme/X3DJSONLD.class classes/net/coderextreme/ $ jjs -cp "jars/X3DJSAIL.3.3.full.jar;classes" nashorn/examples/Json.js [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=ViewpointGroup (ViewpointGroup), child=Viewpoint, java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:1062) ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542) ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542) ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:430) ??????? at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:399) ??????? at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$372$Json$cu1$restOf.:program(nashorn/examples/Json.js:15) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) [snip of identical error] Warning: toFileX3D() is overwriting prior file ./examples/Json.x3d Warning: toFileStylesheetConversion(X3dToJson.xslt) is overwriting prior file ./examples/Json.json Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: ERROR_CONFIGURATION_X3DJSAIL X3DJSAIL jar archive "" not found in CLASSPATH= ??????? at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:1043) ??????? at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:863) ??????? at org.web3d.x3d.jsail.Core.X3DObject.toFileJSON(X3DObject.java:1858) ??????? at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$373$Json$cu1$restOf.:program(nashorn/examples/Json.js:17) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) $ diff -w nashorn/examples/HelloWorldProgramOutput.Java.x3d nashorn/examples/Json.x3d 18c18 --- >???????? 32a33,35 >???????? >???????? >???????? 35,38c38 --- >???????? 86,88c86,88 --- >???????????????????? >???????????????????? >???? ???????????????? 217c217 \tenabled = newValue; 228,231c228,231 \tif (enabled) > \t{ > \t\tBrowser.print ('diffuseColor=(' + red + ',' + green + ',' + blue + ') newColor=' + newColor.toString() + '\n'); > \t} -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 30 01:16:21 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 30 Apr 2018 04:16:21 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: SFImagehex values need work, other fixes applied In-Reply-To: <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> Message-ID: <5ae6d0d4.1c69fb81.f7456.0d02@mx.google.com> >From my struggles, it appears that: $ jjs -cp jars/X3DJSAIL.3.3.full.jar";classes" nashorn/examples/Json.js And X3DJSAIL needs to be fixed for Nashorn, I guess. I haven?t tried Java equivalent. Heres the error: Warning: toFileStylesheetConversion(X3dToJson.xslt) is overwriting prior file ./nashorn/examples/Json.json Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: ERROR_CONFIGURATION_X3DJSAIL X3DJSAIL jar archive "" not found in CLASSPATH= at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:1043) at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:863) at org.web3d.x3d.jsail.Core.X3DObject.toFileJSON(X3DObject.java:1858) at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$373$Json$cu1$restOf.:program(nashorn/examples/Json.js:17) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) Sent from Mail for Windows 10 From: Don Brutzman Sent: Sunday, April 29, 2018 8:18 PM To: John Carlson Cc: x3d-public at web3d.org Subject: Re: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: SFImagehex values need work, other fixes applied Hi John. Confirming that handling of SFImage hex values isn't sorted out yet for these four examples, they all fail similarly. Meanwhile I've done a major refactoring of X3dToJava.xslt handling of very large .x3d files. Many more of the examples pass now, it required much slicing and dicing of data structures into independent methods that compile under 64KB each. Surprisingly it was MFInt32 arrays (such as 19000 values) that caused the obscure compilation errors. Those prior failures now run (such as CleatClamp) and further tuning of tupleSplitSize internal-parameter settings may be possible for other bbbbig scenes. Updated X3DJSAIL and conversion stylesheet are now checked in and deployed, regression checks are running pretty cleanly. Will let those continue overnight and update the logs tomorrow. This is a good improvement that can be used, especially given the major DOM loader improvements that were applied last week. These probably fix a number of other testing problems as well. X3D Java Scene Access Interface Library (X3DJSAIL) http://www.web3d.org/specifications/java/X3DJSAIL.html Thanks for your patience! This was a tricky task that clobbered two weekends. I must now pay attention to other things and then will keep "popping the stack" on other trouble reports. Thanks for your steady scrutiny. On 4/25/2018 12:11 PM, John Carlson wrote: > Okay, the CommandLine class was key.? Previously reported class cast errors seem to be working fine now. Here are the leftover errors, and I will attach the files. > > There are more, but similar.? Let?s handle these first, because I don?t want to run out of space in the mail message.? As far as I can tell, these don?t give warnings when validating Java code. > > These errors all seem related to using hex values in images. > > Good luck! > > John 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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 30 04:35:22 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 30 Apr 2018 07:35:22 -0400 Subject: [x3d-public] Need help outputting JS from X3DJSAIL model class file. Help! Message-ID: <5ae6ff7a.14e1370a.3fe4c.e506@mx.google.com> $ java -cp jars/X3DJSAIL.3.3.full.jar";classes" HelloWorldProgramOutput -tojs -toFile foo.js parameter: "-tojs" for conversion to X3DJSONLD JavaScript source parameter: "-toFile" "foo.js" for result file name root foo [Error] Source model file name is empty, therefore file loading not possible. Java program "HelloWorldProgramOutput" self-validation test results: success Used to work as -toJS. This doesn?t work either: $ java -cp jars/X3DJSAIL.3.3.full.jar";classes" HelloWorldProgramOutput examples/HelloWorldProgramOutput.x3d -tojs -toFile foo.js WARNING: "HelloWorldProgramOutput" model invocation is attempting to load file "examples/HelloWorldProgramOutput.x3d" instead of simply validating itself... file loading ignored. Java program "HelloWorldProgramOutput" self-validation test results: success Thanks! John Sent from Mail for Windows 10 -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 30 05:05:24 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 30 Apr 2018 08:05:24 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing:SFImagehex values need work, other fixes applied In-Reply-To: <5ae6d0d4.1c69fb81.f7456.0d02@mx.google.com> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> <5ae6d0d4.1c69fb81.f7456.0d02@mx.google.com> Message-ID: <5ae70684.1c69fb81.27960.1089@mx.google.com> This is fixed. Use this command. $ jjs -J-Djava.class.path=jars/X3DJSAIL.3.3.full.jar";classes" nashorn/examples/Json.js John Sent from Mail for Windows 10 From: John Carlson Sent: Monday, April 30, 2018 4:16 AM To: Don Brutzman Cc: x3d-public at web3d.org Subject: RE: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing:SFImagehex values need work, other fixes applied >From my struggles, it appears that: $ jjs -cp jars/X3DJSAIL.3.3.full.jar";classes" nashorn/examples/Json.js And X3DJSAIL needs to be fixed for Nashorn, I guess.? I haven?t tried Java equivalent. Heres the error: Warning: toFileStylesheetConversion(X3dToJson.xslt) is overwriting prior file ./nashorn/examples/Json.json Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: ERROR_CONFIGURATION_X3DJSAIL X3DJSAIL jar archive "" not found in CLASSPATH= ??????? at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:1043) ??????? at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:863) ??????? at org.web3d.x3d.jsail.Core.X3DObject.toFileJSON(X3DObject.java:1858) ??????? at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$373$Json$cu1$restOf.:program(nashorn/examples/Json.js:17) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) ??????? at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) ??????? at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) ??????? at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) Sent from Mail for Windows 10 From: Don Brutzman Sent: Sunday, April 29, 2018 8:18 PM To: John Carlson Cc: x3d-public at web3d.org Subject: Re: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: SFImagehex values need work, other fixes applied Hi John.? Confirming that handling of SFImage hex values isn't sorted out yet for these four examples, they all fail similarly. Meanwhile I've done a major refactoring of X3dToJava.xslt handling of very large .x3d files.? Many more of the examples pass now, it required much slicing and dicing of data structures into independent methods that compile under 64KB each.? Surprisingly it was MFInt32 arrays (such as 19000 values) that caused the obscure compilation errors.? Those prior failures now run (such as CleatClamp) and further tuning of tupleSplitSize internal-parameter settings may be possible for other bbbbig scenes. Updated X3DJSAIL and conversion stylesheet are now checked in and deployed, regression checks are running pretty cleanly.? Will let those continue overnight and update the logs tomorrow.? This is a good improvement that can be used, especially given the major DOM loader improvements that were applied last week.? These probably fix a number of other testing problems as well. ??????????????? X3D Java Scene Access Interface Library (X3DJSAIL) ??????????????? http://www.web3d.org/specifications/java/X3DJSAIL.html Thanks for your patience!? This was a tricky task that clobbered two weekends.? I must now pay attention to other things and then will keep "popping the stack" on other trouble reports.? Thanks for your steady scrutiny. On 4/25/2018 12:11 PM, John Carlson wrote: > Okay, the CommandLine class was key.? Previously reported class cast errors seem to be working fine now. Here are the leftover errors, and I will attach the files. > > There are more, but similar.? Let?s handle these first, because I don?t want to run out of space in the mail message.? As far as I can tell, these don?t give warnings when validating Java code. > > These errors all seem related to using hex values in images. > > Good luck! > > John 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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 30 05:33:06 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 30 Apr 2018 08:33:06 -0400 Subject: [x3d-public] X3DJSAIL. Setting generator and reference. Possible enhancement Message-ID: <5ae70d02.544a370a.34579.1648@mx.google.com> How does one set meta attribute content= value for attribute names generator and reference output in X3DJSAIL? Is there a way to do it through toFileX3D or toFileJSON or toFileJavaScript? Here?s my program: load('nashorn/node/X3Dautoclass.js'); var X3DJSONLD = Java.type("net.coderextreme.X3DJSONLD") var loader = new X3DJSONLD(); var File = Java.type("java.io.File") var jsobj = loader.readJsonFile(new File("./nashorn/examples/HelloWorldProgramOutput.json")); // maybe do something with jsobj? var document = loader.loadJsonIntoDocument(jsobj); var X3DLoaderObject = Java.type("org.web3d.x3d.jsail.X3DLoaderObject") var xmlLoader = new X3DLoaderObject(); var X3D0 = xmlLoader.toX3dObjectTree(document); // maybe do something to X3D0? X3D0.toFileX3D("./nashorn/examples/Json.x3d"); // maybe add something here? X3D0.toFileJSON("./nashorn/examples/Json.json"); How do I set the generator to this program? Do I need to get into the X3D0 scenegraph, or can The calls toFileX3D and toFileJSON do it? Do those calls set it to 'X3D Java Scene Access Interface Library (X3DJSAIL)' What in general should set the generator? Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From anita.havele at web3d.org Thu Apr 26 18:13:04 2018 From: anita.havele at web3d.org (Anita Havele) Date: Thu, 26 Apr 2018 21:13:04 -0400 Subject: [x3d-public] Web3D Consortium draft H-Anim specification now publicly available for review Message-ID: Dear X3D and H-Anim users, The H-Anim working group has diligently worked for three years to update the ISO 19774-1 Humanoid Animation Part I Architecture and 19774-2 H-Anim Part 2 Motion Animation standard. Now the H-Anim Working Group needs your perusal to identify errors and offer questions, or corrections, within the scope of editorial work approved by ISO SC24.? Our deadline is to ship Board-approved Draft International Standard (DIS) prose by 31 May, 2018. Information assets include: 1. Urgent HAnim Specification Improvements for DIS Submission on Google Docs. 2.? H-Anim DIS V2.0 document (19774-1 V2.0 DIS & 19774-2 V2.0 DIS) are _now publicly available for review._ These documents are available in both HTML and ZIPped HTML format at:_ _http://www.web3d.org/content/h-anim-architecture-v2-cd http://www.web3d.org/content/h-anim-motion-data-animation-v2-cd All H-Anim Standards pages are listed here:http://www.web3d.org/standards/h-anim). We asking X3D and H-Anim experts to join the consortium and participate is this important time sensitive task. Our Consortium relationships are vital for managing this standard, we want your understanding of its value. So please consider joining Web3D to influence Web3D technology of the future. More information how to join the consortium is available here: http://www.web3d.org/join. This is especially important for current and future professionals who consider ISO standards essential for their business and implementers. We expect your creative juices will flow as you document our errors and your corrections! Since we welcome improvements from the H-Anim ecosystem at any time,? please document new functionality you want separately but submit it with the requested evaluation. Here?s how to help: ??? Send review comments by email to *consortium at web3d.org or h-anim at web3d.org * ??? Web3D teleconference calls each Wednesday 1700-1830 pacific. ??? Please identify errors and potential corrections no later than *11 May 2018* Thank you for all feedback and considering joining the consortium in this crucial effort. Please don't hesitate to contact me for additional information on how to be a part of this community and evolve X3D! ** -- Best regards, Anita-Havele ____________________________ Executive Director, Web3D Consortium *www.web3d.org* 650 Castro Street, Suite #120-490, Mountain View, California 94041 USA Email: anita.havele at web3d.org - Phone: +1 248 342 7662 *http://www.web3d.org/havele* -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Mon Apr 30 10:37:05 2018 From: brutzman at nps.edu (Don Brutzman) Date: Mon, 30 Apr 2018 10:37:05 -0700 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: SFImage hex values need work, other fixes applied In-Reply-To: <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> Message-ID: <862dbebe-d5e1-1cc5-604a-e1f0df4dc9ec@nps.edu> Full output of X3dToJava.xslt conversions is online at http://www.web3d.org/x3d/content/examples/build.log.java.txt Running pretty cleanly. A few more issues remain. 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 http://faculty.nps.edu/brutzman From yottzumm at gmail.com Mon Apr 30 15:15:26 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 30 Apr 2018 18:15:26 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: anotherClassCastException In-Reply-To: <5ae6c9e0.1c69fb81.dfbf0.1706@mx.google.com> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> <5ae6c9e0.1c69fb81.dfbf0.1706@mx.google.com> Message-ID: <5ae7957e.c618370a.6e488.b4a4@mx.google.com> Previously reported problem, now assigned to the X3DLoaderObject, I believe. No Viewpoint children in X3D or JSON output.? Is a problem with X3DLoaderObject, looks like another class cast exception. X3DJSONLD was eliminated from the problem by printing out the DOM object, and verifying the Viewpoint objects were there. See x3d-code/www.web3d.org/x3d/stylesheets/java/nashorn/examples/Quotes.js. Can be regenerated by running `ant test.nashorn` in x3d-code/www.web3d.org/x3d/stylesheets/java See output in nashorn/examples/Json.{json,x3d} John [exec] [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=ViewpointGroup (ViewpointGroup), child=Viewpoint, java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode [exec] java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode [exec] at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:1146) [exec] at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542) [exec] at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542) [exec] at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:430) [exec] at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:399) [exec] at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$372$Json$cu1$restOf.:program(nashorn/examples/Json.js:15) [exec] at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) [exec] at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) [exec] at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) [exec] at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519) [exec] at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448) [exec] at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186) [exec] at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104) [exec] at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80) -------------- next part -------------- An HTML attachment was scrubbed... URL: From yottzumm at gmail.com Mon Apr 30 15:28:40 2018 From: yottzumm at gmail.com (John Carlson) Date: Mon, 30 Apr 2018 18:28:40 -0400 Subject: [x3d-public] X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: SFImagehex values need work, other fixes applied In-Reply-To: <862dbebe-d5e1-1cc5-604a-e1f0df4dc9ec@nps.edu> References: <5ad5925c.5183810a.9faf.8411@mx.google.com> <0c0c45e5-b47f-0795-7432-ae1b9f84d351@nps.edu> <1643f1ba-9af5-ba85-6537-35e7fbfc8262@nps.edu> <5ad6c430.10e2370a.a54ce.1dde@mx.google.com> <5ad6e62f.84d1370a.e7939.2ff5@mx.google.com> <7b8e134b-ee99-167a-62c1-971f34ed007b@nps.edu> <5ea30796-a381-da70-8373-84b80033a1c7@nps.edu> <5ae025d8.1c69fb81.2445f.4ec1@mx.google.com> <5ae0d2fb.1c69fb81.b3cf5.e4d7@mx.google.com> <8900a955-3330-dfc6-c927-efc11cd3fd61@nps.edu> <862dbebe-d5e1-1cc5-604a-e1f0df4dc9ec@nps.edu> Message-ID: <5ae79897.1c69fb81.b3f4f.8053@mx.google.com> Yes, getting these from HelloWorldProgram?etc see previous email on how to generate. John [X3DLoaderObject error] ProtoInstance ArtDeco01Material found and node type is Material but containerField is missing, unable to add to scene graph [X3DLoaderObject error] ProtoInstance ArtDeco02Material found and node type is ExternProtoDeclare but containerField is missing, unable to add to scene graph [X3DLoaderObject error] ProtoInstance found and node type is ExternProtoDeclare but containerField is missing, unable to add to scene graph [X3DLoaderObject error] ProtoInstance MaterialModulator found and node type is Material but containerField is missing, unable to add to scene graph Sent from Mail for Windows 10 From: Don Brutzman Sent: Monday, April 30, 2018 1:39 PM To: John Carlson Cc: x3d-public at web3d.org Subject: Re: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: SFImagehex values need work, other fixes applied Full output of X3dToJava.xslt conversions is online at http://www.web3d.org/x3d/content/examples/build.log.java.txt Running pretty cleanly. A few more issues remain. 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 http://faculty.nps.edu/brutzman -------------- next part -------------- An HTML attachment was scrubbed... URL: