From brutzman at nps.edu Wed Oct 1 09:06:41 2014 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 1 Oct 2014 09:06:41 -0700 Subject: [X3D-Public] updates announcement: X3D-Edit, Xj3D In-Reply-To: <542B6C19.2080202@nps.edu> References: <542B6C19.2080202@nps.edu> Message-ID: <542C2691.7040807@nps.edu> p.s. Example geometric shapes of interest (mostly) created with Meshlab and polished/integrated with X3D-Edit are being collected at http://x3dgraphics.com/examples/X3dForAdvancedModeling/GeometricShapes/ and currently include Cube With Labeled Sides Cylinder Indexed Face Set Dodecahedron Extrusion Examples Test Hemisphere Icosahedron Icosahedron Subdivision Level 1 Icosahedron Subdivision Level 2 Icosahedron Subdivision Level 3 Icosahedron Subdivision Level 4 Icosahedron Subdivision Level 5 Mobius Extrusion Octahedron Parallelepiped Examples Parallelepiped Prototype Sphere With Three Circumference Rings Stair Step Prototype Tetrahedron Triangle Black Lines Triangle With Numbers Icosahedron makes an excellent substitute for Sphere when authors want to control their level of tesselation. Level 5 is extremely smooth, higher levels are possible in Meshlab. The default Icosahedron.x3d is level 0, meaning that no further subdivision has occurred from the platonic solid. MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes. Meshlab export of X3D works just great. More about Meshlab is found at http://meshlab.sourceforge.net p.p.s. On our weekly teleconference this morning, helpful feedback from Dick and Len showed that adding PointLight in the center of each Mobius Extrusion (using local vice global scope) illuminated the interiors nicely. Screenshot attached. http://x3dgraphics.com/examples/X3dForAdvancedModeling/GeometricShapes/MobiusExtrusion.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: ShapeEditorGeometryAdditions.2014September29.png Type: image/png Size: 28615 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: MobiusExtrusionsInternalLighting.png Type: image/png Size: 95518 bytes Desc: not available URL: From jlewis at suitefactory.com Sun Oct 5 06:32:51 2014 From: jlewis at suitefactory.com (Joe Lewis) Date: Sun, 5 Oct 2014 09:32:51 -0400 Subject: [X3D-Public] Prototype Message-ID: <004901cfe0a0$dd499550$97dcbff0$@suitefactory.com> I have tried the following code and I can't get it to work? I'm I doing something wrong? Regards, Joseph B. Lewis CCI 3 Bessom ST. #212 Marblehead, MA 01945 Phone: 1-781-933-9500 Fax: 1-781-494-9585 Email: jlewis at suitefactory.com Website: http://www.suitefactory.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreasplesch at gmail.com Sun Oct 5 14:03:44 2014 From: andreasplesch at gmail.com (Andreas Plesch) Date: Sun, 5 Oct 2014 17:03:44 -0400 Subject: [X3D-Public] Prototype In-Reply-To: References: Message-ID: Hi Joe, x3dom does not support proto nodes, see http://www.x3dom.org/?page_id=158 You could ask on the x3dom developer mailing list about plans but my impression is that this not a priority since there may be other ways to achieve similar functionality. Andreas On Oct 5, 2014 3:00 PM, wrote: Send X3D-Public mailing list submissions to x3d-public at web3d.org To subscribe or unsubscribe via the World Wide Web, visit http://web3d.org/mailman/listinfo/x3d-public_web3d.org or, via email, send a message with subject or body 'help' to x3d-public-request at web3d.org You can reach the person managing the list at x3d-public-owner at web3d.org When replying, please edit your Subject line so it is more specific than "Re: Contents of X3D-Public digest..." Today's Topics: 1. Prototype (Joe Lewis) ---------------------------------------------------------------------- Message: 1 Date: Sun, 5 Oct 2014 09:32:51 -0400 From: "Joe Lewis" To: Subject: [X3D-Public] Prototype Message-ID: <004901cfe0a0$dd499550$97dcbff0$@suitefactory.com> Content-Type: text/plain; charset="us-ascii" I have tried the following code and I can't get it to work? I'm I doing something wrong? Regards, Joseph B. Lewis CCI 3 Bessom ST. #212 Marblehead, MA 01945 Phone: 1-781-933-9500 Fax: 1-781-494-9585 Email: jlewis at suitefactory.com Website: http://www.suitefactory.com -------------- next part -------------- An HTML attachment was scrubbed... URL: < http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20141005/6a069a7d/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 67, Issue 2 ***************************************** -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Sun Oct 5 17:29:43 2014 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 5 Oct 2014 17:29:43 -0700 Subject: [X3D-Public] X3D Schema updates, autogenerating Java SAI appendices, node inventory update Message-ID: <5431E277.4070206@nps.edu> Lots of useful updates can be found on the X3D Specifications: XML Schema and DOCTYPE Validation page. http://www.web3d.org/specifications a. X3D Schema update activity: ============================================================================= 6 October 2014, brutzman Major addition to all versions: - Inserted annotation appinfo elements/attributes for inputOnly, outputOnly and SFNode/MFNode fields in concrete node interfaces, now allowing API autogeneration. This additional type/accessType/default detail does not affect XML validation. Tested through generation of Java Scene Authoring Interface (SAI) specification appendices using stylesheets/BuildSpecificationLanguageBindingJava.xslt conversion. - Annotation attribute otherInterfaces refactored as additionalInterface - Future work: autogenerate native Java interfaces as standalone source code library. Schema validation modifications: - CollisionSensor object model corrected to extend X3DSensorNode vice X3DChildNode - GeoLOD object model corrected to extend X3DChildNode, X3DBoundedObject vice X3DChildNode - StaticGroup object model corrected as X3DChildNode, X3DBoundedObject - MultiTexture node: omitted erroneous/extraneous 'transparent' field - TextureCoordinateGenerator node: added enumeration type textureCoordinateGeneratorModeValues ============================================================================= Full documentation updates have been autogenerated for the XML Schema and DOCTYPE validators. http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3.html http://www.web3d.org/specifications/X3dDoctypeDocumentation3.3.html b. The X3D Java Scene Access Interface (SAI) appendices are now being autogenerated. http://www.web3d.org/specifications/#AutogeneratedProducts * Annex B Abstract node Interfaces http://www.web3d.org/specifications/stylesheets/JavaLanguageBinding.Part2.abstracts.html * Annex C Concrete node interfaces http://www.web3d.org/specifications/stylesheets/JavaLanguageBinding.Part2.concretes.html The current X3D Java Binding specification is online at http://www.web3d.org/standards/recommended http://www.web3d.org/documents/specifications/19777-2/V3.0/Part2/X3D_Java.html These will get submitted as part of a Java SAI Committee Draft (CD) update to ISO following working-group discussion, likely topic during this Wednesday's teleconference. Review feedback on the interface patterns will be welcome - we probably should schedule a teleconference on this. Revisions are easily incorporated for consensus points. c. Future TODO: autogenerating independent source interfaces. The node-generation blocks will someday be adapted to create a package of actual source-code interfaces for compilation validation. This will help tools and authors looking for a lightweight way to compile Script code written in Java. The review of best practices will be done in comparison to the Xj3D interfaces. Changes should be vetted by implementation and evaluation. Currently there are some variations in there that deserve further analysis. https://savage.nps.edu/Xj3D.nps/docs/javadoc Further Xj3D development information is available at https://savage.nps.edu/Savage/developers.html#Xj3D http://www.web3d.org/wiki/index.php/Xj3D_Evolution d. Also updated the X3D Node Inventory Comparison spreadsheet. http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf http://www.web3d.org/specifications/X3dNodeInventoryComparison.xslx X3DOM progress continues, there is now 62% support for X3D version 3.3 (155 of 251 nodes). 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 From brutzman at nps.edu Sun Oct 5 18:02:40 2014 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 5 Oct 2014 18:02:40 -0700 Subject: [X3D-Public] [x3dom-developers] X3D's JSON Encoding - who can work on X3DOM loader? In-Reply-To: <53F57DFB.2060805@realism.com> References: <53F57DFB.2060805@realism.com> Message-ID: <5431EA30.90007@nps.edu> [cc: x3d-public, come one come all!] With completion of the X3D SAI bindings and appendices, am now preparing to re-look at the X3D JSON challenge. It appears that I can use similar XSLT conversion methods to turn an .x3d file into a .json scene graph. The design pattern appears to be reasonably straightforward. I hope to be autoconverting a few thousand .x3d scenes shortly thereafter. Wondering, as that emerges, is there an X3D .json loader that could be written for X3DOM to test it? Wondering, who is familiar enough with the X3DOM codebase to use or adapt that? Am happy to work with anyone who wants to pursue this interesting challenge. It would be great to have progress in motion for the VR Hackathon. Two weeks away, 17-19 OCT. Check out the cool new site: http://vrhackathon.com On 8/20/2014 10:04 PM, Leonard Daly wrote: > The JSON encoding of X3D generated a lot of interest and discussion. > This is the initial start of developing the encoding. Based on a message > from Don in July > (http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/002854.html - > "x3d to json experiments & links of interest"), I have started a > Community Wiki page > (http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding) to continue the > discussion and resolve the issues. > > Please keep the numbering of the elements in the 'Conversion Issues' > section so that we can cross-reference the entries. > > I did not include specific comments from the follow up, but did try to > include the issues. Please feel free to contribute to the page. If you > add your opinion to one of the issues, please prefix it with your > initials and make sure you have an entry in the 'Contributors' section. > If you are running into issues editing the page, please contact me (not > the list). When it is all working, we then expect to write a formal specification document for the encoding to ensure that code and content remains stable. http://www.web3d.org/specifications/X3dSpecificationRelationships.png Having even more fun with X3D + JSON soon, I hope... 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 d.a.vera at warwick.ac.uk Tue Oct 7 00:42:14 2014 From: d.a.vera at warwick.ac.uk (Daniel Vera) Date: Tue, 7 Oct 2014 08:42:14 +0100 Subject: [X3D-Public] Prototype In-Reply-To: References: Message-ID: <54339956.10109@warwick.ac.uk> Hi Andreas, > my impression is that this not a priority since there may be other > ways to achieve similar functionality Do you have anything specific in mind? Is there anything that can be used currently to achieve functionalities similar to PROTO/EXTERNPROTO in X3DOM? Best regards, -- Daniel Vera > Andreas Plesch > 05 October 2014 22:03 > > Hi Joe, > > x3dom does not support proto nodes, see http://www.x3dom.org/?page_id=158 > > You could ask on the x3dom developer mailing list about plans but my > impression is that this not a priority since there may be other ways > to achieve similar functionality. > > Andreas > > _______________________________________________ > 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: compose-unknown-contact.jpg Type: image/jpeg Size: 770 bytes Desc: not available URL: From andreasplesch at gmail.com Tue Oct 7 07:03:27 2014 From: andreasplesch at gmail.com (Andreas Plesch) Date: Tue, 7 Oct 2014 10:03:27 -0400 Subject: [X3D-Public] Prototype In-Reply-To: <54339956.10109@warwick.ac.uk> References: <54339956.10109@warwick.ac.uk> Message-ID: Hi Daniel, there is the vague hint on http://www.x3dom.org/?page_id=158 to use DOM/HTML techniques, and there is a discussion on the x3dom developer mailing list suggesting to use the component system: http://sourceforge.net/p/x3dom/mailman/message/30219569/ https://x3dom.readthedocs.org/en/latest/components/index.html#extending-x3dom This talks about to how to define your own nodes, essentially in parallel to how x3dom.js defines nodes. Unfortunately, the example is a bit too basic and one would need to look at x3dom source to understand better how to do that. See for example https://github.com/x3dom/x3dom/blob/master/src/nodes/Geometry3D/Box.js . Another basic idea is to create and manipulate nodes procedurally, not declaratively. The scene API helps with that: http://doc.x3dom.org/author/index.html. So one could image a javascript function which inserts a series of nodes into the DOM based on provided parameters. This approach may be more accessible and there some basic examples on http://examples.x3dom.org/simpleExamples.html which provide pointers in that direction. Hope this helps, Andreas On Tue, Oct 7, 2014 at 3:42 AM, Daniel Vera wrote: > Hi Andreas, > > my impression is that this not a priority since there may be other ways to > achieve similar functionality > > Do you have anything specific in mind? Is there anything that can be used > currently to achieve functionalities similar to PROTO/EXTERNPROTO in > X3DOM? > > Best regards, > > -- > > Daniel Vera > > > > Andreas Plesch > 05 October 2014 22:03 > > Hi Joe, > > x3dom does not support proto nodes, see http://www.x3dom.org/?page_id=158 > > You could ask on the x3dom developer mailing list about plans but my > impression is that this not a priority since there may be other ways to > achieve similar functionality. > > Andreas > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > -- Andreas Plesch 39 Barbara Rd. Waltham, MA 02453 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: compose-unknown-contact.jpg Type: image/jpeg Size: 770 bytes Desc: not available URL: From brutzman at nps.edu Tue Oct 7 09:52:21 2014 From: brutzman at nps.edu (Don Brutzman) Date: Tue, 7 Oct 2014 09:52:21 -0700 Subject: [X3D-Public] web3d.org x3dom / WebGL now supported on iPad and iPhone iOS 8.0.2 In-Reply-To: References: Message-ID: <54341A45.4000703@nps.edu> Am happy to report that the X3DOM spinning globe on the web3d.org home page now works on iPad and iPhone upgraded to iOS 8.0.2. Screenshots attached. http://www.web3d.org Thanks to everyone working so hard on X3DOM, spinning globes and 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: web3d.org.x3dom-ipad.600x800.png Type: image/png Size: 329681 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: web3d.org.x3dom-iphone.png Type: image/png Size: 229850 bytes Desc: not available URL: From richards at spawar.navy.mil Tue Oct 7 11:53:37 2014 From: richards at spawar.navy.mil (John Richardson) Date: Tue, 7 Oct 2014 11:53:37 -0700 Subject: [X3D-Public] Prototype In-Reply-To: References: <54339956.10109@warwick.ac.uk> Message-ID: <003801cfe260$00d09080$0271b180$@spawar.navy.mil> Hello, Is this a loss of usability from the development perspective? John F. Richardson -----Original Message----- From: X3D-Public [mailto:x3d-public-bounces at web3d.org] On Behalf Of Andreas Plesch Sent: Tuesday, October 07, 2014 7:03 AM To: Daniel Vera Cc: x3d-public at web3d.org Subject: Re: [X3D-Public] Prototype Hi Daniel, there is the vague hint on http://www.x3dom.org/?page_id=158 to use DOM/HTML techniques, and there is a discussion on the x3dom developer mailing list suggesting to use the component system: http://sourceforge.net/p/x3dom/mailman/message/30219569/ https://x3dom.readthedocs.org/en/latest/components/index.html#extending-x3dom This talks about to how to define your own nodes, essentially in parallel to how x3dom.js defines nodes. Unfortunately, the example is a bit too basic and one would need to look at x3dom source to understand better how to do that. See for example https://github.com/x3dom/x3dom/blob/master/src/nodes/Geometry3D/Box.js . Another basic idea is to create and manipulate nodes procedurally, not declaratively. The scene API helps with that: http://doc.x3dom.org/author/index.html. So one could image a javascript function which inserts a series of nodes into the DOM based on provided parameters. This approach may be more accessible and there some basic examples on http://examples.x3dom.org/simpleExamples.html which provide pointers in that direction. Hope this helps, Andreas On Tue, Oct 7, 2014 at 3:42 AM, Daniel Vera wrote: > Hi Andreas, > > my impression is that this not a priority since there may be other > ways to achieve similar functionality > > Do you have anything specific in mind? Is there anything that can be > used currently to achieve functionalities similar to PROTO/EXTERNPROTO > in X3DOM? > > Best regards, > > -- > > Daniel Vera > > > > Andreas Plesch > 05 October 2014 22:03 > > Hi Joe, > > x3dom does not support proto nodes, see > http://www.x3dom.org/?page_id=158 > > You could ask on the x3dom developer mailing list about plans but my > impression is that this not a priority since there may be other ways > to achieve similar functionality. > > Andreas > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > -- Andreas Plesch 39 Barbara Rd. Waltham, MA 02453 From brutzman at nps.edu Wed Oct 8 05:58:01 2014 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 8 Oct 2014 05:58:01 -0700 Subject: [X3D-Public] [x3dom-developers] X3D's JSON Encoding - who can work on X3DOM loader? In-Reply-To: <5431EA30.90007@nps.edu> References: <53F57DFB.2060805@realism.com> <5431EA30.90007@nps.edu> Message-ID: <543534D9.3090900@nps.edu> Attached please find initial simple exemplar created using http://www.freeformatter.com/xml-to-json-converter.html http://www.web3d.org/x3d/content/examples/HelloWorld.x3d Screenshot and source files attached. Import attempts X3DOM or three.js loader capabilities (if any) are appreciated, if anyone know how to do that. On 10/5/2014 6:02 PM, Don Brutzman wrote: > [cc: x3d-public, come one come all!] > > With completion of the X3D SAI bindings and appendices, am now preparing to re-look at the X3D JSON challenge. > > It appears that I can use similar XSLT conversion methods to turn an .x3d file into a .json scene graph. The design pattern appears to be reasonably straightforward. I hope to be autoconverting a few thousand .x3d scenes shortly thereafter. > > Wondering, as that emerges, is there an X3D .json loader that could be written for X3DOM to test it? Wondering, who is familiar enough with the X3DOM codebase to use or adapt that? > > Am happy to work with anyone who wants to pursue this interesting challenge. It would be great to have progress in motion for the VR Hackathon. Two weeks away, 17-19 OCT. Check out the cool new site: > > http://vrhackathon.com 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: xml-to-json-converter.png Type: image/png Size: 46904 bytes Desc: not available URL: -------------- next part -------------- { "@profile": "Immersive", "@version": "3.3", "@noNamespaceSchemaLocation": "http://www.web3d.org/specifications/x3d-3.3.xsd", "head": [ { "@content": "HelloWorld.x3d", "@name": "title" }, { "@content": "Simple X3D example: Hello World!", "@name": "description" }, { "@content": "30 October 2000", "@name": "created" }, { "@content": "16 August 2013", "@name": "modified" }, { "@content": "Don Brutzman", "@name": "creator" }, { "@content": "HelloWorld.tall.png", "@name": "Image" }, { "@content": "http://en.wikipedia.org/wiki/Hello_world", "@name": "reference" }, { "@content": "http://en.wikibooks.org/w/index.php?title=Computer_Programming/Hello_world", "@name": "reference" }, { "@content": "http://www.HelloWorldExample.net", "@name": "reference" }, { "@content": "http://www.web3D.org", "@name": "reference" }, { "@content": "http://www.web3d.org/realtime-3d/news/internationalization-x3d", "@name": "reference" }, { "@content": "http://www.web3d.org/x3d/content/examples/HelloWorld.x3d", "@name": "reference" }, { "@content": "http://X3dGraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes", "@name": "reference" }, { "@content": "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter01-TechnicalOverview/HelloWorld.x3d", "@name": "identifier" }, { "@content": "http://www.web3d.org/x3d/content/examples/license.html", "@name": "license" }, { "@content": "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit", "@name": "generator" }, { "@content": "HelloWorld.wrl", "@name": "reference" }, { "@content": "HelloWorld.x3dv", "@name": "reference" }, { "@content": "HelloWorld.x3db", "@name": "reference" }, { "@content": "HelloWorld.xhtml", "@name": "reference" } ], "Scene": [ { "Viewpoint": { "@DEF": "ViewUpClose", "@centerOfRotation": "0 -1 0", "@description": "Hello world!", "@position": "0 -1 7" }, "Transform": [ { "@rotation": "0 1 0 3", "Shape": { "Sphere": [], "Appearance": { "Material": { "@DEF": "MaterialLightBlue", "@diffuseColor": "0.1 0.5 1" }, "ImageTexture": { "@DEF": "ImageCloudlessEarth", "@url": "\"earth-topo.png\" \"earth-topo.jpg\" \"earth-topo-small.gif\" \"http://www.web3d.org/x3d/content/examples/Basic/earth-topo.png\" \"http://www.web3d.org/x3d/content/examples/Basic/earth-topo.jpg\" \"http://www.web3d.org/x3d/content/examples/Basic/earth-topo-small.gif\"" } } } }, { "@translation": "0 -2 0", "Shape": { "Text": { "@DEF": "TextMessage", "@string": "\"Hello\" \"world!\"", "FontStyle": { "@justify": "\"MIDDLE\" \"MIDDLE\"" } }, "Appearance": [ { "@USE": "MaterialLightBlue" } ] } } ] } ] } -------------- next part -------------- A non-text attachment was scrubbed... Name: HelloWorld.x3d Type: model/x3d+xml Size: 3062 bytes Desc: not available URL: From npolys at vt.edu Wed Oct 8 07:03:23 2014 From: npolys at vt.edu (Nicholas Polys) Date: Wed, 8 Oct 2014 10:03:23 -0400 Subject: [X3D-Public] [x3dom-developers] X3D's JSON Encoding - who can work on X3DOM loader? In-Reply-To: <5431EA30.90007@nps.edu> References: <53F57DFB.2060805@realism.com> <5431EA30.90007@nps.edu> Message-ID: Thanks to the X3D WG for looking into this! It sounds like Johannes has some design experience and suggestions....? I did some searching on json X3DOM for examples and existing work: http://www.x3dom.org/x3dom/test/regression-suite/node_modules/request/node_modules/json-stringify-safe/ http://www.x3dom.org/x3dom/test/regression-suite/node_modules/selenium-webdriver/lib/goog/json/ http://jsfiddle.net/jcarlile/9U7Bf/ XML3D fyi http://xml3d.github.io/xml3d-examples/ http://xml3d.github.io/xml3d-examples/examples/suzanne/suzanne.html with best regards, _nicholas On Sun, Oct 5, 2014 at 9:02 PM, Don Brutzman wrote: > [cc: x3d-public, come one come all!] > > With completion of the X3D SAI bindings and appendices, am now preparing > to re-look at the X3D JSON challenge. > > It appears that I can use similar XSLT conversion methods to turn an .x3d > file into a .json scene graph. The design pattern appears to be reasonably > straightforward. I hope to be autoconverting a few thousand .x3d scenes > shortly thereafter. > > Wondering, as that emerges, is there an X3D .json loader that could be > written for X3DOM to test it? Wondering, who is familiar enough with the > X3DOM codebase to use or adapt that? > > Am happy to work with anyone who wants to pursue this interesting > challenge. It would be great to have progress in motion for the VR > Hackathon. Two weeks away, 17-19 OCT. Check out the cool new site: > > http://vrhackathon.com > > On 8/20/2014 10:04 PM, Leonard Daly wrote: > >> The JSON encoding of X3D generated a lot of interest and discussion. >> This is the initial start of developing the encoding. Based on a message >> from Don in July >> (http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/002854.html - >> "x3d to json experiments & links of interest"), I have started a >> Community Wiki page >> (http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding) to continue the >> discussion and resolve the issues. >> >> Please keep the numbering of the elements in the 'Conversion Issues' >> section so that we can cross-reference the entries. >> >> I did not include specific comments from the follow up, but did try to >> include the issues. Please feel free to contribute to the page. If you >> add your opinion to one of the issues, please prefix it with your >> initials and make sure you have an entry in the 'Contributors' section. >> If you are running into issues editing the page, please contact me (not >> the list). >> > > When it is all working, we then expect to write a formal specification > document for the encoding to ensure that code and content remains stable. > > http://www.web3d.org/specifications/X3dSpecificationRelationships.png > > Having even more fun with X3D + JSON soon, I hope... > > 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 > -- 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 Oct 8 09:28:33 2014 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 8 Oct 2014 09:28:33 -0700 Subject: [X3D-Public] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <5435572A.1020206@nps.edu> References: <5435572A.1020206@nps.edu> Message-ID: <54356631.6070509@nps.edu> Initial construction of X3D to JSON stylesheet is working. Examples attached. Working: - elements, attributes, comments - Square and squiggly brackets, commas - escaping quotation marks TODO - handling special characters - elimination of default X3D attribute values - CDATA text (for example, Script content) - round-trip testing using a JSON-to-XML converter - embedded support in X3D-Edit What X3D JSON specification will need to specify: - @attributeName - "#comment" - "#CDATA' Not possible: - differentiate typing of string versus number values - embedded JSON comments Example invocation from build.xml: p.s. once a web3d.org website problem is sorted out, these assets will reappear at http://www.web3d.org/stylesheets Source updates remain are currently accessible via sourceforge at http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/ http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/test 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 -------------- { "#comment": "Example scene to illustrate X3D nodes and fields (XML elements and attributes)", "Group": [ { "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1", "@containerField": "children" , "Viewpoint": { "@DEF": "ViewUpClose", "@centerOfRotation": "0 -1 0", "@description": "Hello world!", "@position": "0 -1 7", "@fieldOfView": "0.7854", "@jump": "true", "@orientation": "0 0 1 0", "@retainUserOffsets": "false", "@containerField": "children" }, "Transform": [ { "@rotation": "0 1 0 3", "@center": "0 0 0", "@scale": "1 1 1", "@scaleOrientation": "0 0 1 0", "@translation": "0 0 0", "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1", "@containerField": "children" , "Shape": [ { "@containerField": "children", "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1" , "Sphere": { "@radius": "1", "@solid": "true", "@containerField": "geometry" }, "Appearance": [ { "@containerField": "appearance" , "Material": { "@DEF": "MaterialLightBlue", "@diffuseColor": "0.1 0.5 1", "@ambientIntensity": "0.2", "@emissiveColor": "0 0 0", "@shininess": "0.2", "@specularColor": "0 0 0", "@transparency": "0", "@containerField": "material" }, "ImageTexture": { "@DEF": "ImageCloudlessEarth", "@url": "\"earth-topo.png\" \"earth-topo.jpg\" \"earth-topo-small.gif\" \"http://www.web3d.org/x3d/content/examples/Basic/earth-topo.png\" \"http://www.web3d.org/x3d/content/examples/Basic/earth-topo.jpg\" \"http://www.web3d.org/x3d/content/examples/Basic/earth-topo-small.gif\"", "@repeatS": "true", "@repeatT": "true", "@containerField": "texture" } } ] } ] } ], "Transform": [ { "@translation": "0 -2 0", "@center": "0 0 0", "@rotation": "0 0 1 0", "@scale": "1 1 1", "@scaleOrientation": "0 0 1 0", "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1", "@containerField": "children" , "Shape": [ { "@containerField": "children", "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1" , "Text": [ { "@DEF": "TextMessage", "@string": "\"Hello\" \"world!\"", "@maxExtent": "0.0", "@solid": "false", "@containerField": "geometry" , "FontStyle": { "@justify": "\"MIDDLE\" \"MIDDLE\"", "@family": "\"SERIF\"", "@horizontal": "true", "@leftToRight": "true", "@size": "1.0", "@spacing": "1.0", "@style": "PLAIN", "@topToBottom": "true", "@containerField": "fontStyle" } } ], "Appearance": [ { "@containerField": "appearance" , "Material": { "@USE": "MaterialLightBlue", "@ambientIntensity": "0.2", "@diffuseColor": "0.8 0.8 0.8", "@emissiveColor": "0 0 0", "@shininess": "0.2", "@specularColor": "0 0 0", "@transparency": "0", "@containerField": "material" } } ] } ] } ] } ] } -------------- next part -------------- { "#comment": "Example scene to illustrate X3D nodes and fields (XML elements and attributes)", "Group": [ { "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1", "@containerField": "children" , "Viewpoint": { "@DEF": "ViewUpClose", "@centerOfRotation": "0 -1 0", "@description": "Hello world!", "@position": "0 -1 7", "@fieldOfView": "0.7854", "@jump": "true", "@orientation": "0 0 1 0", "@retainUserOffsets": "false", "@containerField": "children" }, "Transform": [ { "@rotation": "0 1 0 3", "@center": "0 0 0", "@scale": "1 1 1", "@scaleOrientation": "0 0 1 0", "@translation": "0 0 0", "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1", "@containerField": "children" , "Shape": [ { "@containerField": "children", "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1" , "Sphere": { "@radius": "1", "@solid": "true", "@containerField": "geometry" }, "Appearance": [ { "@containerField": "appearance" , "Material": { "@DEF": "MaterialLightBlue", "@diffuseColor": "0.1 0.5 1", "@ambientIntensity": "0.2", "@emissiveColor": "0 0 0", "@shininess": "0.2", "@specularColor": "0 0 0", "@transparency": "0", "@containerField": "material" }, "ImageTexture": { "@DEF": "ImageCloudlessEarth", "@url": "\"earth-topo.png\" \"earth-topo.jpg\" \"earth-topo-small.gif\" \"http://www.web3d.org/x3d/content/examples/Basic/earth-topo.png\" \"http://www.web3d.org/x3d/content/examples/Basic/earth-topo.jpg\" \"http://www.web3d.org/x3d/content/examples/Basic/earth-topo-small.gif\"", "@repeatS": "true", "@repeatT": "true", "@containerField": "texture" } } ] } ] } ], "Transform": [ { "@translation": "0 -2 0", "@center": "0 0 0", "@rotation": "0 0 1 0", "@scale": "1 1 1", "@scaleOrientation": "0 0 1 0", "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1", "@containerField": "children" , "Shape": [ { "@containerField": "children", "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1" , "Text": [ { "@DEF": "TextMessage", "@string": "\"Hello\" \"world!\"", "@maxExtent": "0.0", "@solid": "false", "@containerField": "geometry" , "FontStyle": { "@justify": "\"MIDDLE\" \"MIDDLE\"", "@family": "\"SERIF\"", "@horizontal": "true", "@leftToRight": "true", "@size": "1.0", "@spacing": "1.0", "@style": "PLAIN", "@topToBottom": "true", "@containerField": "fontStyle" } } ], "Appearance": [ { "@containerField": "appearance" , "Material": { "@USE": "MaterialLightBlue", "@ambientIntensity": "0.2", "@diffuseColor": "0.8 0.8 0.8", "@emissiveColor": "0 0 0", "@shininess": "0.2", "@specularColor": "0 0 0", "@transparency": "0", "@containerField": "material" } } ] } ] } ] } ] } -------------- next part -------------- A non-text attachment was scrubbed... Name: X3dToJson.xslt Type: text/xml Size: 12306 bytes Desc: not available URL: From johannes.behr at igd.fraunhofer.de Thu Oct 9 05:52:04 2014 From: johannes.behr at igd.fraunhofer.de (Behr, Johannes) Date: Thu, 9 Oct 2014 12:52:04 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <54356631.6070509@nps.edu> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> Message-ID: <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> Thanks for your effort. My comments on the code example: ------------------- Group": [ { "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1", "@containerField": "children" , "Viewpoint": { "@DEF": "ViewUpClose", "@centerOfRotation": "0 -1 0", "@description": "Hello world!", -------------------- A) Why writing default values? They are skipped in every other encoding? B) Why is there always @ in front of every field name? C) Why not using the javascript native types for numbers and booleans? D) Why an extra "@containerField"? My encoding suggestion: Group": [ { "bboxCenter": [0 0 0], "bboxSize": [-1 -1 -1], , "children" : [ "Viewpoint": { "DEF": "ViewUpClose", "centerOfRotation": [-0 -1 0], "description": "Hello world!", } Faster to parse (using native types) more compact and more explicit in regards to the hierarchy connections. Best regards Johannes > Initial construction of X3D to JSON stylesheet is working. Examples attached. > > Working: > - elements, attributes, comments > - Square and squiggly brackets, commas > - escaping quotation marks > > TODO > - handling special characters > - elimination of default X3D attribute values > - CDATA text (for example, Script content) > - round-trip testing using a JSON-to-XML converter > - embedded support in X3D-Edit > > What X3D JSON specification will need to specify: > > - @attributeName > - "#comment" > - "#CDATA' > > Not possible: > - differentiate typing of string versus number values > - embedded JSON comments > > Example invocation from build.xml: > description="Test X3dToJson.xslt stylesheet using default Ant xslt task" > > > > > > > > > > p.s. once a web3d.org website problem is sorted out, these assets will reappear at > http://www.web3d.org/stylesheets > > Source updates remain are currently accessible via sourceforge at > http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/ > http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/test > > 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 > ------------------------------------------------------------------------------ > Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer > http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk_______________________________________________ > x3dom-developers mailing list > x3dom-developers at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/x3dom-developers --- Dr. Johannes Behr Head of Department: Visual Computing System Technologies Fraunhofer-Institut f?r Graphische Datenverarbeitung IGD Fraunhoferstr. 5 | 64283 Darmstadt | Germany Tel +49 6151 155-510 | Fax +49 6151 155-196 johannes.behr at igd.fraunhofer.de | www.igd.fraunhofer.de From highaspirations at hotmail.com Thu Oct 9 06:48:53 2014 From: highaspirations at hotmail.com (doug sanden) Date: Thu, 9 Oct 2014 07:48:53 -0600 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> References: <5435572A.1020206@nps.edu>, <54356631.6070509@nps.edu>, <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> Message-ID: I concur with Johannes on the A) no-defaults and D) explicit child placement (vs containerFeild), on the design principle "Noise reduction helps adoption". -Doug more.. Remember classic / vrml format could explicitly place child fields in the parent node. It was X3D via xml that needed containerField to disambiguate what field a child xml element was intended for in the parent node, when it wasn't obvious (example externProtoDeclares of appearance or shape). I haven't studied JSON, but if it doesn't have a problem - if it has syntax for directly placing SF and MFnode children in parent node fields like vrml classic did- then containerField is theoretically un-necessary. In practice, web3d browsers that never supported vrml/classic will find they need a slight re-arrangement in their parsing algorithm when transcribing it to support JSON. In theory I should try some JSON before commenting.? > > Thanks for your effort. > > My comments on the code example: > > ------------------- > Group": [ > { > "@bboxCenter": "0 0 0", > "@bboxSize": "-1 -1 -1", > "@containerField": "children" > , "Viewpoint": { > "@DEF": "ViewUpClose", > "@centerOfRotation": "0 -1 0", > "@description": "Hello world!", > -------------------- > > A) Why writing default values? They are skipped in every other encoding? > B) Why is there always @ in front of every field name? > C) Why not using the javascript native types for numbers and booleans? > D) Why an extra "@containerField"? > > My encoding suggestion: > > Group": [ > { > "bboxCenter": [0 0 0], > "bboxSize": [-1 -1 -1], > , "children" : [ > "Viewpoint": { > "DEF": "ViewUpClose", > "centerOfRotation": [-0 -1 0], > "description": "Hello world!", > } > > Faster to parse (using native types) more compact and more explicit in regards to the hierarchy connections. > > Best regards > Johannes > >> Initial construction of X3D to JSON stylesheet is working. Examples attached. >> >> Working: >> - elements, attributes, comments >> - Square and squiggly brackets, commas >> - escaping quotation marks >> >> TODO >> - handling special characters >> - elimination of default X3D attribute values >> - CDATA text (for example, Script content) >> - round-trip testing using a JSON-to-XML converter >> - embedded support in X3D-Edit >> >> What X3D JSON specification will need to specify: >> >> - @attributeName >> - "#comment" >> - "#CDATA' >> >> Not possible: >> - differentiate typing of string versus number values >> - embedded JSON comments >> >> Example invocation from build.xml: >> > description="Test X3dToJson.xslt stylesheet using default Ant xslt task"> >> >> >> >> >> >> >> >> >> p.s. once a web3d.org website problem is sorted out, these assets will reappear at >> http://www.web3d.org/stylesheets >> >> Source updates remain are currently accessible via sourceforge at >> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/ >> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/test >> >> 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 >> ------------------------------------------------------------------------------ >> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer >> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports >> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper >> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer >> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk_______________________________________________ >> x3dom-developers mailing list >> x3dom-developers at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/x3dom-developers > > --- > Dr. Johannes Behr > Head of Department: Visual Computing System Technologies > Fraunhofer-Institut f?r Graphische Datenverarbeitung IGD > Fraunhoferstr. 5 | 64283 Darmstadt | Germany > Tel +49 6151 155-510 | Fax +49 6151 155-196 > johannes.behr at igd.fraunhofer.de | www.igd.fraunhofer.de > > > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org From yvonne.jung at igd.fraunhofer.de Thu Oct 9 07:35:29 2014 From: yvonne.jung at igd.fraunhofer.de (Jung, Yvonne) Date: Thu, 9 Oct 2014 14:35:29 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu>, <54356631.6070509@nps.edu>, <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> Message-ID: <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> +1 for Johannes' proposal -- keep it simple and don't think XML-ish. And as already said before: this way, you can directly call JSON.parse() to gen objects. > -----Urspr?ngliche Nachricht----- > Von: X3D-Public [mailto:x3d-public-bounces at web3d.org] Im Auftrag von doug > sanden > Gesendet: Donnerstag, 9. Oktober 2014 15:49 > An: x3d-pulbic mlist > Betreff: Re: [X3D-Public] [x3dom-developers] initial X3D JSON conversion > support using X3dToJson.xslt > > > I concur with Johannes on the A) no-defaults and D) explicit child placement (vs > containerFeild), on the design principle "Noise reduction helps adoption". > -Doug > more.. > Remember classic / vrml format could explicitly place child fields in the parent > node. It was X3D via xml that needed containerField to disambiguate what field > a child xml element was intended for in the parent node, when it wasn't > obvious (example externProtoDeclares of appearance or shape). I haven't > studied JSON, but if it doesn't have a problem - if it has syntax for directly > placing SF and MFnode children in parent node fields like vrml classic did- then > containerField is theoretically un-necessary. In practice, web3d browsers that > never supported vrml/classic will find they need a slight re-arrangement in > their parsing algorithm when transcribing it to support JSON. > In theory I should try some JSON before commenting. > > > > > Thanks for your effort. > > > > My comments on the code example: > > > > ------------------- > > Group": [ > > { > > "@bboxCenter": "0 0 0", > > "@bboxSize": "-1 -1 -1", > > "@containerField": "children" > > , "Viewpoint": { > > "@DEF": "ViewUpClose", > > "@centerOfRotation": "0 -1 0", > > "@description": "Hello world!", > > -------------------- > > > > A) Why writing default values? They are skipped in every other encoding? > > B) Why is there always @ in front of every field name? > > C) Why not using the javascript native types for numbers and booleans? > > D) Why an extra "@containerField"? > > > > My encoding suggestion: > > > > Group": [ > > { > > "bboxCenter": [0 0 0], > > "bboxSize": [-1 -1 -1], > > , "children" : [ > > "Viewpoint": { > > "DEF": "ViewUpClose", > > "centerOfRotation": [-0 -1 0], > > "description": "Hello world!", > > } > > > > Faster to parse (using native types) more compact and more explicit in > regards to the hierarchy connections. > > > > Best regards > > Johannes > > > >> Initial construction of X3D to JSON stylesheet is working. Examples attached. > >> > >> Working: > >> - elements, attributes, comments > >> - Square and squiggly brackets, commas > >> - escaping quotation marks > >> > >> TODO > >> - handling special characters > >> - elimination of default X3D attribute values > >> - CDATA text (for example, Script content) > >> - round-trip testing using a JSON-to-XML converter > >> - embedded support in X3D-Edit > >> > >> What X3D JSON specification will need to specify: > >> > >> - @attributeName > >> - "#comment" > >> - "#CDATA' > >> > >> Not possible: > >> - differentiate typing of string versus number values > >> - embedded JSON comments > >> > >> Example invocation from build.xml: > >> >> description="Test X3dToJson.xslt stylesheet using default Ant xslt > >> task"> >> in="${examples.dir}/HelloWorld.x3d" out="test/HelloWorld.json"/> > >> >> style="X3dToJson.xslt" in="${examples.dir}/HelloWorld.x3d" > >> out="test/HelloWorld.scene.json"> >> expression="true"/> > >> > >> p.s. once a web3d.org website problem is sorted out, these assets > >> will reappear at http://www.web3d.org/stylesheets > >> > >> Source updates remain are currently accessible via sourceforge at > >> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesh > >> eets/ > >> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesh > >> eets/test > >> > >> 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 > >> ------------- > >> ----------------------------------------------------------------- > >> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > >> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS > >> Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download > >> White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with > >> EventLog Analyzer > >> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg > >> .clktrk_______________________________________________ > >> x3dom-developers mailing list > >> x3dom-developers at lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/x3dom-developers > > > > --- > > Dr. Johannes Behr > > Head of Department: Visual Computing System Technologies > > Fraunhofer-Institut f?r Graphische Datenverarbeitung IGD > > Fraunhoferstr. 5 | 64283 Darmstadt | Germany Tel +49 6151 155-510 | > > Fax +49 6151 155-196 johannes.behr at igd.fraunhofer.de | > > www.igd.fraunhofer.de > > > > > > _______________________________________________ > > X3D-Public mailing list > > X3D-Public at web3d.org > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org From web3d at realism.com Thu Oct 9 08:33:08 2014 From: web3d at realism.com (Leonard Daly) Date: Thu, 09 Oct 2014 08:33:08 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> Message-ID: <5436AAB4.3050505@realism.com> Thanks for your comments Johannes, Doug, and Yvonne. > Thanks for your effort. > > My comments on the code example: > > ------------------- > Group": [ > { > "@bboxCenter": "0 0 0", > "@bboxSize": "-1 -1 -1", > "@containerField": "children" > , "Viewpoint": { > "@DEF": "ViewUpClose", > "@centerOfRotation": "0 -1 0", > "@description": "Hello world!", > -------------------- > > A) Why writing default values? They are skipped in every other encoding? > B) Why is there always @ in front of every field name? In the follow-up comments I did not see this addressed. The intent is to create a format that can be converted to any of the other X3D encodings. To make the round-trip conversion without putting a lot of smarts about the formats, some notation is needed to differentiate XML attributes from elements. In this case Don has chosen the '@' symbol. I have also seen applications that use '-'. It seems to me that it is best to use some symbol that is not a legal first character for a variable name. Do people feel that this is necessary (differentiate attribute/field-names from elements/node-names)? If so, do you have a suggestion for a particular means of making this differentiation? > C) Why not using the javascript native types for numbers and booleans? To do so would require parsing the XML to get the constituent parts of the attribute. Attributes with specific format (e.g., SFVec3F) would be relatively easy to do. Does it make sense to do so for the point field in a Coordinate node (or any other MF-type field)? Leonard Daly > D) Why an extra "@containerField"? > > My encoding suggestion: > > Group": [ > { > "bboxCenter": [0 0 0], > "bboxSize": [-1 -1 -1], > , "children" : [ > "Viewpoint": { > "DEF": "ViewUpClose", > "centerOfRotation": [-0 -1 0], > "description": "Hello world!", > } > > Faster to parse (using native types) more compact and more explicit in regards to the hierarchy connections. > > Best regards > Johannes > >> Initial construction of X3D to JSON stylesheet is working. Examples attached. >> >> Working: >> - elements, attributes, comments >> - Square and squiggly brackets, commas >> - escaping quotation marks >> >> TODO >> - handling special characters >> - elimination of default X3D attribute values >> - CDATA text (for example, Script content) >> - round-trip testing using a JSON-to-XML converter >> - embedded support in X3D-Edit >> >> What X3D JSON specification will need to specify: >> >> - @attributeName >> - "#comment" >> - "#CDATA' >> >> Not possible: >> - differentiate typing of string versus number values >> - embedded JSON comments >> >> Example invocation from build.xml: >> > description="Test X3dToJson.xslt stylesheet using default Ant xslt task" > >> >> >> >> >> >> >> >> >> p.s. once a web3d.org website problem is sorted out, these assets will reappear at >> http://www.web3d.org/stylesheets >> >> Source updates remain are currently accessible via sourceforge at >> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/ >> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/test >> >> 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 >> ------------------------------------------------------------------------------ >> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer >> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports >> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper >> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer >> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk_______________________________________________ >> x3dom-developers mailing list >> x3dom-developers at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/x3dom-developers > --- > Dr. Johannes Behr > Head of Department: Visual Computing System Technologies > Fraunhofer-Institut f?r Graphische Datenverarbeitung IGD > Fraunhoferstr. 5 | 64283 Darmstadt | Germany > Tel +49 6151 155-510 | Fax +49 6151 155-196 > johannes.behr at igd.fraunhofer.de | www.igd.fraunhofer.de > > > ------------------------------------------------------------------------------ > Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer > http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk > _______________________________________________ > x3dom-developers mailing list > x3dom-developers at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/x3dom-developers > -- *Leonard Daly* X3D Co-Chair Cloud Consultant President, Daly Realism - /Creating the Future/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From web3d at realism.com Thu Oct 9 08:58:13 2014 From: web3d at realism.com (Leonard Daly) Date: Thu, 09 Oct 2014 08:58:13 -0700 Subject: [X3D-Public] [x3dom-developers] X3D's JSON Encoding - who can work on X3DOM loader? In-Reply-To: References: <53F57DFB.2060805@realism.com> <5431EA30.90007@nps.edu> <543534D9.3090900@nps.edu> Message-ID: <5436B095.4080503@realism.com> On 10/8/2014 11:10 AM, Clayton Cottingham wrote: > I'll look at this weekend see if I can get something going Thanks Clayton. Leonard Daly > > > On 8 October, 2014 5:58:01 AM PDT, Don Brutzman wrote: > > Attached please find initial simple exemplar created using > > http://www.freeformatter.com/xml-to-json-converter.html > > http://www.web3d.org/x3d/content/examples/HelloWorld.x3d > > Screenshot and source files attached. > > Import attempts X3DOM or three.js loader capabilities (if any) are appreciated, if anyone know how to do that. > > > On 10/5/2014 6:02 PM, Don Brutzman wrote: > > [cc: x3d-public, come one come all!] With completion of the > X3D SAI bindings and appendices, am now preparing to re-look > at the X3D JSON challenge. It appears that I can use similar > XSLT conversion methods to turn an .x3d file into a .json > scene graph. The design pattern appears to be reasonably > straightforward. I hope to be autoconverting a few thousand > .x3d scenes shortly thereafter. Wondering, as that emerges, is > there an X3D .json loader that could be written for X3DOM to > test it? Wondering, who is familiar enough with the X3DOM > codebase to use or adapt that? Am happy to work with anyone > who wants to pursue this interesting challenge. It would be > great to have progress in motion for the VR Hackathon. Two > weeks away, 17-19 OCT. Check out the cool new site: > http://vrhackathon.com > > > all the best, Don > > > -- > Sent from my Android > > > ------------------------------------------------------------------------------ > Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer > http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk > > > _______________________________________________ > x3dom-developers mailing list > x3dom-developers at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/x3dom-developers -- *Leonard Daly* X3D Co-Chair Cloud Consultant President, Daly Realism - /Creating the Future/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From johannes.behr at igd.fraunhofer.de Thu Oct 9 10:55:52 2014 From: johannes.behr at igd.fraunhofer.de (Behr, Johannes) Date: Thu, 9 Oct 2014 17:55:52 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <5436AAB4.3050505@realism.com> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <5436AAB4.3050505@realism.com> Message-ID: <94C344EA-4B8C-4436-8145-4EFD47CDC881@igd.fraunhofer.de> We should not limit our self to a specific tool. With another tool (e.g. aopt) which has a full X3D type-system can easily create any round-trip from my proposed data. We should really aim at clean, simple and fast design. Best regards Johannes On 9 Oct 2014, at 17:33, Leonard Daly wrote: > Thanks for your comments Johannes, Doug, and Yvonne. > >> Thanks for your effort. >> >> My comments on the code example: >> >> ------------------- >> Group": [ >> { >> "@bboxCenter": "0 0 0", >> "@bboxSize": "-1 -1 -1", >> "@containerField": "children" >> , "Viewpoint": { >> "@DEF": "ViewUpClose", >> "@centerOfRotation": "0 -1 0", >> "@description": "Hello world!", >> -------------------- >> >> A) Why writing default values? They are skipped in every other encoding? >> B) Why is there always @ in front of every field name? >> > > In the follow-up comments I did not see this addressed. > > The intent is to create a format that can be converted to any of the other X3D encodings. To make the round-trip conversion without putting a lot of smarts about the formats, some notation is needed to differentiate XML attributes from elements. In this case Don has chosen the '@' symbol. I have also seen applications that use '-'. It seems to me that it is best to use some symbol that is not a legal first character for a variable name. > > Do people feel that this is necessary (differentiate attribute/field-names from elements/node-names)? > If so, do you have a suggestion for a particular means of making this differentiation? > > >> C) Why not using the javascript native types for numbers and booleans? > > To do so would require parsing the XML to get the constituent parts of the attribute. Attributes with specific format (e.g., SFVec3F) would be relatively easy to do. Does it make sense to do so for the point field in a Coordinate node (or any other MF-type field)? > > > Leonard Daly > > > > >> D) Why an extra "@containerField"? >> >> My encoding suggestion: >> >> Group": [ >> { >> "bboxCenter": [0 0 0], >> "bboxSize": [-1 -1 -1], >> , "children" : [ >> "Viewpoint": { >> "DEF": "ViewUpClose", >> "centerOfRotation": [-0 -1 0], >> "description": "Hello world!", >> } >> >> Faster to parse (using native types) more compact and more explicit in regards to the hierarchy connections. >> >> Best regards >> Johannes >> >> >>> Initial construction of X3D to JSON stylesheet is working. Examples attached. >>> >>> Working: >>> - elements, attributes, comments >>> - Square and squiggly brackets, commas >>> - escaping quotation marks >>> >>> TODO >>> - handling special characters >>> - elimination of default X3D attribute values >>> - CDATA text (for example, Script content) >>> - round-trip testing using a JSON-to-XML converter >>> - embedded support in X3D-Edit >>> >>> What X3D JSON specification will need to specify: >>> >>> - @attributeName >>> - "#comment" >>> - "#CDATA' >>> >>> Not possible: >>> - differentiate typing of string versus number values >>> - embedded JSON comments >>> >>> Example invocation from build.xml: >>> >> description="Test X3dToJson.xslt stylesheet using default Ant xslt task" > >>> >>> >>> >>> >>> >>> >>> >>> >>> p.s. once a web3d.org website problem is sorted out, these assets will reappear at >>> >>> http://www.web3d.org/stylesheets >>> >>> >>> Source updates remain are currently accessible via sourceforge at >>> >>> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/ >>> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/test >>> >>> >>> 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 >>> >>> ------------------------------------------------------------------------------ >>> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer >>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports >>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper >>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk_______________________________________________ >>> >>> x3dom-developers mailing list >>> >>> x3dom-developers at lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/x3dom-developers >> --- >> Dr. Johannes Behr >> Head of Department: Visual Computing System Technologies >> Fraunhofer-Institut f?r Graphische Datenverarbeitung IGD >> Fraunhoferstr. 5 | 64283 Darmstadt | Germany >> Tel +49 6151 155-510 | Fax +49 6151 155-196 >> >> johannes.behr at igd.fraunhofer.de | www.igd.fraunhofer.de >> >> >> >> ------------------------------------------------------------------------------ >> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer >> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports >> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper >> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer >> >> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk >> >> _______________________________________________ >> x3dom-developers mailing list >> >> x3dom-developers at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/x3dom-developers >> >> >> > > > -- > Leonard Daly > X3D Co-Chair > Cloud Consultant > President, Daly Realism - Creating the Future > ------------------------------------------------------------------------------ > Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer > http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk_______________________________________________ > x3dom-developers mailing list > x3dom-developers at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/x3dom-developers From johannes.behr at igd.fraunhofer.de Thu Oct 9 10:58:57 2014 From: johannes.behr at igd.fraunhofer.de (Behr, Johannes) Date: Thu, 9 Oct 2014 17:58:57 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <5436AAB4.3050505@realism.com> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <5436AAB4.3050505@realism.com> Message-ID: <4CD9F03F-0ADC-450B-A455-41F299EFB635@igd.fraunhofer.de> On 9 Oct 2014, at 17:33, Leonard Daly wrote: > Thanks for your comments Johannes, Doug, and Yvonne. > >> Thanks for your effort. >> >> My comments on the code example: >> >> ------------------- >> Group": [ >> { >> "@bboxCenter": "0 0 0", >> "@bboxSize": "-1 -1 -1", >> "@containerField": "children" >> , "Viewpoint": { >> "@DEF": "ViewUpClose", >> "@centerOfRotation": "0 -1 0", >> "@description": "Hello world!", >> -------------------- >> >> A) Why writing default values? They are skipped in every other encoding? >> B) Why is there always @ in front of every field name? >> > > In the follow-up comments I did not see this addressed. > > The intent is to create a format that can be converted to any of the other X3D encodings. To make the round-trip conversion without putting a lot of smarts about the formats, some notation is needed to differentiate XML attributes from elements. Why should we to this differentiation? The X3D spec handles SF/MF-Nodes like any other field. The XML encoding is just limited. Best regards Johannes > In this case Don has chosen the '@' symbol. I have also seen applications that use '-'. It seems to me that it is best to use some symbol that is not a legal first character for a variable name. > > Do people feel that this is necessary (differentiate attribute/field-names from elements/node-names)? > If so, do you have a suggestion for a particular means of making this differentiation? > > >> C) Why not using the javascript native types for numbers and booleans? > > To do so would require parsing the XML to get the constituent parts of the attribute. Attributes with specific format (e.g., SFVec3F) would be relatively easy to do. Does it make sense to do so for the point field in a Coordinate node (or any other MF-type field)? > > > Leonard Daly > > > > >> D) Why an extra "@containerField"? >> >> My encoding suggestion: >> >> Group": [ >> { >> "bboxCenter": [0 0 0], >> "bboxSize": [-1 -1 -1], >> , "children" : [ >> "Viewpoint": { >> "DEF": "ViewUpClose", >> "centerOfRotation": [-0 -1 0], >> "description": "Hello world!", >> } >> >> Faster to parse (using native types) more compact and more explicit in regards to the hierarchy connections. >> >> Best regards >> Johannes >> >> >>> Initial construction of X3D to JSON stylesheet is working. Examples attached. >>> >>> Working: >>> - elements, attributes, comments >>> - Square and squiggly brackets, commas >>> - escaping quotation marks >>> >>> TODO >>> - handling special characters >>> - elimination of default X3D attribute values >>> - CDATA text (for example, Script content) >>> - round-trip testing using a JSON-to-XML converter >>> - embedded support in X3D-Edit >>> >>> What X3D JSON specification will need to specify: >>> >>> - @attributeName >>> - "#comment" >>> - "#CDATA' >>> >>> Not possible: >>> - differentiate typing of string versus number values >>> - embedded JSON comments >>> >>> Example invocation from build.xml: >>> >> description="Test X3dToJson.xslt stylesheet using default Ant xslt task" > >>> >>> >>> >>> >>> >>> >>> >>> >>> p.s. once a web3d.org website problem is sorted out, these assets will reappear at >>> >>> http://www.web3d.org/stylesheets >>> >>> >>> Source updates remain are currently accessible via sourceforge at >>> >>> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/ >>> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/test >>> >>> >>> 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 >>> >>> ------------------------------------------------------------------------------ >>> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer >>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports >>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper >>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk_______________________________________________ >>> >>> x3dom-developers mailing list >>> >>> x3dom-developers at lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/x3dom-developers >> --- >> Dr. Johannes Behr >> Head of Department: Visual Computing System Technologies >> Fraunhofer-Institut f?r Graphische Datenverarbeitung IGD >> Fraunhoferstr. 5 | 64283 Darmstadt | Germany >> Tel +49 6151 155-510 | Fax +49 6151 155-196 >> >> johannes.behr at igd.fraunhofer.de | www.igd.fraunhofer.de >> >> >> >> ------------------------------------------------------------------------------ >> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer >> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports >> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper >> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer >> >> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk >> >> _______________________________________________ >> x3dom-developers mailing list >> >> x3dom-developers at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/x3dom-developers >> >> >> > > > -- > Leonard Daly > X3D Co-Chair > Cloud Consultant > President, Daly Realism - Creating the Future > ------------------------------------------------------------------------------ > Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer > http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk_______________________________________________ > x3dom-developers mailing list > x3dom-developers at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/x3dom-developers From johannes.behr at igd.fraunhofer.de Thu Oct 9 11:02:03 2014 From: johannes.behr at igd.fraunhofer.de (Behr, Johannes) Date: Thu, 9 Oct 2014 18:02:03 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> Message-ID: On 9 Oct 2014, at 16:45, John Carlson wrote: > The reason I say this is because Don said converting to numbers isn't possible. Would it be possible to write and xslt set of functions which converted strings to arrays or numbers? How is the X3D-Classic encoding done right now? Best regards Johannes > > On Oct 9, 2014 9:41 AM, "John Carlson" wrote: > Perhaps we need to extend xslt to support json? > > On Oct 9, 2014 9:35 AM, "Jung, Yvonne" wrote: > +1 for Johannes' proposal -- keep it simple and don't think XML-ish. > And as already said before: this way, you can directly call JSON.parse() to gen objects. > > > > -----Urspr?ngliche Nachricht----- > > Von: X3D-Public [mailto:x3d-public-bounces at web3d.org] Im Auftrag von doug > > sanden > > Gesendet: Donnerstag, 9. Oktober 2014 15:49 > > An: x3d-pulbic mlist > > Betreff: Re: [X3D-Public] [x3dom-developers] initial X3D JSON conversion > > support using X3dToJson.xslt > > > > > > I concur with Johannes on the A) no-defaults and D) explicit child placement (vs > > containerFeild), on the design principle "Noise reduction helps adoption". > > -Doug > > more.. > > Remember classic / vrml format could explicitly place child fields in the parent > > node. It was X3D via xml that needed containerField to disambiguate what field > > a child xml element was intended for in the parent node, when it wasn't > > obvious (example externProtoDeclares of appearance or shape). I haven't > > studied JSON, but if it doesn't have a problem - if it has syntax for directly > > placing SF and MFnode children in parent node fields like vrml classic did- then > > containerField is theoretically un-necessary. In practice, web3d browsers that > > never supported vrml/classic will find they need a slight re-arrangement in > > their parsing algorithm when transcribing it to support JSON. > > In theory I should try some JSON before commenting. > > > > > > > > Thanks for your effort. > > > > > > My comments on the code example: > > > > > > ------------------- > > > Group": [ > > > { > > > "@bboxCenter": "0 0 0", > > > "@bboxSize": "-1 -1 -1", > > > "@containerField": "children" > > > , "Viewpoint": { > > > "@DEF": "ViewUpClose", > > > "@centerOfRotation": "0 -1 0", > > > "@description": "Hello world!", > > > -------------------- > > > > > > A) Why writing default values? They are skipped in every other encoding? > > > B) Why is there always @ in front of every field name? > > > C) Why not using the javascript native types for numbers and booleans? > > > D) Why an extra "@containerField"? > > > > > > My encoding suggestion: > > > > > > Group": [ > > > { > > > "bboxCenter": [0 0 0], > > > "bboxSize": [-1 -1 -1], > > > , "children" : [ > > > "Viewpoint": { > > > "DEF": "ViewUpClose", > > > "centerOfRotation": [-0 -1 0], > > > "description": "Hello world!", > > > } > > > > > > Faster to parse (using native types) more compact and more explicit in > > regards to the hierarchy connections. > > > > > > Best regards > > > Johannes > > > > > >> Initial construction of X3D to JSON stylesheet is working. Examples attached. > > >> > > >> Working: > > >> - elements, attributes, comments > > >> - Square and squiggly brackets, commas > > >> - escaping quotation marks > > >> > > >> TODO > > >> - handling special characters > > >> - elimination of default X3D attribute values > > >> - CDATA text (for example, Script content) > > >> - round-trip testing using a JSON-to-XML converter > > >> - embedded support in X3D-Edit > > >> > > >> What X3D JSON specification will need to specify: > > >> > > >> - @attributeName > > >> - "#comment" > > >> - "#CDATA' > > >> > > >> Not possible: > > >> - differentiate typing of string versus number values > > >> - embedded JSON comments > > >> > > >> Example invocation from build.xml: > > >> > >> description="Test X3dToJson.xslt stylesheet using default Ant xslt > > >> task"> > >> in="${examples.dir}/HelloWorld.x3d" out="test/HelloWorld.json"/> > > >> > >> style="X3dToJson.xslt" in="${examples.dir}/HelloWorld.x3d" > > >> out="test/HelloWorld.scene.json"> > >> expression="true"/> > > >> > > >> p.s. once a web3d.org website problem is sorted out, these assets > > >> will reappear at http://www.web3d.org/stylesheets > > >> > > >> Source updates remain are currently accessible via sourceforge at > > >> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesh > > >> eets/ > > >> http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesh > > >> eets/test > > >> > > >> 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 > > >> ------------- > > >> ----------------------------------------------------------------- > > >> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > > >> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS > > >> Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download > > >> White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with > > >> EventLog Analyzer > > >> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg > > >> .clktrk_______________________________________________ > > >> x3dom-developers mailing list > > >> x3dom-developers at lists.sourceforge.net > > >> https://lists.sourceforge.net/lists/listinfo/x3dom-developers > > > > > > --- > > > Dr. Johannes Behr > > > Head of Department: Visual Computing System Technologies > > > Fraunhofer-Institut f?r Graphische Datenverarbeitung IGD > > > Fraunhoferstr. 5 | 64283 Darmstadt | Germany Tel +49 6151 155-510 | > > > Fax +49 6151 155-196 johannes.behr at igd.fraunhofer.de | > > > www.igd.fraunhofer.de > > > > > > > > > _______________________________________________ > > > X3D-Public mailing list > > > X3D-Public at web3d.org > > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > > > _______________________________________________ > > X3D-Public mailing list > > X3D-Public at web3d.org > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > ------------------------------------------------------------------------------ > Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer > http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk_______________________________________________ > x3dom-developers mailing list > x3dom-developers at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/x3dom-developers From brutzman at nps.edu Thu Oct 9 20:48:38 2014 From: brutzman at nps.edu (Don Brutzman) Date: Thu, 9 Oct 2014 20:48:38 -0700 Subject: [X3D-Public] web3d.org x3dom / WebGL supported on Microsoft Surface Pro 3 tablet In-Reply-To: <54341A45.4000703@nps.edu> References: <54341A45.4000703@nps.edu> Message-ID: <54375716.10108@nps.edu> again looking good! 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: web3d.org.x3dom-surfacePro3.600x900.png Type: image/png Size: 356083 bytes Desc: not available URL: From brutzman at nps.edu Thu Oct 9 21:11:32 2014 From: brutzman at nps.edu (Don Brutzman) Date: Thu, 9 Oct 2014 21:11:32 -0700 Subject: [X3D-Public] web3d.org x3dom / WebGL problem on android samsung 3s In-Reply-To: <54341A45.4000703@nps.edu> References: <54341A45.4000703@nps.edu> Message-ID: <54375C74.1090901@nps.edu> Here is an android phone display of web3d.org site, note that the x3dom globe is cut off. it briefly appears centered when first loading, but then jumps to left and remains cut off as shown. was using the default "Internet" browser provided by the phone's android OS. 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: web3d.org.x3dom-androidSamsung3s.photo.jpg Type: image/jpeg Size: 102733 bytes Desc: not available URL: From brutzman at nps.edu Thu Oct 9 22:11:11 2014 From: brutzman at nps.edu (Don Brutzman) Date: Thu, 9 Oct 2014 22:11:11 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <4CD9F03F-0ADC-450B-A455-41F299EFB635@igd.fraunhofer.de> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <5436AAB4.3050505@realism.com> <4CD9F03F-0ADC-450B-A455-41F299EFB635@igd.fraunhofer.de> Message-ID: <54376A6F.4040309@nps.edu> Thanks for all the great feedback & discussion, Johannes Yvonne John and Len. First, please be assured that we're NOT trying to - turn JSON into XML. all encodings have relative strengths, weaknesses and idiosyncrasies. - create One Tool That Rules Them All And In The Darkness Binds Them On 10/9/2014 5:52 AM, Behr, Johannes wrote:> Thanks for your effort. > > My comments on the code example: > > ------------------- > Group": [ > { > "@bboxCenter": "0 0 0", > "@bboxSize": "-1 -1 -1", > "@containerField": "children" > , "Viewpoint": { > "@DEF": "ViewUpClose", > "@centerOfRotation": "0 -1 0", > "@description": "Hello world!", > -------------------- > > A) Why writing default values? They are skipped in every other encoding? Simply a side effect that will go away, listed in the TODO section. This is a limitation (or feature) of XSLT... the engines that I have used say "aha there is a DTD" or "aha there is a schema" and fills in all of the default values. So that is the tree loaded into memory that gets manipulated. In other stylesheets I have a set of rules that strip out default values. Haven't integrated that yet. Before writing more code am looking into whether there is a way to suppress that feature of XSLT. > B) Why is there always @ in front of every field name? As Len explained, this is to distinguish element names from attribute names to simplify round tripping. This is also well documented on our page and on other XML-JSON sites. The JSON spec does not really say anything about aligning with XML data models. > C) Why not using the javascript native types for numbers and booleans? > > My encoding suggestion: > > Group": [ > { > "bboxCenter": [0 0 0], > "bboxSize": [-1 -1 -1], > , "children" : [ > "Viewpoint": { > "DEF": "ViewUpClose", > "centerOfRotation": [-0 -1 0], > "description": "Hello world!", > } > > Faster to parse (using native types) more compact and more explicit in regards to the hierarchy connections. Agreed + thanks for educating me, makes perfect sense. When reading the processing diagrams in the JSON spec it looked like they were treated equivalently, I missed that possibility and landed on the wrong answer. To accomplish this means that the converter will need to be type-aware on a field-by-field basis when reading values. When programming this, I'll need to trap booleans and strings first, then treat everything else as number. Will fix in next revision. JSON question #1, wondering which is correct for a singleton number? "transparency": [1], or "transparency": 1, There are very few examples in the JSON spec. A strict reading there seems to permit either form: an array with a single value, or else a singleton number with no surrounding brackets. JSON question #2, wondering which is correct for an MFVec3f value, single array or array of arrays? "keyValue": [0 0 0 1 1 1 2 2 2], or "keyValue": [ [0 0 0], [1 1 1], [2 2 2] ], Incidentally all this adds additional reasons why we will need to formally specify the JSON encoding for X3D, so that array and numeric and boolean types are correctly handled in a different manner than strings. > D) Why an extra "@containerField"? This is the same as issue (A). Each X3D element/node has a default containerField value so that they do not have to be written out in a file. Default containerField values will go away, except when default values are overridden - a fairly infrequent occurrence. updated status: =========================================== =========================================== 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 Thu Oct 9 22:17:14 2014 From: brutzman at nps.edu (Don Brutzman) Date: Thu, 9 Oct 2014 22:17:14 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> Message-ID: <54376BDA.1090602@nps.edu> Thanks John. I had a mistaken understanding when saying conversion to numbers wasn't possible - now corrected. Big picture for programmers unfamiliar with XSLT: a. XSLT can take any XML input, and then turn it into either XML or some other text output. b. Even though XSLT stylesheets look somewhat verbose, it has a small vocabulary (so there isn't much to learn compared to other programming languages). c. Since it is written using XML, a lot of potential programming errors are instantly eliminated through XML validation. d. Execution is REALLY fast, even on very large XML input files. So, in effect, this XSLT stylesheet is simply converting a .x3d scene (written in XML) by walking the scene-graph tree and outputting plain-text JSON syntax. The syntactic choices are a bit tricky, as this thread shows, but the results are not complex. Tuning the results to best match JSON to Javascript use of X3D scene graphs will hopefully add a lot of performance and interoperability benefits. So this is a worthy community effort and all contributions remain welcome. Of course other tools accomplishing the exact same task will be welcome too. Viva interoperability. On 10/9/2014 7:45 AM, John Carlson wrote: > The reason I say this is because Don said converting to numbers isn't possible. Would it be possible to write an xslt set of functions which converted strings to arrays or numbers? yes, that is the exact nature of the programming task, answered in more detail in preceding reply to Johannes. > On Oct 9, 2014 9:41 AM, "John Carlson" > wrote: > > Perhaps we need to extend xslt to support json? again thanks. 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 Thu Oct 9 22:25:55 2014 From: brutzman at nps.edu (Don Brutzman) Date: Thu, 9 Oct 2014 22:25:55 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> Message-ID: <54376DE3.5040404@nps.edu> On 10/9/2014 11:02 AM, Behr, Johannes wrote: > [...] > How is the X3D-Classic encoding done right now? http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01-TechnicalOverview Hello World http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01-TechnicalOverview/_pages/page05.html including http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01-TechnicalOverview/HelloWorld.x3d http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01-TechnicalOverview/HelloWorld.x3dv http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01-TechnicalOverview/HelloWorld.xhtml (with x3dom) HelloWorld.x3dv source follows. Note that it was created by X3dToVrml97.xslt using the ClassicVRML setting. Once again, .x3d XML input and another format is produced as plain-text output. ================================================================ #X3D V3.3 utf8 # X3D-to-ClassicVRML XSL translation autogenerated by X3dToVrml97.xslt # http://www.web3d.org/x3d/content/X3dToVrml97.xslt # Generated using XSLT processor: SAXON 9.1.0.6 from Saxonica PROFILE Immersive # [X3D] version=3.3 # [X3D] noNamespaceSchemaLocation=http://www.web3d.org/specifications/x3d-3.3.xsd # [head] META "title" "HelloWorld.x3d" META "description" "Simple X3D example: Hello World!" META "created" "30 October 2000" META "modified" "16 August 2013" META "creator" "Don Brutzman" META "Image" "HelloWorld.tall.png" META "reference" "http://en.wikipedia.org/wiki/Hello_world" META "reference" "http://en.wikibooks.org/w/index.php?title=Computer_Programming/Hello_world" META "reference" "http://www.HelloWorldExample.net" META "reference" "http://www.web3D.org" META "reference" "http://www.web3d.org/realtime-3d/news/internationalization-x3d" META "reference" "http://www.web3d.org/x3d/content/examples/HelloWorld.x3d" META "reference" "http://X3dGraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes" META "identifier" "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter01-TechnicalOverview/HelloWorld.x3d" META "license" "http://www.web3d.org/x3d/content/examples/license.html" META "generator" "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit" # Alternate encodings: VRML97, X3D ClassicVRML Encoding, X3D Compressed Binary Encoding (CBE), X3DOM META "reference" "HelloWorld.wrl" META "reference" "HelloWorld.x3dv" META "reference" "HelloWorld.x3db" META "reference" "HelloWorld.xhtml" # [Scene] ========== ========== ========== NavigationInfo { type [ "EXAMINE" "ANY" ] } ### Default X3D NavigationInfo # Example scene to illustrate X3D nodes and fields (XML elements and attributes) Group { children [ DEF ViewUpClose Viewpoint { centerOfRotation 0 -1 0 description "Hello world!" position 0 -1 7 } Transform { rotation 0 1 0 3 children [ Shape { geometry Sphere { } appearance Appearance { material DEF MaterialLightBlue Material { diffuseColor 0.1 0.5 1 } texture DEF ImageCloudlessEarth ImageTexture { url [ "earth-topo.png" "earth-topo.jpg" "earth-topo-small.gif" "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.png" "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.jpg" "http://www.web3d.org/x3d/content/examples/Basic/earth-topo-small.gif" ] } } } ] } Transform { translation 0 -2 0 children [ Shape { geometry DEF TextMessage Text { string [ "Hello" "world!" ] fontStyle FontStyle { justify [ "MIDDLE" "MIDDLE" ] } } appearance Appearance { material USE MaterialLightBlue } } ] } ] } From brutzman at nps.edu Thu Oct 9 22:56:53 2014 From: brutzman at nps.edu (Don Brutzman) Date: Thu, 9 Oct 2014 22:56:53 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> References: <5435572A.1020206@nps.edu>, <54356631.6070509@nps.edu>, <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> Message-ID: <54377525.5030105@nps.edu> [replying to both Yvonne and Doug] On 10/9/2014 7:35 AM, Jung, Yvonne wrote: > +1 for Johannes' proposal -- me too > keep it simple again agreed (meaning push complexity into the tools and sophistication into the design, allowing simplicity into the encoding).. > and don't think XML-ish. well i would say, "don't think non-XML-ish!" but that is another story. 8) > And as already said before: this way, you can directly call JSON.parse() to gen objects. sounds great. we will need to test this. got example? am also really interested in whether the X3DOM team has already used any JSON for scene graphs internally. that kind of code importer would be just the thing for testing the improved numeric version of this X3dToJson exporter at the VR Hackathon next week.... >> -----Urspr?ngliche Nachricht----- >> Von: X3D-Public [mailto:x3d-public-bounces at web3d.org] Im Auftrag von doug >> sanden >> Gesendet: Donnerstag, 9. Oktober 2014 15:49 >> An: x3d-pulbic mlist >> Betreff: Re: [X3D-Public] [x3dom-developers] initial X3D JSON conversion >> support using X3dToJson.xslt >> >> >> I concur with Johannes on the A) no-defaults and D) explicit child placement (vs >> containerFeild), on the design principle "Noise reduction helps adoption". >> -Doug yes, order is significant and child placement also helps. containerField only needed if ambiguity or overridden defaults exist (think Collision children vs. proxy). >> more.. >> Remember classic / vrml format could explicitly place child fields in the parent >> node. It was X3D via xml that needed containerField to disambiguate what field >> a child xml element was intended for in the parent node, when it wasn't >> obvious (example externProtoDeclares of appearance or shape). slight difference Doug: actually for all regular nodes, classic/vrml disambiguates by explicitly listing the containerField value every single time (appearance Appearance, material Material, etc.) and the XML encoding allows you to avoid including those default values over and over and over again. perhaps more to your point, ProtoDeclare/ExternProtoDeclare/ProtoInstance are written the way they are so that XML validation never has to change. Different motivating cases, different story. If the XML changes each time... for example instead of ...then the scene holding the first case would have to either turn validation off (allowing broken content) or else write new DTDs/Schemas, which is quite difficult and not portable. Doesn't help authors or end users at all. > I haven't >> studied JSON, but if it doesn't have a problem - if it has syntax for directly >> placing SF and MFnode children in parent node fields like vrml classic did- then >> containerField is theoretically un-necessary. In practice, web3d browsers that >> never supported vrml/classic will find they need a slight re-arrangement in >> their parsing algorithm when transcribing it to support JSON. yes, very interesting observation. i think if you wanted to have something like appearance Appearance material Material you will need something quite similar to the originally given verbose example - excerpt follows: "Shape": [ { "@containerField": "children", "@bboxCenter": "0 0 0", "@bboxSize": "-1 -1 -1" , "Sphere": { "@radius": "1", "@solid": "true", "@containerField": "geometry" }, "Appearance": [ { "@containerField": "appearance" , "Material": { "@DEF": "MaterialLightBlue", "@diffuseColor": "0.1 0.5 1", "@ambientIntensity": "0.2", "@emissiveColor": "0 0 0", "@shininess": "0.2", "@specularColor": "0 0 0", "@transparency": "0", "@containerField": "material" }, the right-hand side after each element contains an array of attributes and child elements. if you find another place to put "geometry" "appearance" and "material" (or a reason why they always must appear) please let me know! as a result, have added to list "What X3D JSON specification will need to specify:" - can omit default attribute values and default containerField values >> In theory I should try some JSON before commenting. me too. :0 i think we're all learning here, am very grateful. fun quote: "In theory, theory and practice are the same. In practice, they're not." - Yogi Berra 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 Thu Oct 9 23:12:07 2014 From: brutzman at nps.edu (Don Brutzman) Date: Thu, 9 Oct 2014 23:12:07 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <94C344EA-4B8C-4436-8145-4EFD47CDC881@igd.fraunhofer.de> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <5436AAB4.3050505@realism.com> <94C344EA-4B8C-4436-8145-4EFD47CDC881@igd.fraunhofer.de> Message-ID: <543778B7.4030707@nps.edu> On 10/9/2014 10:55 AM, Behr, Johannes wrote: > We should not limit our self to a specific tool. > With another tool (e.g. aopt) which has a full X3D type-system can easily create any round-trip from my proposed data. It will be great to have aopt support for an X3D JSON encoding, hopefully you can either accept it as input or produce it as output. it was great to learn a bit more about aopt at the Web3D and SIGGRAPH conferences in Vancouver last August. presumably aopt is behind your online site http://doc.instantreality.org/tools/x3d_encoding_converter once we get a strict definition for X3D JSON it will be great to test. ... and your access to a fully functional type system in that program probably makes that a bit easier than my standalone X3dToJson.xslt program. Looking forward to continued steady progress. 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 yvonne.jung at igd.fraunhofer.de Fri Oct 10 00:43:41 2014 From: yvonne.jung at igd.fraunhofer.de (Jung, Yvonne) Date: Fri, 10 Oct 2014 07:43:41 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <54377525.5030105@nps.edu> References: <5435572A.1020206@nps.edu>, <54356631.6070509@nps.edu>, <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de>, <54377525.5030105@nps.edu> Message-ID: <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> > Am 10.10.2014 um 07:57 schrieb Don Brutzman : > > [replying to both Yvonne and Doug] > >> On 10/9/2014 7:35 AM, Jung, Yvonne wrote: >> +1 for Johannes' proposal -- > > me too > >> keep it simple > > again agreed (meaning push complexity into the tools and sophistication into the design, allowing simplicity into the encoding).. > >> and don't think XML-ish. > > well i would say, "don't think non-XML-ish!" but that is another story. 8) > >> And as already said before: this way, you can directly call JSON.parse() to gen objects. > > sounds great. we will need to test this. got example? JSON is a built-in JavaScript object. This works out of the box: the parse method simply creates a valid JS object from a JSON string. The resulting object tree however still has to be traversed to attach meaning and behavior. > > am also really interested in whether the X3DOM team has already used any JSON for scene graphs internally. > > that kind of code importer would be just the thing for testing the improved numeric version of this X3dToJson exporter at the VR Hackathon next week.... > >>> -----Urspr?ngliche Nachricht----- >>> Von: X3D-Public [mailto:x3d-public-bounces at web3d.org] Im Auftrag von doug >>> sanden >>> Gesendet: Donnerstag, 9. Oktober 2014 15:49 >>> An: x3d-pulbic mlist >>> Betreff: Re: [X3D-Public] [x3dom-developers] initial X3D JSON conversion >>> support using X3dToJson.xslt >>> >>> >>> I concur with Johannes on the A) no-defaults and D) explicit child placement (vs >>> containerFeild), on the design principle "Noise reduction helps adoption". >>> -Doug > > yes, order is significant and child placement also helps. containerField only needed if ambiguity or overridden defaults exist (think Collision children vs. proxy). But neither in classic syntax nor in JSON, if the notation follows the latter. Therefore, your proposal below overcomplicates things and doesn't look like real JSON. > >>> more.. >>> Remember classic / vrml format could explicitly place child fields in the parent >>> node. It was X3D via xml that needed containerField to disambiguate what field >>> a child xml element was intended for in the parent node, when it wasn't >>> obvious (example externProtoDeclares of appearance or shape). > > slight difference Doug: > > actually for all regular nodes, classic/vrml disambiguates by explicitly listing the containerField value every single time (appearance Appearance, material Material, etc.) and the XML encoding allows you to avoid including those default values over and over and over again. > > perhaps more to your point, ProtoDeclare/ExternProtoDeclare/ProtoInstance are written the way they are so that XML validation never has to change. Different motivating cases, different story. If the XML changes each time... for example > > > instead of > > > ...then the scene holding the first case would have to either turn validation off (allowing broken content) or else write new DTDs/Schemas, which is quite difficult and not portable. Doesn't help authors or end users at all. > >> I haven't >>> studied JSON, but if it doesn't have a problem - if it has syntax for directly >>> placing SF and MFnode children in parent node fields like vrml classic did- then >>> containerField is theoretically un-necessary. In practice, web3d browsers that >>> never supported vrml/classic will find they need a slight re-arrangement in >>> their parsing algorithm when transcribing it to support JSON. > > yes, very interesting observation. i think if you wanted to have something like appearance Appearance material Material you will need something quite similar to the originally given verbose example - excerpt follows: > > "Shape": [ > { > "@containerField": "children", > "@bboxCenter": "0 0 0", > "@bboxSize": "-1 -1 -1" > , "Sphere": { > "@radius": "1", > "@solid": "true", > "@containerField": "geometry" > }, > "Appearance": [ > { > "@containerField": "appearance" > , "Material": { > "@DEF": "MaterialLightBlue", > "@diffuseColor": "0.1 0.5 1", > "@ambientIntensity": "0.2", > "@emissiveColor": "0 0 0", > "@shininess": "0.2", > "@specularColor": "0 0 0", > "@transparency": "0", > "@containerField": "material" > }, > > the right-hand side after each element contains an array of attributes and child elements. > > if you find another place to put "geometry" "appearance" and "material" (or a reason why they always must appear) please let me know! > > as a result, have added to list "What X3D JSON specification will need to specify:" > > - can omit default attribute values and default containerField values > >>> In theory I should try some JSON before commenting. > > me too. :0 i think we're all learning here, am very grateful. > > fun quote: > > "In theory, theory and practice are the same. In practice, they're not." - Yogi Berra > > 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 Fri Oct 10 08:47:41 2014 From: brutzman at nps.edu (Don Brutzman) Date: Fri, 10 Oct 2014 08:47:41 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> References: <5435572A.1020206@nps.edu>, <54356631.6070509@nps.edu>, <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de>, <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> Message-ID: <5437FF9D.3080506@nps.edu> please clarify On 10/10/2014 12:43 AM, Jung, Yvonne wrote: > [...] >>> And as already said before: this way, you can directly call JSON.parse() to gen objects. >> >> sounds great. we will need to test this. got example? > > JSON is a built-in JavaScript object. This works out of the box: the parse method simply creates a valid JS object from a JSON string. The resulting object tree however still has to be traversed to attach meaning and behavior. understood, that is a key part. reading via JSON.parse() is the entry step... then we need the result to be both the right structure and also renderable/usable. >> am also really interested in whether the X3DOM team has already used any JSON for scene graphs internally. >> >> that kind of code importer would be just the thing for testing the improved numeric version of this X3dToJson exporter at the VR Hackathon next week.... comparing a variety content and code examples using different-syntax JSON will be helpful. in any case we will keep working on generating and comparing examples. >>>> -----Urspr?ngliche Nachricht----- >>>> Von: X3D-Public [mailto:x3d-public-bounces at web3d.org] Im Auftrag von doug >>>> sanden >>>> Gesendet: Donnerstag, 9. Oktober 2014 15:49 >>>> An: x3d-pulbic mlist >>>> Betreff: Re: [X3D-Public] [x3dom-developers] initial X3D JSON conversion >>>> support using X3dToJson.xslt >>>> >>>> I concur with Johannes on the A) no-defaults and D) explicit child placement (vs >>>> containerFeild), on the design principle "Noise reduction helps adoption". >>>> -Doug >> >> yes, order is significant and child placement also helps. containerField only needed if ambiguity or overridden defaults exist (think Collision children vs. proxy). > > But neither in classic syntax nor in JSON, if the notation follows the latter. Therefore, your proposal below overcomplicates things and doesn't look like real JSON. yes uncomplicating is important. hopefully the next version of X3dToJson.xslt will incorporate the bulk of these excellent recommendations (especially how to encode numbers rather than strings) so we can keep improving. the steady feedback is totally helpful and will ensure that we all succeed. thanks Yvonne! 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 anita.havele at web3d.org Fri Oct 10 09:26:51 2014 From: anita.havele at web3d.org (Anita Havele) Date: Fri, 10 Oct 2014 12:26:51 -0400 Subject: [X3D-Public] VR Hackathon - Join us next week Message-ID: <01eb01cfe4a6$ffc77700$ff566500$@web3d.org> Join us at the VR Hackathon for a weekend that will transform the future of Virtual Reality and Immersive Technologies. The event will be the weekend of October 17-19, 2014 at GAFFTA's Art & Technology Theater, San Francisco. The VR Hackathon is sponsored theWeb3D Consortium with other sponsors. Several Hack Categories available. More details at: www.vrhackathon.com VR Hackathon provides an exploratory environment where disruption, innovation, and creative ideas are brought to life. The focus of the event is to bring together crowd sourced knowledge for the advancement of virtual reality & complementary technologies Best regards, Anita-Havele Executive Director, Web3D Consortium www.web3d.org Phone: +1 248 342 7662 Fax: +1 248 457 8018 -------------- next part -------------- An HTML attachment was scrubbed... URL: From newsletter at wildpeaks.fr Fri Oct 10 10:53:41 2014 From: newsletter at wildpeaks.fr (Cecile Muller) Date: Fri, 10 Oct 2014 19:53:41 +0200 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> Message-ID: Hi everyone, > JSON is a built-in JavaScript object. This works out of the box: the parse method simply creates a valid JS object from a JSON string. > The resulting object tree however still has to be traversed to attach meaning and behavior. Exactly: the way the engine chooses to render the scenegraph is up to it, the JSON data is only meant to initialize the scenegraph in the 3D engine (and optionally export its state at a given moment if needed). Which is actually why it would feel redundant to have prototypes inside JSON if you use it in for Javascript because in real life I'd use real JS modules if I need a custom object type with properties and methods (CommonJS, AMD, ES6 modules, typescript modules, factories or whatever the author prefers) because: - it's the same scripting language as the rest of the application - it can be optimized with the rest of the application - it can be tested with the rest of the application - it can refer to and interact with non-3D modules (e.g. a thirdparty library for formatting Date timestamps) - no eval() My goals for a scenegraph format are: - lightweight to parse - meaningful and low complexity because it's simpler to think with, easier to read, easier to diff between two states, and easier to sync between devices - easy to require(), to use the same package management as the rest of the application code and assets However I'm fine not having feature parity with XML if it keeps it lightweight and straightforward, so this is more a VRML/X3D-inspired format, not "real X3D". Example (the "_type" is omitted in some nodes because I also have a concept of "Default type" for some fields, e.g. how most of the time the value in "Shape.appearance.material" is a Material node): [ { "_type": "Shape", "appearance": { "material": { "transparency": 0.5, "diffuseColor": [0.8, 1, 0.8] } }, "geometry": { "_type": 'Box', "size": [2, 1, 2] } }, { "_type": "MyCustomObjectType", "translation": [0, 0, 1], "scale": [2, 2, 2] } ] And an example (without messaging or engine-specific code) of one of many ways to create something similar to Protos: var MyCustomObjectType = function(data){ 'use strict'; var _data = data || {}; var _json = { _type: 'Transform', translation: _data.translation || [0, 0, 0], scale: _data.scale || [1, 1, 1], children: [ { _type: 'Shape', appearance: { material: { transparency: 0.5, diffuseColor: [0.8, 1, 0.8] } }, geometry: { _type: 'Sphere', radius: 5 } } ] }; Object.defineProperty( this, 'json', { configurable: false, enumerable: true, writable: false, value: function(){ return _json; } } ); }; MyCustomObjectType.prototype.modifySomething = function(){ 'use strict'; // // }; module.exports = MyCustomObjectType; See you, Cecile -------------- next part -------------- An HTML attachment was scrubbed... URL: From christoph.valentin at gmx.at Sat Oct 11 11:27:56 2014 From: christoph.valentin at gmx.at (Christoph Valentin) Date: Sat, 11 Oct 2014 20:27:56 +0200 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de>, Message-ID: Hi Cecile, I do not want to disturb your discussion. Only, if you write [...]so this is more a VRML/X3D-inspired format, not "real X3D".[...], do you mean the "3D universe" will rather split into two "multiverses"? One multiverse "X3D", which does not need W3C browsers and builds "full-blown 3D" (maybe including 2D as part of the 3D scene), but 3D is the "master". Another multiverse "X3D light", which relies on W3C browsers as the "2D wrappers", as the "masters" of 3D content. Thanks for any explanation in advance Christoph? ? Gesendet:?Freitag, 10. Oktober 2014 um 19:53 Uhr Von:?"Cecile Muller" An:?"Jung, Yvonne" Cc:?"x3d-pulbic mlist" , "Don Brutzman" Betreff:?Re: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt Hi everyone, ? ? > JSON is a built-in JavaScript object. This works out of the box: the parse method simply creates a valid JS object from a JSON string. > The resulting object tree however still has to be traversed to attach meaning and behavior. ? Exactly: the way the engine chooses to render the scenegraph is up to it, the JSON data is only meant to initialize the scenegraph in the 3D engine (and optionally export its state at a given moment if needed). ? ? Which is actually why it would feel redundant to have prototypes inside JSON if you use it in for Javascript because in real life I'd use real JS modules if I need a custom object type with properties and methods (CommonJS, AMD, ES6 modules, typescript modules, factories or whatever the author prefers) because: ?- it's the same scripting language as the rest of the application ?- it can be optimized with the rest of the application ?- it can be tested with the rest of the application ?- it can refer to and interact with non-3D modules (e.g. a thirdparty library for formatting Date timestamps) ?- no eval() ? ? My goals for a scenegraph format are: ?- lightweight to parse ?- meaningful and low complexity because it's simpler to think with, easier to read, easier to diff between two states, and easier to sync between devices ?- easy to require(), to use the same package management as the rest of the application code and assets ? However I'm fine not having feature parity with XML if it keeps it lightweight and straightforward, so this is more a VRML/X3D-inspired format, not "real X3D". ? ? Example (the "_type" is omitted in some nodes because I also have a concept of "Default type" for some fields, e.g. how most of the time the value in "Shape.appearance.material" is a Material node): ? [ { "_type": "Shape", "appearance": { "material": { "transparency": 0.5, "diffuseColor": [0.8, 1, 0.8] } }, "geometry": { "_type": 'Box', "size": [2, 1, 2] } }, { "_type": "MyCustomObjectType", "translation": [0, 0, 1], "scale": [2, 2, 2] } ] ? And an example (without messaging or engine-specific code) of one of many ways to create something similar to Protos: ? var MyCustomObjectType = function(data){ 'use strict'; var _data = data || {}; var _json = { _type: 'Transform', translation: _data.translation || [0, 0, 0], scale: _data.scale || [1, 1, 1], children: [ { _type: 'Shape', appearance: { material: { transparency: 0.5, diffuseColor: [0.8, 1, 0.8] } }, geometry: { _type: 'Sphere', radius: 5 } } ] }; Object.defineProperty( this, 'json', { configurable: false, enumerable: true, writable: false, value: function(){ return _json; } } ); }; ? MyCustomObjectType.prototype.modifySomething = function(){ 'use strict'; // // }; ? module.exports = MyCustomObjectType; ? ? See you, Cecile_______________________________________________ X3D-Public mailing list X3D-Public at web3d.org http://web3d.org/mailman/listinfo/x3d-public_web3d.org From brutzman at nps.edu Sun Oct 12 01:15:44 2014 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 12 Oct 2014 01:15:44 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <54376A6F.4040309@nps.edu> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <5436AAB4.3050505@realism.com> <4CD9F03F-0ADC-450B-A455-41F299EFB635@igd.fraunhofer.de> <54376A6F.4040309@nps.edu> Message-ID: <543A38B0.1020809@nps.edu> More progress, on this version of a candidate encoding at least. [...] > To accomplish this means that the converter will need to be type-aware on a field-by-field basis when reading values. When programming this, I'll need to trap booleans and strings first, then treat everything else as number. > > Will fix in next revision. Stylesheet now removes default attribute values. Also deduces typing based on content for boolean, number, number array, string, string array. Strong typing will be a future modification - still needed since it is possible for numeric strings to sneak through as numbers despite using the prior heuristics. > JSON question #1, wondering which is correct for a singleton number? > > "transparency": [1], > or > "transparency": 1, Using second case. > There are very few examples in the JSON spec. A strict reading there seems to permit either form: an array with a single value, or else a singleton number with no surrounding brackets. > > JSON question #2, wondering which is correct for an MFVec3f value, single array or array of arrays? > > "keyValue": [0 0 0 1 1 1 2 2 2], > or > "keyValue": [ [0 0 0], [1 1 1], [2 2 2] ], Revised candidates, with required commas: "keyValue": [ 0, 0, 0, 1, 1, 1, 2, 2, 2 ], or "keyValue": [ [0, 0, 0], [1, 1, 1], [2, 2, 2] ], Still wondering. This is likely a player question, what form is preferred for efficient operations. Will assume the second form (array of arrays) unless someone argues otherwise. Latest results maintained at https://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/stylesheets/X3dToJson.xslt https://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/stylesheets/test/HelloWorld.json https://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/stylesheets/test/HelloWorld.scene.json Still some problems with extra commas in the output, but cleaned-up version is attached to allow testing by anyone who wants to use JSON.parse() to read and generate objects. It passes Netbeans/X3D-Edit JSON syntax testing. 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 -------------- { "#comment": "Example scene to illustrate X3D nodes and fields (XML elements and attributes)", "Group": [ { "Viewpoint": { "@DEF": "ViewUpClose", "@centerOfRotation": [ 0, -1, 0 ], "@description": "Hello world!", "@position": [ 0, -1, 7 ] }, "Transform": [ { "@rotation": [ 0, 1, 0, 3 ], "Shape": [ { "Sphere": { }, "Appearance": [ { "Material": { "@DEF": "MaterialLightBlue", "@diffuseColor": [ 0.1, 0.5, 1 ] }, "ImageTexture": { "@DEF": "ImageCloudlessEarth", "@url": [ "earth-topo.png", "earth-topo.jpg", "earth-topo-small.gif", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.png", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.jpg", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo-small.gif" ] } } ] } ] } ], "Transform": [ { "@translation": [ 0, -2, 0 ], "Shape": [ { "Text": [ { "@DEF": "TextMessage", "@string": [ "Hello", "world!" ], "FontStyle": { "@justify": [ "MIDDLE", "MIDDLE" ] } } ], "Appearance": [ { "Material": { "@USE": "MaterialLightBlue" } } ] } ] } ] } ] } From christoph.valentin at gmx.at Sun Oct 12 06:39:20 2014 From: christoph.valentin at gmx.at (Christoph Valentin) Date: Sun, 12 Oct 2014 15:39:20 +0200 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> , Message-ID: >> Eh? Whither the directx/hlsl multiverse? And the collada multiverse? Have they disappeared? [Christoph:] True. I should have written "the X3D universe" instead of "the 3D universe". Sorry.? ? Gesendet:?Samstag, 11. Oktober 2014 um 20:45 Uhr Von:?"John Carlson" An:?"Christoph Valentin" Betreff:?Re: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt Eh?? Whither the directx/hlsl multiverse?? And the collada multiverse? Have they disappeared? On Oct 11, 2014 1:28 PM, "Christoph Valentin" wrote:Hi Cecile, I do not want to disturb your discussion. Only, if you write [...]so this is more a VRML/X3D-inspired format, not "real X3D".[...], do you mean the "3D universe" will rather split into two "multiverses"? One multiverse "X3D", which does not need W3C browsers and builds "full-blown 3D" (maybe including 2D as part of the 3D scene), but 3D is the "master". Another multiverse "X3D light", which relies on W3C browsers as the "2D wrappers", as the "masters" of 3D content. Thanks for any explanation in advance Christoph? ? Gesendet:?Freitag, 10. Oktober 2014 um 19:53 Uhr Von:?"Cecile Muller" An:?"Jung, Yvonne" Cc:?"x3d-pulbic mlist" , "Don Brutzman" Betreff:?Re: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt Hi everyone, ? ? > JSON is a built-in JavaScript object. This works out of the box: the parse method simply creates a valid JS object from a JSON string. > The resulting object tree however still has to be traversed to attach meaning and behavior. ? Exactly: the way the engine chooses to render the scenegraph is up to it, the JSON data is only meant to initialize the scenegraph in the 3D engine (and optionally export its state at a given moment if needed). ? ? Which is actually why it would feel redundant to have prototypes inside JSON if you use it in for Javascript because in real life I'd use real JS modules if I need a custom object type with properties and methods (CommonJS, AMD, ES6 modules, typescript modules, factories or whatever the author prefers) because: ?- it's the same scripting language as the rest of the application ?- it can be optimized with the rest of the application ?- it can be tested with the rest of the application ?- it can refer to and interact with non-3D modules (e.g. a thirdparty library for formatting Date timestamps) ?- no eval() ? ? My goals for a scenegraph format are: ?- lightweight to parse ?- meaningful and low complexity because it's simpler to think with, easier to read, easier to diff between two states, and easier to sync between devices ?- easy to require(), to use the same package management as the rest of the application code and assets ? However I'm fine not having feature parity with XML if it keeps it lightweight and straightforward, so this is more a VRML/X3D-inspired format, not "real X3D". ? ? Example (the "_type" is omitted in some nodes because I also have a concept of "Default type" for some fields, e.g. how most of the time the value in "Shape.appearance.material" is a Material node): ? [ { "_type": "Shape", "appearance": { "material": { "transparency": 0.5, "diffuseColor": [0.8, 1, 0.8] } }, "geometry": { "_type": 'Box', "size": [2, 1, 2] } }, { "_type": "MyCustomObjectType", "translation": [0, 0, 1], "scale": [2, 2, 2] } ] ? And an example (without messaging or engine-specific code) of one of many ways to create something similar to Protos: ? var MyCustomObjectType = function(data){ 'use strict'; var _data = data || {}; var _json = { _type: 'Transform', translation: _data.translation || [0, 0, 0], scale: _data.scale || [1, 1, 1], children: [ { _type: 'Shape', appearance: { material: { transparency: 0.5, diffuseColor: [0.8, 1, 0.8] } }, geometry: { _type: 'Sphere', radius: 5 } } ] }; Object.defineProperty( this, 'json', { configurable: false, enumerable: true, writable: false, value: function(){ return _json; } } ); }; ? MyCustomObjectType.prototype.modifySomething = function(){ 'use strict'; // // }; ? module.exports = MyCustomObjectType; ? ? See you, Cecile_______________________________________________ X3D-Public mailing list X3D-Public at web3d.org[X3D-Public at web3d.org] http://web3d.org/mailman/listinfo/x3d-public_web3d.org _______________________________________________ X3D-Public mailing list X3D-Public at web3d.org[X3D-Public at web3d.org] http://web3d.org/mailman/listinfo/x3d-public_web3d.org From brutzman at nps.edu Sun Oct 12 09:27:12 2014 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 12 Oct 2014 09:27:12 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <543A38B0.1020809@nps.edu> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <5436AAB4.3050505@realism.com> <4CD9F03F-0ADC-450B-A455-41F299EFB635@igd.fraunhofer.de> <54376A6F.4040309@nps.edu> <543A38B0.1020809@nps.edu> Message-ID: <543AABE0.3030704@nps.edu> Further progress: working satisfactorily, examples attached. Details during latest iteration: - figured out how to invoke saxon as xslt invocation in ant for suppression of default attribute values inserted by XML parser reading DOCTYPE http://stackoverflow.com/questions/11749319/how-can-i-ignore-the-doctype-declaration-with-xsl Saxon command-line option expand:off http://saxonica.com/documentation9.0/using-xsl/commandline.html - tested handling of single number, e.g. "@transparency": 0.1 ======================================================================= X3dToJson.xslt Conversion Status 1. Working: - elements, attributes, comments - Square and squiggly brackets, commas - escaping quotation marks - handling of singleton numeric values, e.g. "transparency": [1], or "transparency": 1, - suppression of default attribute values inserted by XML parser reading DOCTYPE http://stackoverflow.com/questions/11749319/how-can-i-ignore-the-doctype-declaration-with-xsl Saxon command-line option expand:off http://saxonica.com/documentation9.0/using-xsl/commandline.html 2. TODO - strictly differentiate typing of string versus number versus boolean values and arrays (currently done heuristically) - handling of MFVec arrays, for example "keyValue": [0, 0, 0, 1, 1, 1, 2, 2, 2], or "keyValue": [ [0, 0, 0], [1, 1, 1], [2, 2, 2] ], - handling special characters in strings - contained CDATA text (for example, contained Script source code) - round-trip testing using a JSON-to-XML converter - embedded support in X3D-Edit 3. What X3D JSON specification will need to specify: - @attributeName - "#comment" - "#CDATA' - handling of values and arrays for numeric, boolean and string types - use of "null" (if any) - handling of MFVec arrays - omitting default attribute values and default containerField values 4. Apparently not possible: - embedded JSON comments disallowed http://www.quora.com/How-do-I-write-comments-inside-a-JSON-document ======================================================================= Latest results maintained at https://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/stylesheets/X3dToJson.xslt https://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/stylesheets/build.xml (target test.X3dToJson.xslt) https://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/stylesheets/test/HelloWorld.json https://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/stylesheets/test/HelloWorld.scene.json The json source files pass Netbeans/X3D-Edit JSON syntax testing. As before, clean (unedited) versions of .json results are attached to allow testing by anyone who wants to use JSON.parse() to read and generate objects. 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": [ { "@profile": "Immersive", "@version": 3.3, "@xsd:noNamespaceSchemaLocation": "http://www.web3d.org/specifications/x3d-3.3.xsd", "head": [ { "meta": { "@content": "HelloWorld.x3d", "@name": "title" }, "meta": { "@content": "Simple X3D example: Hello World!", "@name": "description" }, "meta": { "@content": "30 October 2000", "@name": "created" }, "meta": { "@content": "12 October 2014", "@name": "modified" }, "meta": { "@content": "Don Brutzman", "@name": "creator" }, "meta": { "@content": "HelloWorld.tall.png", "@name": "Image" }, "meta": { "@content": "http://en.wikipedia.org/wiki/Hello_world", "@name": "reference" }, "meta": { "@content": "http://en.wikibooks.org/w/index.php?title=Computer_Programming/Hello_world", "@name": "reference" }, "meta": { "@content": "http://www.HelloWorldExample.net", "@name": "reference" }, "meta": { "@content": "http://www.web3D.org", "@name": "reference" }, "meta": { "@content": "http://www.web3d.org/realtime-3d/news/internationalization-x3d", "@name": "reference" }, "meta": { "@content": "http://www.web3d.org/x3d/content/examples/HelloWorld.x3d", "@name": "reference" }, "meta": { "@content": "http://X3dGraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes", "@name": "reference" }, "meta": { "@content": "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter01-TechnicalOverview/HelloWorld.x3d", "@name": "identifier" }, "meta": { "@content": "http://www.web3d.org/x3d/content/examples/license.html", "@name": "license" }, "meta": { "@content": "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit", "@name": "generator" }, "#comment": "Alternate encodings: VRML97, X3D ClassicVRML Encoding, X3D Compressed Binary Encoding (CBE), X3DOM", "meta": { "@content": "HelloWorld.wrl", "@name": "reference" }, "meta": { "@content": "HelloWorld.x3dv", "@name": "reference" }, "meta": { "@content": "HelloWorld.x3db", "@name": "reference" }, "meta": { "@content": "HelloWorld.xhtml", "@name": "reference" } } ], "Scene": [ { "#comment": "Example scene to illustrate X3D nodes and fields (XML elements and attributes)", "Group": [ { "Viewpoint": { "@DEF": "ViewUpClose", "@centerOfRotation": [ 0, -1, 0 ], "@description": "Hello world!", "@position": [ 0, -1, 7 ] }, "Transform": [ { "@rotation": [ 0, 1, 0, 3 ], "Shape": [ { "Sphere": { }, "Appearance": [ { "#comment": "added transparency value to test JSON conversion of single number", "Material": { "@DEF": "MaterialLightBlue", "@diffuseColor": [ 0.1, 0.5, 1 ], "@transparency": 0.1 }, "ImageTexture": { "@DEF": "ImageCloudlessEarth", "@url": [ "earth-topo.png", "earth-topo.jpg", "earth-topo-small.gif", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.png", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.jpg", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo-small.gif" ] } } ] } ] } ], "Transform": [ { "@translation": [ 0, -2, 0 ], "Shape": [ { "Text": [ { "@DEF": "TextMessage", "@string": [ "Hello", "world!" ], "FontStyle": { "@justify": [ "MIDDLE", "MIDDLE" ] } } ], "Appearance": [ { "Material": { "@USE": "MaterialLightBlue" } } ] } ] } ] } ] } ] } ] } -------------- next part -------------- { "#comment": "Example scene to illustrate X3D nodes and fields (XML elements and attributes)", "Group": [ { "Viewpoint": { "@DEF": "ViewUpClose", "@centerOfRotation": [ 0, -1, 0 ], "@description": "Hello world!", "@position": [ 0, -1, 7 ] }, "Transform": [ { "@rotation": [ 0, 1, 0, 3 ], "Shape": [ { "Sphere": { }, "Appearance": [ { "#comment": "added transparency value to test JSON conversion of single number", "Material": { "@DEF": "MaterialLightBlue", "@diffuseColor": [ 0.1, 0.5, 1 ], "@transparency": 0.1 }, "ImageTexture": { "@DEF": "ImageCloudlessEarth", "@url": [ "earth-topo.png", "earth-topo.jpg", "earth-topo-small.gif", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.png", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.jpg", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo-small.gif" ] } } ] } ] } ], "Transform": [ { "@translation": [ 0, -2, 0 ], "Shape": [ { "Text": [ { "@DEF": "TextMessage", "@string": [ "Hello", "world!" ], "FontStyle": { "@justify": [ "MIDDLE", "MIDDLE" ] } } ], "Appearance": [ { "Material": { "@USE": "MaterialLightBlue" } } ] } ] } ] } ] } -------------- next part -------------- A non-text attachment was scrubbed... Name: HelloWorld.x3d Type: model/x3d+xml Size: 3173 bytes Desc: not available URL: From brutzman at nps.edu Sun Oct 12 11:30:18 2014 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 12 Oct 2014 11:30:18 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de>, Message-ID: <543AC8BA.9070900@nps.edu> On 10/11/2014 11:27 AM, Christoph Valentin wrote: > Hi Cecile, > > I do not want to disturb your discussion. yes a lot of intriguing ideas are there! Merci Cecile. > Only, if you write [...]so this is more a VRML/X3D-inspired format, not "real X3D".[...], do you mean the "3D universe" will rather split into two "multiverses"? > > One multiverse "X3D", which does not need W3C browsers and builds "full-blown 3D" (maybe including 2D as part of the 3D scene), but 3D is the "master". > > Another multiverse "X3D light", which relies on W3C browsers as the "2D wrappers", as the "masters" of 3D content. > > Thanks for any explanation in advance > > Christoph Impressions: a. JSON defines objects and data structures, in effect a serialization that complements (and can include any aspects of) programming. b. X3D JSON Encoding effort is seeking to find a round-trippable representation of X3D scenes compatible with .x3d .x3dv .x3db interchange of scenes. c. JSON (as a programming language extension) has a lot of flexibility, so we are working to find the X3D JSON representation that might best help Javascript programmers who want to load/render/write/share X3D scenes interoperably. d. JSON (as a programming language extension) has a lot of flexibility, so there will be many many ways to do this. One interchange form for X3D JSON does not have to prevent many variations from being useful and used. Comparing differences is always interesting. Therefore other forms of X3D expressed in JSON/javascript will simply be different. So... am not sure a simple bifurcation of heavy/light will occur. Rather am trying to create a standardizable form for interoperability while many coexisting variations might also emerge for a variety of special purposes. Vive la diff?rence. 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 kristian.sons at dfki.de Mon Oct 13 01:40:31 2014 From: kristian.sons at dfki.de (Kristian Sons) Date: Mon, 13 Oct 2014 10:40:31 +0200 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> Message-ID: <543B8FFF.5070403@dfki.de> Hi, +1 for Cecile's proposal with explicit containers. Two remarks: - I think there shouldn't be a default type. Otherwise an application needs to know these default values, which again makes it harder to implement tools. - MFFields should be encoded as simple arrays (not array of arrays). Typical multi-value fields such as normals, keyValues would be trnalsted to TypedArrays of GLBuffers anyway and for these operations arrays of array is only degrade the performance and have very little added value Just my 2 cents, Kristian > Hi everyone, > > > > JSON is a built-in JavaScript object. This works out of the box: the > parse method simply creates a valid JS object from a JSON string. > > The resulting object tree however still has to be traversed to > attach meaning and behavior. > > Exactly: the way the engine chooses to render the scenegraph is up to > it, the JSON data is only meant to initialize the scenegraph in the 3D > engine (and optionally export its state at a given moment if needed). > > > Which is actually why it would feel redundant to have prototypes > inside JSON if you use it in for Javascript because in real life I'd > use real JS modules if I need a custom object type with properties and > methods (CommonJS, AMD, ES6 modules, typescript modules, factories or > whatever the author prefers) because: > - it's the same scripting language as the rest of the application > - it can be optimized with the rest of the application > - it can be tested with the rest of the application > - it can refer to and interact with non-3D modules (e.g. a thirdparty > library for formatting Date timestamps) > - no eval() > > > My goals for a scenegraph format are: > - lightweight to parse > - meaningful and low complexity because it's simpler to think with, > easier to read, easier to diff between two states, and easier to sync > between devices > - easy to require(), to use the same package management as the rest > of the application code and assets > > However I'm fine not having feature parity with XML if it keeps it > lightweight and straightforward, so this is more a VRML/X3D-inspired > format, not "real X3D". > > > Example (the "_type" is omitted in some nodes because I also have a > concept of "Default type" for some fields, e.g. how most of the time > the value in "Shape.appearance.material" is a Material node): > > [ > { > "_type": "Shape", > "appearance": { > "material": { > "transparency": 0.5, > "diffuseColor": [0.8, 1, 0.8] > } > }, > "geometry": { > "_type": 'Box', > "size": [2, 1, 2] > } > }, > { > "_type": "MyCustomObjectType", > "translation": [0, 0, 1], > "scale": [2, 2, 2] > } > ] > > And an example (without messaging or engine-specific code) of one of > many ways to create something similar to Protos: > > var MyCustomObjectType = function(data){ > 'use strict'; > var _data = data || {}; > var _json = { > _type: 'Transform', > translation: _data.translation || [0, 0, 0], > scale: _data.scale || [1, 1, 1], > children: [ > { > _type: 'Shape', > appearance: { > material: { > transparency: 0.5, > diffuseColor: [0.8, 1, 0.8] > } > }, > geometry: { > _type: 'Sphere', > radius: 5 > } > } > ] > }; > Object.defineProperty( > this, > 'json', > { > configurable: false, > enumerable: true, > writable: false, > value: function(){ > return _json; > } > } > ); > }; > > MyCustomObjectType.prototype.modifySomething = function(){ > 'use strict'; > // > // > }; > > module.exports = MyCustomObjectType; > > > See you, > Cecile > > > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org -- _______________________________________________________________________________ Kristian Sons Deutsches Forschungszentrum f?r K?nstliche Intelligenz GmbH, DFKI Agenten und Simulierte Realit?t Campus, Geb. D 3 2, Raum 0.77 66123 Saarbr?cken, Germany Phone: +49 681 85775-3833 Phone: +49 681 302-3833 Fax: +49 681 85775--2235 kristian.sons at dfki.de http://www.xml3d.org Gesch?ftsf?hrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vorsitzender) Dr. Walter Olthoff Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes Amtsgericht Kaiserslautern, HRB 2313 _______________________________________________________________________________ -------------- next part -------------- An HTML attachment was scrubbed... URL: From johannes.behr at igd.fraunhofer.de Mon Oct 13 02:34:18 2014 From: johannes.behr at igd.fraunhofer.de (Behr, Johannes) Date: Mon, 13 Oct 2014 09:34:18 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <543B8FFF.5070403@dfki.de> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> Message-ID: <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> Hi, +1 for Cecile's, Sons and Yvonnes proposal. This is compact and reflects the internal X3D model and easy to parse. > +1 for Cecile's proposal with explicit containers. > > Two remarks: > - I think there shouldn't be a default type. Otherwise an application needs to know these default values, which again makes it harder to implement tools. Missing default types help to decrease the file size and is more easier to read for most user. Maybe we cout mark the with/without default-types in the header. > - MFFields should be encoded as simple arrays (not array of arrays). Typical multi-value fields such as normals, keyValues would be trnalsted to TypedArrays of GLBuffers anyway and for these operations arrays of array is only degrade the performance and have very little added value +1 Best regards Johannes > > Just my 2 cents, > Kristian > > >> Hi everyone, >> >> >> > JSON is a built-in JavaScript object. This works out of the box: the parse method simply creates a valid JS object from a JSON string. >> > The resulting object tree however still has to be traversed to attach meaning and behavior. >> >> Exactly: the way the engine chooses to render the scenegraph is up to it, the JSON data is only meant to initialize the scenegraph in the 3D engine (and optionally export its state at a given moment if needed). >> >> >> Which is actually why it would feel redundant to have prototypes inside JSON if you use it in for Javascript because in real life I'd use real JS modules if I need a custom object type with properties and methods (CommonJS, AMD, ES6 modules, typescript modules, factories or whatever the author prefers) because: >> - it's the same scripting language as the rest of the application >> - it can be optimized with the rest of the application >> - it can be tested with the rest of the application >> - it can refer to and interact with non-3D modules (e.g. a thirdparty library for formatting Date timestamps) >> - no eval() >> >> >> My goals for a scenegraph format are: >> - lightweight to parse >> - meaningful and low complexity because it's simpler to think with, easier to read, easier to diff between two states, and easier to sync between devices >> - easy to require(), to use the same package management as the rest of the application code and assets >> >> However I'm fine not having feature parity with XML if it keeps it lightweight and straightforward, so this is more a VRML/X3D-inspired format, not "real X3D". >> >> >> Example (the "_type" is omitted in some nodes because I also have a concept of "Default type" for some fields, e.g. how most of the time the value in "Shape.appearance.material" is a Material node): >> >> [ >> { >> "_type": "Shape", >> "appearance": { >> "material": { >> "transparency": 0.5, >> "diffuseColor": [0.8, 1, 0.8] >> } >> }, >> "geometry": { >> "_type": 'Box', >> "size": [2, 1, 2] >> } >> }, >> { >> "_type": "MyCustomObjectType", >> "translation": [0, 0, 1], >> "scale": [2, 2, 2] >> } >> ] >> >> And an example (without messaging or engine-specific code) of one of many ways to create something similar to Protos: >> >> var MyCustomObjectType = function(data){ >> 'use strict'; >> var _data = data || {}; >> var _json = { >> _type: 'Transform', >> translation: _data.translation || [0, 0, 0], >> scale: _data.scale || [1, 1, 1], >> children: [ >> { >> _type: 'Shape', >> appearance: { >> material: { >> transparency: 0.5, >> diffuseColor: [0.8, 1, 0.8] >> } >> }, >> geometry: { >> _type: 'Sphere', >> radius: 5 >> } >> } >> ] >> }; >> Object.defineProperty( >> this, >> 'json', >> { >> configurable: false, >> enumerable: true, >> writable: false, >> value: function(){ >> return _json; >> } >> } >> ); >> }; >> >> MyCustomObjectType.prototype.modifySomething = function(){ >> 'use strict'; >> // >> // >> }; >> >> module.exports = MyCustomObjectType; >> >> >> See you, >> Cecile >> >> >> _______________________________________________ >> X3D-Public mailing list >> >> X3D-Public at web3d.org >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > > -- > _______________________________________________________________________________ > > Kristian Sons > Deutsches Forschungszentrum f?r K?nstliche Intelligenz GmbH, DFKI > Agenten und Simulierte Realit?t > Campus, Geb. D 3 2, Raum 0.77 > 66123 Saarbr?cken, Germany > > Phone: +49 681 85775-3833 > Phone: +49 681 302-3833 > Fax: +49 681 85775?2235 > > kristian.sons at dfki.de > http://www.xml3d.org > > > Gesch?ftsf?hrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vorsitzender) > Dr. Walter Olthoff > > Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes > Amtsgericht Kaiserslautern, HRB 2313 > _______________________________________________________________________________ > > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org --- Dr. Johannes Behr Head of Department: Visual Computing System Technologies Fraunhofer-Institut f?r Graphische Datenverarbeitung IGD Fraunhoferstr. 5 | 64283 Darmstadt | Germany Tel +49 6151 155-510 | Fax +49 6151 155-196 johannes.behr at igd.fraunhofer.de | www.igd.fraunhofer.de From newsletter at wildpeaks.fr Mon Oct 13 04:28:53 2014 From: newsletter at wildpeaks.fr (Cecile Muller) Date: Mon, 13 Oct 2014 13:28:53 +0200 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> Message-ID: Hi everyone, thanks for the replies :) > Only, if you write [...]so this is more a VRML/X3D-inspired format, not "real X3D".[...], do you mean the "3D universe" will rather split into two "multiverses"? I meant that I'm kinda looking at it from the perspective of "if I was starting from scratch today, what would I need" than a conversion of an existing format to JSON, hence I'd totally understand if some things might not fit the goals of JSON X3D because it's probably more important for a standard with multiple encodings to be able to convert seamlessly between encodings. > I think there shouldn't be a default type. Otherwise an application needs to know these default values, which again makes it harder to implement tools. I hesitated with the default _type and you're right, let's always specify the value: not only it is more explicit, but also the definition is usable even without knowing the container context (and remains valid even if moved to another container that doesn't have (or uses a different) default _type, hence it's simpler and safer to require _type to have a value). See you, Cecile -------------- next part -------------- An HTML attachment was scrubbed... URL: From johannes.behr at igd.fraunhofer.de Mon Oct 13 04:37:28 2014 From: johannes.behr at igd.fraunhofer.de (Behr, Johannes) Date: Mon, 13 Oct 2014 11:37:28 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> Message-ID: Hi, > > > Only, if you write [...]so this is more a VRML/X3D-inspired format, not "real X3D".[...], do you mean the "3D universe" will rather split into two "multiverses"? > > I meant that I'm kinda looking at it from the perspective of "if I was starting from scratch today, what would I need" than a conversion of an existing format to JSON, hence I'd totally understand if some things might not fit the goals of JSON X3D because it's probably more important for a standard with multiple encodings to be able to convert seamlessly between encodings. Well. The question is, if JSON is a good format for all 3D aspects at all. And we don't think so: http://x3dom.org/src/ JSON does not support compression, streaming, binary encoding, ... But it works well for scene-graph structure data and X3D is a solid scene-graph description. Best regards Johannes > > > > I think there shouldn't be a default type. Otherwise an application needs to know these default values, which again makes it harder to implement tools. > > I hesitated with the default _type and you're right, let's always specify the value: not only it is more explicit, but also the definition is usable even without knowing the container context (and remains valid even if moved to another container that doesn't have (or uses a different) default _type, hence it's simpler and safer to require _type to have a value). > > > See you, > Cecile > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org --- Dr. Johannes Behr Head of Department: Visual Computing System Technologies Fraunhofer-Institut f?r Graphische Datenverarbeitung IGD Fraunhoferstr. 5 | 64283 Darmstadt | Germany Tel +49 6151 155-510 | Fax +49 6151 155-196 johannes.behr at igd.fraunhofer.de | www.igd.fraunhofer.de From newsletter at wildpeaks.fr Mon Oct 13 04:59:07 2014 From: newsletter at wildpeaks.fr (Cecile Muller) Date: Mon, 13 Oct 2014 13:59:07 +0200 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> Message-ID: Hi, > Well. The question is, if JSON is a good format for all 3D aspects at all. And we don't think so: > http://x3dom.org/src/ > JSON does not support compression, streaming, binary encoding, ... > But it works well for scene-graph structure data and X3D is a solid scene-graph description. I agree it doesn't have to fit every scenario: the way I see it you'd use it as scenegraph definition and as-is during development, and you could use another format (binary, with streaming, lods, etc..) for production, similar to how JS webapps get bundled and minified instead of serving the plain sources even though that would work too. See you, Cecile -------------- next part -------------- An HTML attachment was scrubbed... URL: From Leonard.Daly at realism.com Mon Oct 13 10:26:44 2014 From: Leonard.Daly at realism.com (Leonard Daly) Date: Mon, 13 Oct 2014 10:26:44 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <543A38B0.1020809@nps.edu> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <5436AAB4.3050505@realism.com> <4CD9F03F-0ADC-450B-A455-41F299EFB635@igd.fraunhofer.de> <54376A6F.4040309@nps.edu> <543A38B0.1020809@nps.edu> Message-ID: <543C0B54.2010907@realism.com> >> There are very few examples in the JSON spec. A strict reading there >> seems to permit either form: an array with a single value, or else a >> singleton number with no surrounding brackets. >> >> JSON question #2, wondering which is correct for an MFVec3f value, >> single array or array of arrays? >> >> "keyValue": [0 0 0 1 1 1 2 2 2], >> or >> "keyValue": [ [0 0 0], [1 1 1], [2 2 2] ], > > Revised candidates, with required commas: > > "keyValue": [ 0, 0, 0, 1, 1, 1, 2, 2, 2 ], > or > "keyValue": [ [0, 0, 0], [1, 1, 1], [2, 2, 2] ], > > Still wondering. This is likely a player question, what form is > preferred for efficient operations. Will assume the second form > (array of arrays) unless someone argues otherwise. I prefer the second case. That way the elements of the array are the points, colors, rotations, etc. and the elements of each array element are the particular coordinate-value. Otherwise it would be necessary to compute the indices. -- *Leonard Daly* X3D Co-Chair Cloud Consultant President, Daly Realism - /Creating the Future/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From web3d at realism.com Mon Oct 13 11:02:22 2014 From: web3d at realism.com (Leonard Daly) Date: Mon, 13 Oct 2014 11:02:22 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <543A38B0.1020809@nps.edu> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <5436AAB4.3050505@realism.com> <4CD9F03F-0ADC-450B-A455-41F299EFB635@igd.fraunhofer.de> <54376A6F.4040309@nps.edu> <543A38B0.1020809@nps.edu> Message-ID: <543C13AE.4090108@realism.com> >> There are very few examples in the JSON spec. A strict reading there >> seems to permit either form: an array with a single value, or else a >> singleton number with no surrounding brackets. >> >> JSON question #2, wondering which is correct for an MFVec3f value, >> single array or array of arrays? >> >> "keyValue": [0 0 0 1 1 1 2 2 2], >> or >> "keyValue": [ [0 0 0], [1 1 1], [2 2 2] ], > > Revised candidates, with required commas: > > "keyValue": [ 0, 0, 0, 1, 1, 1, 2, 2, 2 ], > or > "keyValue": [ [0, 0, 0], [1, 1, 1], [2, 2, 2] ], > > Still wondering. This is likely a player question, what form is > preferred for efficient operations. Will assume the second form > (array of arrays) unless someone argues otherwise. I prefer the second case. That way the elements of the array are the points, colors, rotations, etc. and the elements of each array element are the particular coordinate-value. Otherwise it would be necessary to compute the indices. Now I see that people seem to like the first version, so I'll supply more reasoning. I am looking at this from the standpoint of a 3D developer who needs to (programmatically) work with the elements of the array. For this discussion, assume this is a point array with each point having 3 coordinates (point field in a Coordinate node). If I wish to morph the existing shape into something else, I want to work with the points (as a 3-tuple) of the shape. It is creates much clearer code to reference something like p[27] than (p[27*3], p[27*3+1], p[27*3+2]). I also think that we need a means for importing large data so that it is not necessary to store all scene data (not scene structure) together with the structure. This would allow geometry, animations, normals, etc. to be stored separately and transmitted in an efficient manner (binary, compressed, etc.) into the scene. This capability would apply to all encodings. -- *Leonard Daly* X3D Co-Chair Cloud Consultant President, Daly Realism - /Creating the Future/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Mon Oct 13 12:47:56 2014 From: brutzman at nps.edu (Don Brutzman) Date: Mon, 13 Oct 2014 12:47:56 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> Message-ID: <543C2C6C.6000900@nps.edu> Wow, what a great "deep dive" this examination thread has been, we are uncovering many important design issues. Still the work continues, and more is needed on syntax especially. Here we go - hopefully even further. On 10/13/2014 2:34 AM, Behr, Johannes wrote: > Hi, > > +1 for Cecile's, Sons and Yvonnes proposal. OK, first am assuming that the design principles are what is best resonating (rather than syntax which still needs some discussion). Here they are captured from Cecile's message, with some additions. Clarifications and additions are welcome. https://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/stylesheets/X3dToJson.xslt ======================================================================= 4. Functional goals and use cases Overview. JSON is a built-in JavaScript object. This works out of the box: the parse method simply creates a valid JS object from a JSON string. The resulting object tree however still has to be traversed to attach meaning and behavior. Exactly the way that an engine chooses to render the scenegraph is up to it, the JSON data is only meant to initialize the scenegraph in the 3D engine (and optionally export its state at a given moment if needed). Specific design goals and use cases include: - it's the same scripting language as the rest of the application - it can be optimized with the rest of the application - it can be tested with the rest of the application - it can refer to and interact with non-3D modules (e.g. a third-party library for formatting Date timestamps) - no eval() - lightweight to parse - meaningful and low complexity because it's simpler to think with, easier to read, easier to diff between two states, and easier to synchronize between devices - easy to require(), to use the same package management as the rest of the application code and assets plus - Easy for programmers to manipulate and adapt - Strive for reusability, avoid hard-wiring the object syntax to one exclusive API approach if possible (there are many "similar but different" scene graphs) - Future ISO 19776-5 X3D JSON Encoding has to capture everything in a scene graph defined by the X3D Abstract Specification. Commonly referred to as "round trippable" property shared among X3D encodings. - TBD strict or flexible typing? ======================================================================= meanwhile, so far have only seen one example, from Cecile, but it is too ambiguous to be consistently repeatable (for me at least). detailed point comparisons follow below. not clear from the email if you are all agreeing to the same syntax/structure, you guys probably have a backstory of common understanding that is deeper than what has been exposed here. so please bear with me if this is all obvious already - we need to look more closely at these issues. > This is compact and reflects the internal X3D model and easy to parse. > >> +1 for Cecile's proposal with explicit containers. I'm not yet seeing enough information to converge or diverge. Please help me understand the internal X3D model and easier parsing. Apparent ambiguities include the following, comparing Cecile's example with the syntax of current X3dToJson.xslt output. a. how is "_type": "Shape", different than "Shape": [ The "_type" doesn't add any information per se. b. how is translation: _data.translation || [0, 0, 0], different than "@translation": [ 0, -2, 0 ], Also wondering what the || (inclusive or) operator is doing there. It does not appear in the JSON specification. This appears to be a mix of JSON Data Interchange Format (ECMA-404) and javascript source. We need to distinguish between custom Javascript object types and X3D JSON. Sure such decoration is welcome, but that is a programmer-driven choice to add, and not part of a re-usable interoperable JSON encoding. c. What precisely are "appearance": { "material": { Either they are field names relative the parent (e.g. containerField values), or else lower-case node names (which happens a lot when using X3DOM in non-strict HTML). In whichever case, then how are they different than "Appearance": [ { "Material": { d. still not seeing an X3DOM example of JSON.parse() and .json scene (though have asked several times). as before, if X3DOM has an internal X3D model with corresponding parsable JSON, that will be very helpful. is anything online, hopefully showing loading and parsing? if not, OK. even draft-y or different-ish examples will likely aid understanding. i think that the current HelloWorld.json example seems perfectly parsable already, and it would be good to see how much close the result is to how X3DOM works. >> Two remarks: >> - I think there shouldn't be a default type. Otherwise an application needs to know these default values, which again makes it harder to implement tools. Sorry, again the point is not quite clear, specifically are you talking about X3D fields or X3D nodes? For field data, not requiring strict differentiation of strong typing seems pretty sensible. The current stylesheet output didn't need to check much, the type-differentiation heuristics for /boolean/number/number array/string/string array/ were simple. Also since DOM represents everything as a string, then it would seem likely that we could allow type promotion/demotion whenever necessary since Javascript does a good job at that. So yes, it does look like relaxing type requirements for non-node field data looks promising. For nodes, this relates to the containerField approach. Seldom needed, but important when a node might have multiple node children with different purposes. For example, disambiguation allows Collision node to distinguish parent-child relationships between regular MFNode children and a SFNode proxy Shape. This possibility only occurs a handful of times (out of ~250 nodes). For protos, am guessing that mapping of prototype declarations and instances will always be a customization job by an API or renderer. Clarity supporting conversion will be the key, not a particular syntactic form. > Missing default types help to decrease the file size and is more easier to read for most user. yes, the programmer doesn't necessarily have to pay as much attention when debugging to understand whether it is correct. regarding compression, worth considering but secondary. incidentally gzip-compressed JSON is almost as small as EXI-compressed XML. regarding readability, not considered a primary strength of JSON. again worth considering but not necessarily a decisive factor. > Maybe we could mark the with/without default-types in the header. hmmm, not sure there is a JSON header per se? seems intentionally absent. We could add information to the X3D/head/meta name=value pairs, but that complicates parsing. Comments in a scene-graph fragment or even an X3D Metadata node are also possible. However for anything intended to be interoperable/reusable, consistency and repeatability is needed. Am guessing that many use cases will also want to use scene-graph subtree fragments rather than an entire document worth of header+scene information. >> - MFFields should be encoded as simple arrays (not array of arrays). Typical multi-value fields such as normals, keyValues would be trnalsted to TypedArrays of GLBuffers anyway and for these operations arrays of array is only degrade the performance and have very little added value > > +1 sounds sensible... but Leonard just posted a different use case where programmers can more easily manipulate structured arrays. maybe we should allow either form? javascript array manipulation can likely serialize a structured array into a linear list without too much difficulty. this might also be considered a form of type promotion/demotion. "When you come to a fork in the road, take it." - Yogi Berra 8) > Best regards > Johannes > >> >> Just my 2 cents, >> Kristian >> >> >>> Hi everyone, >>> >>> >>>> JSON is a built-in JavaScript object. This works out of the box: the parse method simply creates a valid JS object from a JSON string. >>>> The resulting object tree however still has to be traversed to attach meaning and behavior. >>> >>> Exactly: the way the engine chooses to render the scenegraph is up to it, the JSON data is only meant to initialize the scenegraph in the 3D engine (and optionally export its state at a given moment if needed). >>> >>> >>> Which is actually why it would feel redundant to have prototypes inside JSON if you use it in for Javascript because in real life I'd use real JS modules if I need a custom object type with properties and methods (CommonJS, AMD, ES6 modules, typescript modules, factories or whatever the author prefers) because: >>> - it's the same scripting language as the rest of the application >>> - it can be optimized with the rest of the application >>> - it can be tested with the rest of the application >>> - it can refer to and interact with non-3D modules (e.g. a thirdparty library for formatting Date timestamps) >>> - no eval() >>> >>> >>> My goals for a scenegraph format are: >>> - lightweight to parse >>> - meaningful and low complexity because it's simpler to think with, easier to read, easier to diff between two states, and easier to sync between devices >>> - easy to require(), to use the same package management as the rest of the application code and assets p.s. Cecile - have captured/adapted these thoughtful points as first-draft "Functional goals and use cases" above - thank you. >>> However I'm fine not having feature parity with XML if it keeps it lightweight and straightforward, so this is more a VRML/X3D-inspired format, not "real X3D". >>> >>> >>> Example (the "_type" is omitted in some nodes because I also have a concept of "Default type" for some fields, e.g. how most of the time the value in "Shape.appearance.material" is a Material node): >>> >>> [ >>> { >>> "_type": "Shape", >>> "appearance": { >>> "material": { >>> "transparency": 0.5, >>> "diffuseColor": [0.8, 1, 0.8] >>> } >>> }, >>> "geometry": { >>> "_type": 'Box', >>> "size": [2, 1, 2] >>> } >>> }, >>> { >>> "_type": "MyCustomObjectType", >>> "translation": [0, 0, 1], >>> "scale": [2, 2, 2] >>> } >>> ] >>> >>> And an example (without messaging or engine-specific code) of one of many ways to create something similar to Protos: >>> >>> var MyCustomObjectType = function(data){ >>> 'use strict'; >>> var _data = data || {}; >>> var _json = { >>> _type: 'Transform', >>> translation: _data.translation || [0, 0, 0], >>> scale: _data.scale || [1, 1, 1], >>> children: [ >>> { >>> _type: 'Shape', >>> appearance: { >>> material: { >>> transparency: 0.5, >>> diffuseColor: [0.8, 1, 0.8] >>> } >>> }, >>> geometry: { >>> _type: 'Sphere', >>> radius: 5 >>> } >>> } >>> ] >>> }; >>> Object.defineProperty( >>> this, >>> 'json', >>> { >>> configurable: false, >>> enumerable: true, >>> writable: false, >>> value: function(){ >>> return _json; >>> } >>> } >>> ); >>> }; >>> >>> MyCustomObjectType.prototype.modifySomething = function(){ >>> 'use strict'; >>> // >>> // >>> }; >>> >>> module.exports = MyCustomObjectType; >>> >>> >>> See you, >>> Cecile >>> >>> >>> _______________________________________________ >>> 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 web3d at realism.com Mon Oct 13 14:12:10 2014 From: web3d at realism.com (Leonard Daly) Date: Mon, 13 Oct 2014 14:12:10 -0700 Subject: [X3D-Public] [x3dom-developers] Fwd: Re: initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <5436AAB4.3050505@realism.com> <4CD9F03F-0ADC-450B-A455-41F299EFB635@igd.fraunhofer.de> <54376A6F.4040309@nps.edu> <543A38B0.1020809@nps.edu> <543C13AE.4090108@realism.com> Message-ID: <543C402A.5010502@realism.com> John, > > > I am looking at this from the standpoint of a 3D developer who needs > to (programmatically) work with the elements of the array. For this > discussion, assume this is a point array with each point having 3 > coordinates (point field in a Coordinate node). If I wish to morph > the existing shape into something else, I want to work with the points > (as a 3-tuple) of the shape. It is creates much clearer code to > reference something like p[27] than (p[27*3], p[27*3+1], p[27*3+2]). > > I'm not so sure you would be doing all that multiplication...I'm > imagining something like: > > for (index=0; index < max;) { > X = array[index++]; > Y = array[index++]; > Z = array[index++]; > // do something with (X, Y, Z) > } > > Would this be satisfactory, Leonard? > This issue is not so much the multiplication to get the indices, but all of the handling (even if the code optimizes well) that is necessary to get to the individual points. Leonard Daly > John > > > > ------------------------------------------------------------------------------ > Comprehensive Server Monitoring with Site24x7. > Monitor 10 servers for $9/Month. > Get alerted through email, SMS, voice calls or mobile push notifications. > Take corrective actions from your mobile device. > http://p.sf.net/sfu/Zoho > > > _______________________________________________ > x3dom-developers mailing list > x3dom-developers at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/x3dom-developers -- *Leonard Daly* X3D Co-Chair Cloud Consultant President, Daly Realism - /Creating the Future/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From holger.seelig at yahoo.de Tue Oct 14 05:18:54 2014 From: holger.seelig at yahoo.de (Holger Seelig) Date: Tue, 14 Oct 2014 14:18:54 +0200 Subject: [X3D-Public] NEW: CREATE3000 introduces free Titania X3D Browser and Editor for Ubuntu Message-ID: <543D14AE.7090205@yahoo.de> *** TITANIA FIRST PUBLIC ANNOUNCEMENT *** TITANIA FIRST PUBLIC ANNOUNCEMENT *** Leipzig 14. October 2014: Titania is a new, free, open source X3D browser and authoring tool primary for the Ubuntu platform, that allows 3D developers easy and fast creation of 3d scenes and applications. Have a look at http://titania.create3000.de for first impressions how Titania plays on Ubuntu. All information, help with download and installation on Ubuntu, user guide for the first steps, can be found on the website http://titania.create3000.de. The German 3D software developer, Holger Seelig from Leipzig has contributed after four years of development the version 0.7.4 of Titania, an authoring tool, which enables to create interactive and multimedia internet ready content. This tool will sustainably accelerate and make it less difficult to generate interactive content of successful operating scenes and application. Even ?Non 3D Realtime -Specialists? are in the position to generate 3D Realtime applications for the use in the internet. The Titania Editor is build on top of the Titania Browser which is fully integrated within the authoring tool. Titania supports for this early release X3D XML Encoded files and VRML Classic Encoded files. Beside this it comes with a tiny command line tool ?x3dtidy? a X3D/VRML beautifier and converter. CREATE3000 is in search of testers for Titania. The source code is hosted on Launchpad https://launchpad.net/titania where bug can be reported too. Don't think twice and please report any bugs you found at https://bugs.launchpad.net/titania. This will help make Titania more robust, more stable and more comfortable. Visit the Titania website at http://titania.create3000.de to get complete version details and component/node support. Thank you for reading this article. *** TITANIA FIRST PUBLIC ANNOUNCEMENT *** TITANIA FIRST PUBLIC ANNOUNCEMENT *** -- Holger Seelig Mediengestalter Digital ? Digital Media Designer Scheffelstra?e 31a 04277 Leipzig Telefon: 01577 147 26 11 E-Mail: holger.seelig at yahoo.de From highaspirations at hotmail.com Tue Oct 14 09:12:51 2014 From: highaspirations at hotmail.com (doug sanden) Date: Tue, 14 Oct 2014 10:12:51 -0600 Subject: [X3D-Public] NEW: CREATE3000 introduces free Titania X3D Browser and Editor for Ubuntu In-Reply-To: <543D14AE.7090205@yahoo.de> References: <543D14AE.7090205@yahoo.de> Message-ID: Looks great! Very professional, nice icons, screenshots look great and I even love the name .. and a bug report facility?!? Keep up the great work. -Doug > *** TITANIA FIRST PUBLIC ANNOUNCEMENT *** TITANIA FIRST PUBLIC > ANNOUNCEMENT *** > > Leipzig 14. October 2014: Titania is a new, free, open source X3D > browser and authoring tool primary for the Ubuntu platform, that allows > 3D developers easy and fast creation of 3d scenes and applications. Have > a look at http://titania.create3000.de for first impressions how Titania > plays on Ubuntu. > > All information, help with download and installation on Ubuntu, user > guide for the first steps, can be found on the website > http://titania.create3000.de. > > The German 3D software developer, Holger Seelig from Leipzig has > contributed after four years of development the version 0.7.4 of > Titania, an authoring tool, which enables to create interactive and > multimedia internet ready content. This tool will sustainably accelerate > and make it less difficult to generate interactive content of successful > operating scenes and application. Even ?Non 3D Realtime -Specialists? > are in the position to generate 3D Realtime applications for the use in > the internet. > > The Titania Editor is build on top of the Titania Browser which is fully > integrated within the authoring tool. Titania supports for this early > release X3D XML Encoded files and VRML Classic Encoded files. Beside > this it comes with a tiny command line tool ?x3dtidy? a X3D/VRML > beautifier and converter. > > CREATE3000 is in search of testers for Titania. The source code is > hosted on Launchpad https://launchpad.net/titania where bug can be > reported too. Don't think twice and please report any bugs you found > at https://bugs.launchpad.net/titania. This will help make Titania more > robust, more stable and more comfortable. > > Visit the Titania website at http://titania.create3000.de to get > complete version details and component/node support. > > Thank you for reading this article. > > *** TITANIA FIRST PUBLIC ANNOUNCEMENT *** TITANIA FIRST PUBLIC > ANNOUNCEMENT *** > > -- > Holger Seelig > Mediengestalter Digital ? Digital Media Designer > > Scheffelstra?e 31a > 04277 Leipzig > > Telefon: 01577 147 26 11 > E-Mail: holger.seelig at yahoo.de > > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org From holger.seelig at yahoo.de Tue Oct 14 12:03:33 2014 From: holger.seelig at yahoo.de (Holger Seelig) Date: Tue, 14 Oct 2014 21:03:33 +0200 Subject: [X3D-Public] NEW: CREATE3000 introduces free Titania X3D Browser and Editor for Ubuntu Message-ID: Hi Dough, Titania has an Outline Editor where routes are shown can be connected and edited. The Outline Editor is a tree graph of the scene graph where all nodes and fields are shown. Direct beside the fields there are connectors where routes can be established. You can simply click on an input connector field and on an output connector field to establish a route. Hold down the Ctrl-Key and click on a connector field (small arrows) to delete a route again. You can highlight a route by clicking on the small arrow beside the connector fields. More information and images how routes can be established can you find at?http://titania.create3000.de/documentation/creating-routes-between-fields/ Von Samsung Mobile gesendet
-------- Urspr?ngliche Nachricht --------
Von: doug sanden
Datum:14.10.2014 18:12 (GMT+01:00)
An: Holger Seelig , x3d-public at web3d.org
Betreff: RE: [X3D-Public] NEW: CREATE3000 introduces free Titania X3D Browser and Editor for Ubuntu
Looks great! Very professional, nice icons, screenshots look great and I even love the name .. and a bug report facility?! Keep up the great work. -Doug > *** TITANIA FIRST PUBLIC ANNOUNCEMENT *** TITANIA FIRST PUBLIC > ANNOUNCEMENT *** > > Leipzig 14. October 2014: Titania is a new, free, open source X3D > browser and authoring tool primary for the Ubuntu platform, that allows > 3D developers easy and fast creation of 3d scenes and applications. Have > a look at http://titania.create3000.de for first impressions how Titania > plays on Ubuntu. > > All information, help with download and installation on Ubuntu, user > guide for the first steps, can be found on the website > http://titania.create3000.de. > > The German 3D software developer, Holger Seelig from Leipzig has > contributed after four years of development the version 0.7.4 of > Titania, an authoring tool, which enables to create interactive and > multimedia internet ready content. This tool will sustainably accelerate > and make it less difficult to generate interactive content of successful > operating scenes and application. Even ?Non 3D Realtime -Specialists? > are in the position to generate 3D Realtime applications for the use in > the internet. > > The Titania Editor is build on top of the Titania Browser which is fully > integrated within the authoring tool. Titania supports for this early > release X3D XML Encoded files and VRML Classic Encoded files. Beside > this it comes with a tiny command line tool ?x3dtidy? a X3D/VRML > beautifier and converter. > > CREATE3000 is in search of testers for Titania. The source code is > hosted on Launchpad https://launchpad.net/titania where bug can be > reported too. Don't think twice and please report any bugs you found > at https://bugs.launchpad.net/titania. This will help make Titania more > robust, more stable and more comfortable. > > Visit the Titania website at http://titania.create3000.de to get > complete version details and component/node support. > > Thank you for reading this article. > > *** TITANIA FIRST PUBLIC ANNOUNCEMENT *** TITANIA FIRST PUBLIC > ANNOUNCEMENT *** > > -- > Holger Seelig > Mediengestalter Digital ? Digital Media Designer > > Scheffelstra?e 31a > 04277 Leipzig > > Telefon: 01577 147 26 11 > E-Mail: holger.seelig at yahoo.de > > _______________________________________________ > 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 Wed Oct 15 09:46:21 2014 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 15 Oct 2014 09:46:21 -0700 Subject: [X3D-Public] [x3dom-developers] X3D's JSON Encoding - who can work on X3DOM loader? In-Reply-To: References: <53F57DFB.2060805@realism.com> <5431EA30.90007@nps.edu> Message-ID: <543EA4DD.3010102@nps.edu> On 10/8/2014 7:03 AM, Nicholas Polys wrote: > Thanks to the X3D WG for looking into this! we've got something now... > It sounds like Johannes has some design experience and suggestions....? > I did some searching on json X3DOM for examples and existing work: yes let's continue... > http://www.x3dom.org/x3dom/test/regression-suite/node_modules/request/node_modules/json-stringify-safe/ looks like it serializes JSON to string > http://www.x3dom.org/x3dom/test/regression-suite/node_modules/selenium-webdriver/lib/goog/json/ looks useful. "Tests if a string is an invalid JSON string. This only ensures that we are not using any invalid characters" > http://jsfiddle.net/jcarlile/9U7Bf/ yep this is super, live testing/hacking in the browser. wondering if it works with X3DOM? > XML3D fyi > http://xml3d.github.io/xml3d-examples/ > http://xml3d.github.io/xml3d-examples/examples/suzanne/suzanne.html very good. looks like XML3D has a JSON: http://xml3d.github.io/xml3d-examples/examples/suzanne/suzanne.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 brutzman at nps.edu Wed Oct 15 09:54:21 2014 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 15 Oct 2014 09:54:21 -0700 Subject: [X3D-Public] [x3dom-developers] X3D's JSON Encoding - who can work on X3DOM loader? In-Reply-To: <543EA4DD.3010102@nps.edu> References: <53F57DFB.2060805@realism.com> <5431EA30.90007@nps.edu> <543EA4DD.3010102@nps.edu> Message-ID: <543EA6BD.6070608@nps.edu> On 10/15/2014 9:46 AM, Don Brutzman wrote: > On 10/8/2014 7:03 AM, Nicholas Polys wrote: > >> http://jsfiddle.net/jcarlile/9U7Bf/ > > yep this is super, live testing/hacking in the browser. wondering if it works with X3DOM? oh duh... i pushed the "add 100" button, voila it is x3dom! image attached. 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: jsFiddle.png Type: image/png Size: 128189 bytes Desc: not available URL: From newsletter at wildpeaks.fr Thu Oct 16 09:09:58 2014 From: newsletter at wildpeaks.fr (Cecile Muller) Date: Thu, 16 Oct 2014 18:09:58 +0200 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <543C2C6C.6000900@nps.edu> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> <543C2C6C.6000900@nps.edu> Message-ID: Hi Don, > a. how is > "_type": "Shape", > > different than > "Shape": [ > > The "_type" doesn't add any information per se. The main reason is because it results in less deeply nested structures. The full reply (which was a bit too long for an email) is posted there: https://github.com/wildpeaks/json-scenegraph/issues/1 > b. how is > translation: _data.translation || [0, 0, 0], > > different than > > "@translation": [ 0, -2, 0 ], > Also wondering what the || (inclusive or) operator is doing there. It does not appear in the JSON specification. This appears to be a mix of JSON Data Interchange Format (ECMA-404) and javascript source. That part was just Javascript: it's not something that would be in the JSON file, just an example of an alternative way to make extra node types using an arbitrary 3D engine's own language; you can ignore that part if you want the full implementation inside JSON. > c. What precisely are > > "appearance": { > "material": { It's the container field. See you, Cecile -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Thu Oct 16 21:45:25 2014 From: brutzman at nps.edu (Don Brutzman) Date: Thu, 16 Oct 2014 21:45:25 -0700 Subject: [X3D-Public] X3D to VRML working with Matlab Simulink animation Message-ID: <54409EE5.8090602@nps.edu> Am happy to report that we have a very nice example showing the latest Matlab Simulink VR animation toolkit, which (after a number of years) is still using VRML. This demo is working well with an X3D scene translated to VRML. Example, simulation and support documentation online. Prerequisite: Matlab R2014B (released about a month ago). http://x3dgraphics.com/examples/X3dForAdvancedModeling/Matlab/ http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulink.wrl http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulink.x3d http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulink.html http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulink.png Simulink model, documentation and original example: http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulinkProject.slx http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulinkMatlabVRtoolExample.pdf Many thanks to Ben Cheng for all of the worthy work on this model, which adapts an example that accompanies Matlab. http://www.mathworks.com/help/sl3d/examples/bouncing-ball.html Also attached is a screen shot (with a slightly squished box) plus our wish list of tasks and opportunities for Mathworks to resume their progress with VR as a part of the Web3D Consortium and X3D community. We will keep this up to date online at http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/MathworksWishList.txt 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: BouncingBoxSimulink.png Type: image/png Size: 108019 bytes Desc: not available URL: -------------- next part -------------- 16 October 2014 X3D Recommendations for Mathworks Matlab is a tremendous tool for mathematics, science and engineering. Adding full support for X3D Graphics will make it even better. 1. Upgrade from VRML to also include support for Extensible 3D (X3D) Graphics International Standard, with no loss of backwards compatibility. 2. More examples showing X3D usage, both HTML5/X3D and video demonstrations. 3. Updated examples using X3DOM as a plugin-free approach for publishing user projects to the Web. Consider releasing Javascript library to allow Simulink to drive *any* X3D player and Web browser, in addition to the bundled VR Sink module that comes with the Matlab Simulink 3D Animation toolbox. 4. Update scene authoring support, and add connections to utilize the many X3D Quality Assurance (QA) tools for content corrctiness and validity. 5. Mathworks needs to join the Web3D Consortium to ensure that Matlab users have the best possible support from Web standards. 6. The X3D Community will be happy to provide help and support. Additional suggestions and questions are always welcome. Very respectfully, Don Brutzman Ph.D. brutzman at nps.edu This list of recommendations is maintained at http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/MathworksWishList.txt From brutzman at nps.edu Thu Oct 16 22:44:26 2014 From: brutzman at nps.edu (Don Brutzman) Date: Thu, 16 Oct 2014 22:44:26 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> <543C2C6C.6000900@nps.edu> Message-ID: <5440ACBA.6020106@nps.edu> On 10/16/2014 9:09 AM, Cecile Muller wrote: > Hi Don, > > >> a. how is >> "_type": "Shape", >> >> different than >> "Shape": [ >> >> The "_type" doesn't add any information per se. > > The main reason is because it results in less deeply nested structures. > The full reply (which was a bit too long for an email) is posted there: > https://github.com/wildpeaks/json-scenegraph/issues/1 Wow very interesting Cecile. Something that jumps out is when you say "How would you make a Group that contains a Shape, a Transform and another Shape ? It can't be the following because an Object can't define property Shape twice" That is indeed a serious constraint, if it is indeed correct - that wasn't clear about Javascript. (got a reference?) Wondering then, what about your repeated use of "_type", isn't that the same sort of repetition as repeating "Shape" and "Transform" ? "_type": "Shape" ... }, { "_type": "Transform" ... }, { "_type": "Shape" pending that answer, wondering then whether this slight variation using field name (containerField) is an alternative option: "_children": "Shape" ... }, { "_children": "Transform" ... }, { "_children": "Shape" >> b. how is >> translation: _data.translation || [0, 0, 0], >> >> different than >> >> "@translation": [ 0, -2, 0 ], >> Also wondering what the || (inclusive or) operator is doing there. It does not appear in the JSON specification. This appears to be a mix of JSON Data Interchange Format (ECMA-404) and javascript source. > > That part was just Javascript: it's not something that would be in the JSON file, just an example of an alternative way to make extra node types using an arbitrary 3D engine's own language; you can ignore that part if you want the full implementation inside JSON. very good, that's what I thought you were doing, thanks for confirming. >> c. What precisely are >> >> "appearance": { >> "material": { > > It's the container field. OK. Not decapitalized Node name. But essentially the same information regardless. Guess that gets us back to the first example above. 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 Thu Oct 16 22:50:10 2014 From: brutzman at nps.edu (Don Brutzman) Date: Thu, 16 Oct 2014 22:50:10 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <543C2C6C.6000900@nps.edu> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> <543C2C6C.6000900@nps.edu> Message-ID: <5440AE12.1060505@nps.edu> abject pleading follows 8) On 10/13/2014 12:47 PM, Don Brutzman wrote: > [...] > d. still not seeing an X3DOM example of JSON.parse() and .json scene (though have asked several times). > > as before, if X3DOM has an internal X3D model with corresponding parsable JSON, that will be very helpful. > > is anything online, hopefully showing loading and parsing? > > if not, OK. even draft-y or different-ish examples will likely aid understanding. > > i think that the current HelloWorld.json example seems perfectly parsable already, and it would be good to see how much close the result is to how X3DOM works. It would be great if someone experienced could uncover or spin together some kind of JSON.parse() conversion code that loads the attached .json syntax into X3DOM. This will get some good visibility at the VR Hackathon this weekend, all contributions welcome and will be fully credited. Of course am willing to vary the encoding pattern if that helps simplify the loading - that is the whole goal, find the right balance. Not sure our Javascript skills are up to the task, but we will struggle with it. :0 Thanks for any help. 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 -------------- { "#comment": "Example scene to illustrate X3D nodes and fields (XML elements and attributes)", "Group": [ { "Viewpoint": { "@DEF": "ViewUpClose", "@centerOfRotation": [ 0, -1, 0 ], "@description": "Hello world!", "@position": [ 0, -1, 7 ] }, "Transform": [ { "@rotation": [ 0, 1, 0, 3 ], "Shape": [ { "Sphere": { }, "Appearance": [ { "#comment": "added transparency value to test JSON conversion of single number", "Material": { "@DEF": "MaterialLightBlue", "@diffuseColor": [ 0.1, 0.5, 1 ], "@transparency": 0.1 }, "ImageTexture": { "@DEF": "ImageCloudlessEarth", "@url": [ "earth-topo.png", "earth-topo.jpg", "earth-topo-small.gif", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.png", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.jpg", "http://www.web3d.org/x3d/content/examples/Basic/earth-topo-small.gif" ] } } ] } ] } ], "Transform": [ { "@translation": [ 0, -2, 0 ], "Shape": [ { "Text": [ { "@DEF": "TextMessage", "@string": [ "Hello", "world!" ], "FontStyle": { "@justify": [ "MIDDLE", "MIDDLE" ] } } ], "Appearance": [ { "Material": { "@USE": "MaterialLightBlue" } } ] } ] } ] } ] } From Danek at humusoft.cz Fri Oct 17 02:09:03 2014 From: Danek at humusoft.cz (Jan Danek) Date: Fri, 17 Oct 2014 11:09:03 +0200 Subject: [X3D-Public] X3D to VRML working with Matlab Simulink animation In-Reply-To: <54409EE5.8090602@nps.edu> References: <54409EE5.8090602@nps.edu> Message-ID: <5440DCAF.24051.5B076EB@Danek.humusoft.cz> Dear Don and all, Glad to see that you appreciate connection of MATLAB / Simulink to the VR world - thanks for your continuing support! Your wish list quite matches our plans, and of course there are more plans... We understand importance of X3D, also on our list. We have already done few things from the list: - In addition to Orbisnap, our multi-platform free standalone viewer, we now support any HTML5, X3DOM -enabled Browser. Just enter "localhost:8123" in the address line while you have some Simulink 3D Animation model open / running. The bi-directional connection works also across the network. The Inverted Pendulum example 'vrpend' shows how you can set the setpoint using sensors from a browser (enable Interactive mode in the context menu). - 3D World Editor for authoring virtual worlds With MATLAB behind, the editor offers also geometry optimization (polygon reduction) Current set of features summed here: http://www.mathworks.com/products/3d-animation/features.html Some more examples showing various aspects of MATLAB / Simulink interaction: http://www.mathworks.com/examples/3d-animation Some videos here: http://www.mathworks.com/products/3d-animation/videos.html Have fun with Simulink 3D Animation! With Best Regards, Jan > Am happy to report that we have a very nice example showing the latest Matlab Simulink VR animation toolkit, which (after a number of years) is still using VRML. This demo is working well with an X3D scene translated to VRML. > > Example, simulation and support documentation online. Prerequisite: Matlab R2014B (released about a month ago). > > http://x3dgraphics.com/examples/X3dForAdvancedModeling/Matlab/ > http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulink.wrl > http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulink.x3d > http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulink.html > http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulink.png > > Simulink model, documentation and original example: > http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulinkProject.slx > http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/BouncingBoxSimulinkMatlabVRtoolExample.pdf > > Many thanks to Ben Cheng for all of the worthy work on this model, which adapts an example that accompanies Matlab. > http://www.mathworks.com/help/sl3d/examples/bouncing-ball.html > > Also attached is a screen shot (with a slightly squished box) plus our wish list of tasks and opportunities for Mathworks to resume their progress with VR as a part of the Web3D Consortium and X3D community. We will keep this up to date online at > http://x3dGraphics.com/examples/X3dForAdvancedModeling/Matlab/MathworksWishList.txt > > 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 > -- ----------------------------------------------------------- Jan Danek danek at humusoft.com Managing Director http://www.humusoft.com HUMUSOFT s.r.o., Pobrezni 20, 186 00 Praha, Czech Republic Tel: +420 2 84011730 Direct Tel: +420 2 84011746 Fax: +420 2 84011740 ----------------------------------------------------------- From newsletter at wildpeaks.fr Fri Oct 17 07:13:21 2014 From: newsletter at wildpeaks.fr (Cecile Muller) Date: Fri, 17 Oct 2014 16:13:21 +0200 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <5440ACBA.6020106@nps.edu> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> <543C2C6C.6000900@nps.edu> <5440ACBA.6020106@nps.edu> Message-ID: Hi Don, > Something that jumps out is when you say "How would you make a Group that contains a Shape, a Transform and another Shape ? > It can't be the following because an Object can't define property Shape twice". > > That is indeed a serious constraint, if it is indeed correct - that wasn't clear about Javascript. (got a reference?) Imagine this Javascript code: var myobj = { "value": 1, "value": 2, "value": 3 }; What would you expect the value of "myobj.value" to be ? Maybe it's 1, maybe it's 3 (most likely), maybe it's neither because it threw an exception because the property is already defined. Regardless of the result, some of the information get lost; therefore if something needs multiple values, it's safer to use an Array instead. > Wondering then, what about your repeated use of "_type", isn't that the same sort of repetition as repeating "Shape" and "Transform" ? Using property "Shape" would require an extra Object between the Array and the object that contains the shape fields to be able to use a key/value pair. Longer reply with code samples: https://github.com/wildpeaks/json-scenegraph/issues/3 > wondering then whether this slight variation using field name (containerField) is an alternative option: > "_children": "Shape" > ... > }, > { > "_children": "Transform" > ... > }, > { > "_children": "Shape" It would have two downsides: - SFNode gets written a different way based on where it is in the scenegraph - you can't know the list of nodes in a given field unless you parse the whole list of nodes Longer reply with code samples: https://github.com/wildpeaks/json-scenegraph/issues/4 See you, Cecile -------------- next part -------------- An HTML attachment was scrubbed... URL: From brutzman at nps.edu Fri Oct 17 11:25:22 2014 From: brutzman at nps.edu (Don Brutzman) Date: Fri, 17 Oct 2014 11:25:22 -0700 Subject: [X3D-Public] got origami swan/crane model? Message-ID: <54415F12.8040908@nps.edu> Am hoping to make an origami swan/crane model, similar to the following but unrestricted. http://www.3dcadbrowser.com/download.aspx?3dmodel=8573 http://www.turbosquid.com/3d-model/art-and-media/origami Does anybody have (or know of) such a model? X3D preferred but pretty much any format is OK, can then use a converter. TIA for all responses. 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 yvonne.jung at igd.fraunhofer.de Sat Oct 18 11:51:12 2014 From: yvonne.jung at igd.fraunhofer.de (Jung, Yvonne) Date: Sat, 18 Oct 2014 18:51:12 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <25938C76-25A0-4F50-A05B-1B166DDE156F@gmail.com> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> <543C2C6C.6000900@nps.edu> <5440AE12.1060505@nps.edu> <25938C76-25A0-4F50-A05B-1B166DDE156F@gmail.com> Message-ID: <8C48EDB9D0E0C942837FF80FC463C70125792FA9@EXMBS1.ad.igd.fraunhofer.de> Hi, just wrote a very small test that instead dumps a given scene as JSON to the Browser console (ignore __proto__, this is always there in JS, should be skipped when serializing). Here is the example (click the ?dump? button and see the result in the console): http://www.x3dom.org/x3dom/test/functional/flipper.html This is because I think, it might be easier to start the other way round: the X3DOM runtime already has all information for creating some test JSONs. The export could then be refined/optimized based on some tests and from that, a first and easy to integrate draft could be derived. What do you think? Best, Yvonne Von: Clayton Cottingham [mailto:drfrog666 at gmail.com] Gesendet: Samstag, 18. Oktober 2014 19:14 An: Don Brutzman; Behr, Johannes; Kristian Sons; Cecile Muller; Jung, Yvonne Cc: x3d-public mlist; x3dom-developer mlist Betreff: Re: [x3dom-developers] [X3D-Public] initial X3D JSON conversion support using X3dToJson.xslt Ive been looking into this but stumbling on how to re-initialize the x3dom runtime after updating the x3don scene On 16 October, 2014 10:50:10 PM PDT, Don Brutzman > wrote: abject pleading follows 8) On 10/13/2014 12:47 PM, Don Brutzman wrote: [...] d. still not seeing an X3DOM example of JSON.parse() and .json scene (though have asked several times). as before, if X3DOM has an internal X3D model with corresponding parsable JSON, that will be very helpful. is anything online, hopefully showing loading and parsing? if not, OK. even draft-y or different-ish examples will likely aid understanding. i think that the current HelloWorld.json example seems perfectly parsable already, and it would be good to see how much close the result is to how X3DOM works. It would be great if someone experienced could uncover or spin together some kind of JSON.parse() conversion code that loads the attached .json syntax into X3DOM. This will get some good visibility at the VR Hackathon this weekend, all contributions welcome and will be fully credited. Of course am willing to vary the encoding pattern if that helps simplify the loading - that is the whole goal, find the right balance. Not sure our Javascript skills are up to the task, but we will struggle with it. :0 Thanks for any help. all the best, Don -- Sent from my Android -------------- next part -------------- An HTML attachment was scrubbed... URL: From johannes.behr at igd.fraunhofer.de Sat Oct 18 13:39:52 2014 From: johannes.behr at igd.fraunhofer.de (Behr, Johannes) Date: Sat, 18 Oct 2014 20:39:52 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <8C48EDB9D0E0C942837FF80FC463C70125792FA9@EXMBS1.ad.igd.fraunhofer.de> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> <543C2C6C.6000900@nps.edu> <5440AE12.1060505@nps.edu> <25938C76-25A0-4F50-A05B-1B166DDE156F@gmail.com> <8C48EDB9D0E0C942837FF80FC463C70125792FA9@EXMBS1.ad.igd.fraunhofer.de> Message-ID: <1B4251E9-CA3F-4BC0-A5EA-F41CA6CA35FD@igd.fraunhofer.de> Hi Yvonne, > just wrote a very small test that instead dumps a given scene as JSON to the Browser console (ignore __proto__, this is always there in JS, should be skipped when serializing). Here is the example (click the ?dump? button and see the result in the console): http://www.x3dom.org/x3dom/test/functional/flipper.html This is interesting. But the "children" container ins "Scene" is empty ?!? Best regards Johannes > This is because I think, it might be easier to start the other way round: the X3DOM runtime already has all information for creating some test JSONs. The export could then be refined/optimized based on some tests and from that, a first and easy to integrate draft could be derived. What do you think? > Best, Yvonne > > > Von: Clayton Cottingham [mailto:drfrog666 at gmail.com] > Gesendet: Samstag, 18. Oktober 2014 19:14 > An: Don Brutzman; Behr, Johannes; Kristian Sons; Cecile Muller; Jung, Yvonne > Cc: x3d-public mlist; x3dom-developer mlist > Betreff: Re: [x3dom-developers] [X3D-Public] initial X3D JSON conversion support using X3dToJson.xslt > > Ive been looking into this but stumbling on how to re-initialize the x3dom runtime after updating the x3don scene > > On 16 October, 2014 10:50:10 PM PDT, Don Brutzman wrote: > abject pleading follows 8) > > On 10/13/2014 12:47 PM, Don Brutzman wrote: > [...] > d. still not seeing an X3DOM example of JSON.parse() and .json scene (though have asked several times). > > as before, if X3DOM has an internal X3D model with corresponding parsable JSON, that will be very helpful. > > is anything online, hopefully showing loading and parsing? > > if not, OK. even draft-y or different-ish examples will likely aid understanding. > > i think that the current HelloWorld.json example seems perfectly parsable already, and it would be good to see how much close the result is to how X3DOM works. > > It would be great if someone experienced could uncover or spin together some kind of JSON.parse() conversion code that loads the attached .json syntax into X3DOM. > > This will get some good visibility at the VR Hackathon this weekend, all contributions welcome and will be fully credited. > > Of course am willing to vary the encoding pattern if that helps simplify the loading - that is the whole goal, find the right balance. > > Not sure our Javascript skills are up to the task, but we will struggle with it. :0 > > Thanks for any help. > > all the best, Don > > -- > Sent from my Android --- Dr. Johannes Behr Head of Department: Visual Computing System Technologies Fraunhofer-Institut f?r Graphische Datenverarbeitung IGD Fraunhoferstr. 5 | 64283 Darmstadt | Germany Tel +49 6151 155-510 | Fax +49 6151 155-196 johannes.behr at igd.fraunhofer.de | www.igd.fraunhofer.de From yvonne.jung at igd.fraunhofer.de Sat Oct 18 13:45:04 2014 From: yvonne.jung at igd.fraunhofer.de (Jung, Yvonne) Date: Sat, 18 Oct 2014 20:45:04 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <1B4251E9-CA3F-4BC0-A5EA-F41CA6CA35FD@igd.fraunhofer.de> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> <543C2C6C.6000900@nps.edu> <5440AE12.1060505@nps.edu> <25938C76-25A0-4F50-A05B-1B166DDE156F@gmail.com> <8C48EDB9D0E0C942837FF80FC463C70125792FA9@EXMBS1.ad.igd.fraunhofer.de>, <1B4251E9-CA3F-4BC0-A5EA-F41CA6CA35FD@igd.fraunhofer.de> Message-ID: <8C48EDB9D0E0C942837FF80FC463C7012579418B@EXMBS1.ad.igd.fraunhofer.de> Hi, no, it contains an array, just click on the small arrow to see the children. ________________________________________ Von: Behr, Johannes Gesendet: Samstag, 18. Oktober 2014 22:39 An: Jung, Yvonne Cc: Clayton Cottingham; Don Brutzman; Kristian Sons; Cecile Muller; x3d-pulbic mlist; x3dom-developer mlist Betreff: Re: [x3dom-developers] [X3D-Public] initial X3D JSON conversion support using X3dToJson.xslt Hi Yvonne, > just wrote a very small test that instead dumps a given scene as JSON to the Browser console (ignore __proto__, this is always there in JS, should be skipped when serializing). Here is the example (click the ?dump? button and see the result in the console): http://www.x3dom.org/x3dom/test/functional/flipper.html This is interesting. But the "children" container ins "Scene" is empty ?!? Best regards Johannes > This is because I think, it might be easier to start the other way round: the X3DOM runtime already has all information for creating some test JSONs. The export could then be refined/optimized based on some tests and from that, a first and easy to integrate draft could be derived. What do you think? > Best, Yvonne > > > Von: Clayton Cottingham [mailto:drfrog666 at gmail.com] > Gesendet: Samstag, 18. Oktober 2014 19:14 > An: Don Brutzman; Behr, Johannes; Kristian Sons; Cecile Muller; Jung, Yvonne > Cc: x3d-public mlist; x3dom-developer mlist > Betreff: Re: [x3dom-developers] [X3D-Public] initial X3D JSON conversion support using X3dToJson.xslt > > Ive been looking into this but stumbling on how to re-initialize the x3dom runtime after updating the x3don scene > > On 16 October, 2014 10:50:10 PM PDT, Don Brutzman wrote: > abject pleading follows 8) > > On 10/13/2014 12:47 PM, Don Brutzman wrote: > [...] > d. still not seeing an X3DOM example of JSON.parse() and .json scene (though have asked several times). > > as before, if X3DOM has an internal X3D model with corresponding parsable JSON, that will be very helpful. > > is anything online, hopefully showing loading and parsing? > > if not, OK. even draft-y or different-ish examples will likely aid understanding. > > i think that the current HelloWorld.json example seems perfectly parsable already, and it would be good to see how much close the result is to how X3DOM works. > > It would be great if someone experienced could uncover or spin together some kind of JSON.parse() conversion code that loads the attached .json syntax into X3DOM. > > This will get some good visibility at the VR Hackathon this weekend, all contributions welcome and will be fully credited. > > Of course am willing to vary the encoding pattern if that helps simplify the loading - that is the whole goal, find the right balance. > > Not sure our Javascript skills are up to the task, but we will struggle with it. :0 > > Thanks for any help. > > all the best, Don > > -- > Sent from my Android --- Dr. Johannes Behr Head of Department: Visual Computing System Technologies Fraunhofer-Institut f?r Graphische Datenverarbeitung IGD Fraunhoferstr. 5 | 64283 Darmstadt | Germany Tel +49 6151 155-510 | Fax +49 6151 155-196 johannes.behr at igd.fraunhofer.de | www.igd.fraunhofer.de From brutzman at nps.edu Sat Oct 18 20:10:14 2014 From: brutzman at nps.edu (Don Brutzman) Date: Sat, 18 Oct 2014 20:10:14 -0700 Subject: [X3D-Public] [x3dom-developers] X3D Schema updates, autogenerating Java SAI appendices, node inventory update In-Reply-To: <5431E277.4070206@nps.edu> References: <5431E277.4070206@nps.edu> Message-ID: <54432B96.4010003@nps.edu> Updates are posted to the Java Language Binding appendices incorporating all current comments. We expect to declare the current Committee Draft update effort compete during our weekly meeting next week. Last call for comments on this round, please. Current official specification: http://www.web3d.org/documents/specifications/19777-2/V3.0/Part2/X3D_Java.html New links: http://www.web3d.org/specifications/#AutogeneratedProducts http://www.web3d.org/specifications/JavaLanguageBinding/Part2/abstracts.html http://www.web3d.org/specifications/JavaLanguageBinding/Part2/concretes.html TODO status: ============================================ Annex B Abstract node interfaces http://www.web3d.org/specifications/JavaLanguageBinding/Part2/abstracts.html#TODO TODO. Continue node signature verification and best-practice design patterns. DONE. Sections for Annex B.1 B.2 B.3 and B.4 are mostly done. Need to be re-verified to ensure that no side effects have crept in during incremental development. DONE. Original code sections for Annex B.4.1 through B.4.6 needs to be inserted. DONE. Original prose sections for Annex B.5 B.6 and B.7 has been inserted. ============================================ Annex C Concrete node interfaces http://www.web3d.org/specifications/JavaLanguageBinding/Part2/concretes.html#TODO TODO. Continue node signature verification and best-practice design patterns. DONE. Much work has been accomplished in the schema to capture accessType inputOnly, initializeOnly, outputOnly field information in a way that is readable by tools but does not interfere with XML schema validation of X3D scenes. DONE. The node-generation blocks are successfully creating Annex C - Concrete node interfaces. A full set of additions to the X3D Schema now include inputOnly/outputOnly/SFNode/MFNode fields as appinfo entries. X3D version 3.3 is being used to generate the clause. DONE. When X3D v3.3 Schema corrections are complete, insert modifications into X3D v3.2 v3.1 and v3.0. Changes are checked in when publication checks and regression testing are complete. TODO. The node-generation blocks will be adapted to create a package of actual source-code interfaces for compilation validation. This will help tools and authors looking for a lightweight way to compile Script code written in Java. TODO. Get geoOrigin warning to appear. Refactor repetitive code for warnings. TODO. DEF/USE handling. ============================================ On 10/5/2014 5:29 PM, Don Brutzman wrote: > Lots of useful updates can be found on the X3D Specifications: XML Schema and DOCTYPE Validation page. > [...] > b. The X3D Java Scene Access Interface (SAI) appendices are now being autogenerated. > > http://www.web3d.org/specifications/#AutogeneratedProducts > > * Annex B Abstract node Interfaces > http://www.web3d.org/specifications/stylesheets/JavaLanguageBinding.Part2.abstracts.html > > * Annex C Concrete node interfaces > http://www.web3d.org/specifications/stylesheets/JavaLanguageBinding.Part2.concretes.html > > The current X3D Java Binding specification is online at > http://www.web3d.org/standards/recommended > http://www.web3d.org/documents/specifications/19777-2/V3.0/Part2/X3D_Java.html > > These will get submitted as part of a Java SAI Committee Draft (CD) update to ISO following working-group discussion, likely topic during this Wednesday's teleconference. > > Review feedback on the interface patterns will be welcome - we probably should schedule a teleconference on this. Revisions are easily incorporated for consensus points. > > c. Future TODO: autogenerating independent source interfaces. > > The node-generation blocks will someday be adapted to create a package of actual source-code interfaces for compilation validation. This will help tools and authors looking for a lightweight way to compile Script code written in Java. > > The review of best practices will be done in comparison to the Xj3D interfaces. Changes should be vetted by implementation and evaluation. Currently there are some variations in there that deserve further analysis. > https://savage.nps.edu/Xj3D.nps/docs/javadoc > > Further Xj3D development information is available at > https://savage.nps.edu/Savage/developers.html#Xj3D > http://www.web3d.org/wiki/index.php/Xj3D_Evolution 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 yvonne.jung at igd.fraunhofer.de Sun Oct 19 02:21:01 2014 From: yvonne.jung at igd.fraunhofer.de (Jung, Yvonne) Date: Sun, 19 Oct 2014 09:21:01 +0000 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <8C48EDB9D0E0C942837FF80FC463C7012579418B@EXMBS1.ad.igd.fraunhofer.de> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> <543C2C6C.6000900@nps.edu> <5440AE12.1060505@nps.edu> <25938C76-25A0-4F50-A05B-1B166DDE156F@gmail.com> <8C48EDB9D0E0C942837FF80FC463C70125792FA9@EXMBS1.ad.igd.fraunhofer.de>, <1B4251E9-CA3F-4BC0-A5EA-F41CA6CA35FD@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C7012579418B@EXMBS1.ad.igd.fraunhofer.de> Message-ID: <8C48EDB9D0E0C942837FF80FC463C70125794567@EXMBS1.ad.igd.fraunhofer.de> There was indeed some inconsistency, just fixed it and also added a stringified dump. If you copy this to / validate with http://jsonlint.com/ then you can easily generate some live JSON for discussion, though I'd try it out with some more files than only the flipper... > -----Urspr?ngliche Nachricht----- > Von: Jung, Yvonne [mailto:yvonne.jung at igd.fraunhofer.de] > Gesendet: Samstag, 18. Oktober 2014 22:45 > An: Behr, Johannes > Cc: Kristian Sons; x3d-pulbic mlist; x3dom-developer mlist; Cecile Muller > Betreff: Re: [x3dom-developers] [X3D-Public] initial X3D JSON conversion > support using X3dToJson.xslt > > Hi, no, it contains an array, just click on the small arrow to see the children. > > ________________________________________ > Von: Behr, Johannes > Gesendet: Samstag, 18. Oktober 2014 22:39 > An: Jung, Yvonne > Cc: Clayton Cottingham; Don Brutzman; Kristian Sons; Cecile Muller; x3d-pulbic > mlist; x3dom-developer mlist > Betreff: Re: [x3dom-developers] [X3D-Public] initial X3D JSON conversion > support using X3dToJson.xslt > > Hi Yvonne, > > > just wrote a very small test that instead dumps a given scene as JSON > > to the Browser console (ignore __proto__, this is always there in JS, > > should be skipped when serializing). Here is the example (click the > > "dump" button and see the result in the console): > > http://www.x3dom.org/x3dom/test/functional/flipper.html > > This is interesting. But the "children" container ins "Scene" is empty ?!? > > Best regards > Johannes > > > This is because I think, it might be easier to start the other way round: the > X3DOM runtime already has all information for creating some test JSONs. The > export could then be refined/optimized based on some tests and from that, a > first and easy to integrate draft could be derived. What do you think? > > Best, Yvonne > > > > > > Von: Clayton Cottingham [mailto:drfrog666 at gmail.com] > > Gesendet: Samstag, 18. Oktober 2014 19:14 > > An: Don Brutzman; Behr, Johannes; Kristian Sons; Cecile Muller; Jung, > > Yvonne > > Cc: x3d-public mlist; x3dom-developer mlist > > Betreff: Re: [x3dom-developers] [X3D-Public] initial X3D JSON > > conversion support using X3dToJson.xslt > > > > Ive been looking into this but stumbling on how to re-initialize the > > x3dom runtime after updating the x3don scene > > > > On 16 October, 2014 10:50:10 PM PDT, Don Brutzman > wrote: > > abject pleading follows 8) > > > > On 10/13/2014 12:47 PM, Don Brutzman wrote: > > [...] > > d. still not seeing an X3DOM example of JSON.parse() and .json scene > (though have asked several times). > > > > as before, if X3DOM has an internal X3D model with corresponding parsable > JSON, that will be very helpful. > > > > is anything online, hopefully showing loading and parsing? > > > > if not, OK. even draft-y or different-ish examples will likely aid > understanding. > > > > i think that the current HelloWorld.json example seems perfectly parsable > already, and it would be good to see how much close the result is to how > X3DOM works. > > > > It would be great if someone experienced could uncover or spin together > some kind of JSON.parse() conversion code that loads the attached .json syntax > into X3DOM. > > > > This will get some good visibility at the VR Hackathon this weekend, all > contributions welcome and will be fully credited. > > > > Of course am willing to vary the encoding pattern if that helps simplify the > loading - that is the whole goal, find the right balance. > > > > Not sure our Javascript skills are up to the task, but we will struggle with it. > :0 > > > > Thanks for any help. > > > > all the best, Don > > > > -- > > Sent from my Android > > --- > Dr. Johannes Behr > Head of Department: Visual Computing System Technologies Fraunhofer- > Institut f?r Graphische Datenverarbeitung IGD Fraunhoferstr. 5 | 64283 > Darmstadt | Germany Tel +49 6151 155-510 | Fax +49 6151 155-196 > johannes.behr at igd.fraunhofer.de | www.igd.fraunhofer.de > > > ------------------------------------------------------------------------------ > Comprehensive Server Monitoring with Site24x7. > Monitor 10 servers for $9/Month. > Get alerted through email, SMS, voice calls or mobile push notifications. > Take corrective actions from your mobile device. > http://p.sf.net/sfu/Zoho > _______________________________________________ > x3dom-developers mailing list > x3dom-developers at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/x3dom-developers From brutzman at nps.edu Sun Oct 19 19:30:31 2014 From: brutzman at nps.edu (Don Brutzman) Date: Sun, 19 Oct 2014 19:30:31 -0700 Subject: [X3D-Public] [x3dom-developers] initial X3D JSON conversion support using X3dToJson.xslt In-Reply-To: <8C48EDB9D0E0C942837FF80FC463C70125792FA9@EXMBS1.ad.igd.fraunhofer.de> References: <5435572A.1020206@nps.edu> <54356631.6070509@nps.edu> <08A7610A-37EC-45D4-B1CF-8D9A691A8552@igd.fraunhofer.de> <8C48EDB9D0E0C942837FF80FC463C701257803AC@EXMBS1.ad.igd.fraunhofer.de> <54377525.5030105@nps.edu> <966F848A-8E4E-4BB1-92A8-F03F22274E54@igd.fraunhofer.de> <543B8FFF.5070403@dfki.de> <81B55683-3FDF-4122-A484-B526F0EEB926@igd.fraunhofer.de> <543C2C6C.6000900@nps.edu> <5440AE12.1060505@nps.edu> <25938C76-25A0-4F50-A05B-1B166DDE156F@gmail.com> <8C48EDB9D0E0C942837FF80FC463C70125792FA9@EXMBS1.ad.igd.fraunhofer.de> Message-ID: <544473C7.6010108@nps.edu> really great Yvonne! Here is a snapshot, will study it closely. On 10/18/2014 11:51 AM, Jung, Yvonne wrote: > Hi, > > just wrote a very small test that instead dumps a given scene as JSON to the Browser console (ignore __proto__, this is always there in JS, should be skipped when serializing). Here is the example (click the ?dump? button and see the result in the console): http://www.x3dom.org/x3dom/test/functional/flipper.html > > This is because I think, it might be easier to start the other way round: the X3DOM runtime already has all information for creating some test JSONs. The export could then be refined/optimized based on some tests and from that, a first and easy to integrate draft could be derived. What do you think? > > Best, Yvonne > > *Von:*Clayton Cottingham [mailto:drfrog666 at gmail.com] > *Gesendet:* Samstag, 18. Oktober 2014 19:14 > *An:* Don Brutzman; Behr, Johannes; Kristian Sons; Cecile Muller; Jung, Yvonne > *Cc:* x3d-public mlist; x3dom-developer mlist > *Betreff:* Re: [x3dom-developers] [X3D-Public] initial X3D JSON conversion support using X3dToJson.xslt > > Ive been looking into this but stumbling on how to re-initialize the x3dom runtime after updating the x3don scene > > On 16 October, 2014 10:50:10 PM PDT, Don Brutzman > wrote: > > abject pleading follows 8) > > On 10/13/2014 12:47 PM, Don Brutzman wrote: > > [...] > d. still not seeing an X3DOM example of JSON.parse() and .json scene (though have asked several times). > > as before, if X3DOM has an internal X3D model with corresponding parsable JSON, that will be very helpful. > > is anything online, hopefully showing loading and parsing? > > if not, OK. even draft-y or different-ish examples will likely aid understanding. > > i think that the current HelloWorld.json example seems perfectly parsable already, and it would be good to see how much close the result is to how X3DOM works. > > > It would be great if someone experienced could uncover or spin together some kind of JSON.parse() conversion code that loads the attached .json syntax into X3DOM. > > This will get some good visibility at the VR Hackathon this weekend, all contributions welcome and will be fully credited. > > Of course am willing to vary the encoding pattern if that helps simplify the loading - that is the whole goal, find the right balance. > > Not sure our Javascript skills are up to the task, but we will struggle with it. :0 > > Thanks for any help. > > all the best, Don > > > -- > Sent from my Android > 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: JsonX3domAnimatedDolphin.png Type: image/png Size: 257466 bytes Desc: not available URL: From brutzman at nps.edu Mon Oct 20 06:35:01 2014 From: brutzman at nps.edu (Don Brutzman) Date: Mon, 20 Oct 2014 06:35:01 -0700 Subject: [X3D-Public] web3d.org x3dom / WebGL now supported on iPad mini iOS 8.0.2 In-Reply-To: <54341A45.4000703@nps.edu> References: <54341A45.4000703@nps.edu> Message-ID: <54450F85.2080006@nps.edu> Here is another screenshot of the X3DOM globe found on web3d.org, running on yet another device. Hardware: iPad Mini iOS: Version 8.0.2 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: web3d.org.x3dom-ipad-mini.png Type: image/png Size: 456319 bytes Desc: not available URL: From holger.seelig at yahoo.de Mon Oct 20 09:34:28 2014 From: holger.seelig at yahoo.de (Holger Seelig) Date: Mon, 20 Oct 2014 18:34:28 +0200 Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform Message-ID: <54453994.1000100@yahoo.de> I cannot figure out what are the second and fourth argument of SFMatrix.getTransform are, the spec says: SFMatrix3f .setTransform setTransform (SFVec2f translation, SFVec3f rotation, SFVec2f scale, SFVec3f scaleOrientation, SFVec2f center) I can see that a SFVec3f should be used for the rotation arguments, but I don't know what the three values (x,y,z) stand for. To my understanding like the TexureTransform node a matrix3 rotation is only a simple float. I know that simple numbers cannot be passed by value to a JavaScript function. -- Holger Seelig Mediengestalter Digital ? Digital Media Designer Scheffelstra?e 31a 04277 Leipzig Telefon: 01577 147 26 11 E-Mail: holger.seelig at yahoo.de From highaspirations at hotmail.com Mon Oct 20 09:49:30 2014 From: highaspirations at hotmail.com (doug sanden) Date: Mon, 20 Oct 2014 10:49:30 -0600 Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform In-Reply-To: <54453994.1000100@yahoo.de> References: <54453994.1000100@yahoo.de> Message-ID: I think matrix3 is a 2D homogenous transform, much like matrix4 is a 3D homogenous transform. For 3D a rotation has 4 values: a 3D direction vector for the axis of rotation, and 4th value for the rotation angle about that axis. For matrix3 (2D), there would be something analogous, but with one less dimension. Likely 2 values xy for a point of rotation, and a 3rd value for the angle of rotation about that point. scale orientation in 2D would need a point and rotation. -Doug ---------------------------------------- > Date: Mon, 20 Oct 2014 18:34:28 +0200 > From: holger.seelig at yahoo.de > To: x3d-public at web3d.org > Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform > > I cannot figure out what are the second and fourth argument of > SFMatrix.getTransform are, the spec says: > > SFMatrix3f .setTransform setTransform (SFVec2f translation, > SFVec3f rotation, > SFVec2f scale, > SFVec3f scaleOrientation, > SFVec2f center) > > I can see that a SFVec3f should be used for the rotation arguments, but > I don't know what the three values (x,y,z) stand for. To my > understanding like the TexureTransform node a matrix3 rotation is only a > simple float. I know that simple numbers cannot be passed by value to a > JavaScript function. > > > -- > Holger Seelig > Mediengestalter Digital ? Digital Media Designer > > Scheffelstra?e 31a > 04277 Leipzig > > Telefon: 01577 147 26 11 > E-Mail: holger.seelig at yahoo.de > > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org From holger.seelig at yahoo.de Mon Oct 20 10:05:15 2014 From: holger.seelig at yahoo.de (Holger Seelig) Date: Mon, 20 Oct 2014 19:05:15 +0200 Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform Message-ID: A matrix3 is coordinate system in 2d space, that has a origin (the translation) and a rotation and a scale and scaleOrientation. You Doug says, the first two values of the SFVec3f should be the complex number of the rotation, from that complex number I can calculate an angle. Should this be the third value? Von Samsung Mobile gesendet
-------- Urspr?ngliche Nachricht --------
Von: doug sanden
Datum:20.10.2014 18:49 (GMT+01:00)
An: x3d-public at web3d.org
Betreff: Re: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform
I think matrix3 is a 2D homogenous transform, much like matrix4 is a 3D homogenous transform. For 3D a rotation has 4 values: a 3D direction vector for the axis of rotation, and 4th value for the rotation angle about that axis. For matrix3 (2D), there would be something analogous, but with one less dimension. Likely 2 values xy for a point of rotation, and a 3rd value for the angle of rotation about that point. scale orientation in 2D would need a point and rotation. -Doug ---------------------------------------- > Date: Mon, 20 Oct 2014 18:34:28 +0200 > From: holger.seelig at yahoo.de > To: x3d-public at web3d.org > Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform > > I cannot figure out what are the second and fourth argument of > SFMatrix.getTransform are, the spec says: > > SFMatrix3f .setTransform setTransform (SFVec2f translation, > SFVec3f rotation, > SFVec2f scale, > SFVec3f scaleOrientation, > SFVec2f center) > > I can see that a SFVec3f should be used for the rotation arguments, but > I don't know what the three values (x,y,z) stand for. To my > understanding like the TexureTransform node a matrix3 rotation is only a > simple float. I know that simple numbers cannot be passed by value to a > JavaScript function. > > > -- > Holger Seelig > Mediengestalter Digital ? Digital Media Designer > > Scheffelstra?e 31a > 04277 Leipzig > > Telefon: 01577 147 26 11 > E-Mail: holger.seelig at yahoo.de > > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org _______________________________________________ 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 highaspirations at hotmail.com Mon Oct 20 10:29:51 2014 From: highaspirations at hotmail.com (doug sanden) Date: Mon, 20 Oct 2014 11:29:51 -0600 Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform In-Reply-To: References: Message-ID: My guess/hypothesis: Matrix3 2D rotation SFVec3f = (x,y,angle) - where x,y is the 2D point about which the rotation occurs(?) (don't compute rotation from xy) I base that on my hypothesis the designers were attempting to make Matrix3 analogous to Matrix4. See also the documentation on Transform node for how to apply scaleOrientation for 3D, which takes a series of steps. ________________________________ > Date: Mon, 20 Oct 2014 19:05:15 +0200 > Subject: AW: Re: [X3D-Public] JavaScript: Question to > SFMatrix3f.set/getTransform > From: holger.seelig at yahoo.de > To: highaspirations at hotmail.com; x3d-public at web3d.org > > A matrix3 is coordinate system in 2d space, that has a origin (the > translation) and a rotation and a scale and scaleOrientation. You Doug > says, the first two values of the SFVec3f should be the complex number > of the rotation, from that complex number I can calculate an angle. > Should this be the third value? > > > Von Samsung Mobile gesendet > > > -------- Urspr?ngliche Nachricht -------- > Von: doug sanden > Datum:20.10.2014 18:49 (GMT+01:00) > An: x3d-public at web3d.org > Betreff: Re: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform > > I think matrix3 is a 2D homogenous transform, much like matrix4 is a 3D > homogenous transform. For 3D a rotation has 4 values: a 3D direction > vector for the axis of rotation, and 4th value for the rotation angle > about that axis. > For matrix3 (2D), there would be something analogous, but with one less > dimension. Likely 2 values xy for a point of rotation, and a 3rd value > for the angle of rotation about that point. scale orientation in 2D > would need a point and rotation. > -Doug > > > ---------------------------------------- >> Date: Mon, 20 Oct 2014 18:34:28 +0200 >> From: holger.seelig at yahoo.de >> To: x3d-public at web3d.org >> Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform >> >> I cannot figure out what are the second and fourth argument of >> SFMatrix.getTransform are, the spec says: >> >> SFMatrix3f .setTransform setTransform (SFVec2f translation, >> SFVec3f rotation, >> SFVec2f scale, >> SFVec3f scaleOrientation, >> SFVec2f center) >> >> I can see that a SFVec3f should be used for the rotation arguments, but >> I don't know what the three values (x,y,z) stand for. To my >> understanding like the TexureTransform node a matrix3 rotation is only a >> simple float. I know that simple numbers cannot be passed by value to a >> JavaScript function. >> >> >> -- >> Holger Seelig >> Mediengestalter Digital ? Digital Media Designer >> >> Scheffelstra?e 31a >> 04277 Leipzig >> >> Telefon: 01577 147 26 11 >> E-Mail: holger.seelig at yahoo.de >> >> _______________________________________________ >> X3D-Public mailing list >> X3D-Public at web3d.org >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org From holger.seelig at yahoo.de Mon Oct 20 12:13:46 2014 From: holger.seelig at yahoo.de (Holger Seelig) Date: Mon, 20 Oct 2014 21:13:46 +0200 Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform In-Reply-To: References: Message-ID: <54455EEA.7040101@yahoo.de> No, this cannot be right Doug. The point about which the rotation occurs is the translation/origin of the matrix3 and the translation is the first argument to get/setTransform: A matrix3 consists of 4 values: translation, rotation, scale, scaleOrientation. Let's look how it works: A coordinate system with two orthogonal axes x, and y that have both a length of one is translate by ?translation? to an arbitary place. Then the coordinate system or better the two axes are scaled, mostly independently, by muliplying by an amount. Then the coordinate system is rotated by an amount about the origin (which is the translation), in 2d this rotation value is normally a simple number, the angle, in degrees or radians, we could express this rotation also as complex number. Let's take a simple float number as rotation phi we can construct a rotation matrix3 as follow: Convension: matrix3 organized in row-major fashion: x-axis 0 y-axis 0 x y 1 cos (phi) sin (phi) 0 -sin (phi) cos (phi) 0 0 0 0 The first two numbers in the third row of a matrix3 is the translation, and this is the point about which the rotation occurs. Am 20.10.2014 um 19:29 schrieb doug sanden: > > My guess/hypothesis: Matrix3 2D rotation SFVec3f = (x,y,angle) > - where x,y is the 2D point about which the rotation occurs(?) > (don't compute rotation from xy) > I base that on my hypothesis the designers were attempting to make Matrix3 analogous to Matrix4. > See also the documentation on Transform node for how to apply scaleOrientation for 3D, which takes a series of steps. > > ________________________________ >> Date: Mon, 20 Oct 2014 19:05:15 +0200 >> Subject: AW: Re: [X3D-Public] JavaScript: Question to >> SFMatrix3f.set/getTransform >> From: holger.seelig at yahoo.de >> To: highaspirations at hotmail.com; x3d-public at web3d.org >> >> A matrix3 is coordinate system in 2d space, that has a origin (the >> translation) and a rotation and a scale and scaleOrientation. You Doug >> says, the first two values of the SFVec3f should be the complex number >> of the rotation, from that complex number I can calculate an angle. >> Should this be the third value? >> >> >> Von Samsung Mobile gesendet >> >> >> -------- Urspr?ngliche Nachricht -------- >> Von: doug sanden >> Datum:20.10.2014 18:49 (GMT+01:00) >> An: x3d-public at web3d.org >> Betreff: Re: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform >> >> I think matrix3 is a 2D homogenous transform, much like matrix4 is a 3D >> homogenous transform. For 3D a rotation has 4 values: a 3D direction >> vector for the axis of rotation, and 4th value for the rotation angle >> about that axis. >> For matrix3 (2D), there would be something analogous, but with one less >> dimension. Likely 2 values xy for a point of rotation, and a 3rd value >> for the angle of rotation about that point. scale orientation in 2D >> would need a point and rotation. >> -Doug >> >> >> ---------------------------------------- >>> Date: Mon, 20 Oct 2014 18:34:28 +0200 >>> From: holger.seelig at yahoo.de >>> To: x3d-public at web3d.org >>> Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform >>> >>> I cannot figure out what are the second and fourth argument of >>> SFMatrix.getTransform are, the spec says: >>> >>> SFMatrix3f .setTransform setTransform (SFVec2f translation, >>> SFVec3f rotation, >>> SFVec2f scale, >>> SFVec3f scaleOrientation, >>> SFVec2f center) >>> >>> I can see that a SFVec3f should be used for the rotation arguments, but >>> I don't know what the three values (x,y,z) stand for. To my >>> understanding like the TexureTransform node a matrix3 rotation is only a >>> simple float. I know that simple numbers cannot be passed by value to a >>> JavaScript function. >>> >>> >>> -- >>> Holger Seelig >>> Mediengestalter Digital ? Digital Media Designer >>> >>> Scheffelstra?e 31a >>> 04277 Leipzig >>> >>> Telefon: 01577 147 26 11 >>> E-Mail: holger.seelig at yahoo.de >>> >>> _______________________________________________ >>> X3D-Public mailing list >>> X3D-Public at web3d.org >>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org >> >> _______________________________________________ >> X3D-Public mailing list >> X3D-Public at web3d.org >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > _______________________________________________ > X3D-Public mailing list > X3D-Public at web3d.org > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > -- Holger Seelig Mediengestalter Digital ? Digital Media Designer Scheffelstra?e 31a 04277 Leipzig Germany Cellular: +49 1577 147 26 11 E-Mail: holger.seelig at yahoo.de Web: http://titania.create3000.de From highaspirations at hotmail.com Mon Oct 20 19:20:35 2014 From: highaspirations at hotmail.com (doug sanden) Date: Mon, 20 Oct 2014 20:20:35 -0600 Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform In-Reply-To: <54455EEA.7040101@yahoo.de> References: , , <54455EEA.7040101@yahoo.de> Message-ID: Perhaps there is a reference implementation, committee notes to explain, or perhaps the design should be changed to a scalar rotation. -doug > Date: Mon, 20 Oct 2014 21:13:46 +0200 > From: holger.seelig at yahoo.de > To: x3d-public at web3d.org > Subject: Re: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform > > No, this cannot be right Doug. The point about which the rotation occurs > is the translation/origin of the matrix3 and the translation is the > first argument to get/setTransform: > > A matrix3 consists of 4 values: translation, rotation, scale, > scaleOrientation. Let's look how it works: A coordinate system with two > orthogonal axes x, and y that have both a length of one is translate by > ?translation? to an arbitary place. Then the coordinate system or better > the two axes are scaled, mostly independently, by muliplying by an > amount. Then the coordinate system is rotated by an amount about the > origin (which is the translation), in 2d this rotation value is normally > a simple number, the angle, in degrees or radians, we could express this > rotation also as complex number. > > Let's take a simple float number as rotation phi we can construct a > rotation matrix3 as follow: > > Convension: matrix3 organized in row-major fashion: > x-axis 0 > y-axis 0 > x y 1 > > cos (phi) sin (phi) 0 > -sin (phi) cos (phi) 0 > 0 0 0 > > The first two numbers in the third row of a matrix3 is the translation, > and this is the point about which the rotation occurs. > > > Am 20.10.2014 um 19:29 schrieb doug sanden: > > > > My guess/hypothesis: Matrix3 2D rotation SFVec3f = (x,y,angle) > > - where x,y is the 2D point about which the rotation occurs(?) > > (don't compute rotation from xy) > > I base that on my hypothesis the designers were attempting to make Matrix3 analogous to Matrix4. > > See also the documentation on Transform node for how to apply scaleOrientation for 3D, which takes a series of steps. > > > > ________________________________ > >> Date: Mon, 20 Oct 2014 19:05:15 +0200 > >> Subject: AW: Re: [X3D-Public] JavaScript: Question to > >> SFMatrix3f.set/getTransform > >> From: holger.seelig at yahoo.de > >> To: highaspirations at hotmail.com; x3d-public at web3d.org > >> > >> A matrix3 is coordinate system in 2d space, that has a origin (the > >> translation) and a rotation and a scale and scaleOrientation. You Doug > >> says, the first two values of the SFVec3f should be the complex number > >> of the rotation, from that complex number I can calculate an angle. > >> Should this be the third value? > >> > >> > >> Von Samsung Mobile gesendet > >> > >> > >> -------- Urspr?ngliche Nachricht -------- > >> Von: doug sanden > >> Datum:20.10.2014 18:49 (GMT+01:00) > >> An: x3d-public at web3d.org > >> Betreff: Re: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform > >> > >> I think matrix3 is a 2D homogenous transform, much like matrix4 is a 3D > >> homogenous transform. For 3D a rotation has 4 values: a 3D direction > >> vector for the axis of rotation, and 4th value for the rotation angle > >> about that axis. > >> For matrix3 (2D), there would be something analogous, but with one less > >> dimension. Likely 2 values xy for a point of rotation, and a 3rd value > >> for the angle of rotation about that point. scale orientation in 2D > >> would need a point and rotation. > >> -Doug > >> > >> > >> ---------------------------------------- > >>> Date: Mon, 20 Oct 2014 18:34:28 +0200 > >>> From: holger.seelig at yahoo.de > >>> To: x3d-public at web3d.org > >>> Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform > >>> > >>> I cannot figure out what are the second and fourth argument of > >>> SFMatrix.getTransform are, the spec says: > >>> > >>> SFMatrix3f .setTransform setTransform (SFVec2f translation, > >>> SFVec3f rotation, > >>> SFVec2f scale, > >>> SFVec3f scaleOrientation, > >>> SFVec2f center) > >>> > >>> I can see that a SFVec3f should be used for the rotation arguments, but > >>> I don't know what the three values (x,y,z) stand for. To my > >>> understanding like the TexureTransform node a matrix3 rotation is only a > >>> simple float. I know that simple numbers cannot be passed by value to a > >>> JavaScript function. > >>> > >>> > >>> -- > >>> Holger Seelig > >>> Mediengestalter Digital ? Digital Media Designer > >>> > >>> Scheffelstra?e 31a > >>> 04277 Leipzig > >>> > >>> Telefon: 01577 147 26 11 > >>> E-Mail: holger.seelig at yahoo.de > >>> > >>> _______________________________________________ > >>> X3D-Public mailing list > >>> X3D-Public at web3d.org > >>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org > >> > >> _______________________________________________ > >> X3D-Public mailing list > >> X3D-Public at web3d.org > >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > > > _______________________________________________ > > X3D-Public mailing list > > X3D-Public at web3d.org > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > > > > -- > Holger Seelig > Mediengestalter Digital ? Digital Media Designer > > Scheffelstra?e 31a > 04277 Leipzig > Germany > > Cellular: +49 1577 147 26 11 > E-Mail: holger.seelig at yahoo.de > Web: http://titania.create3000.de > > _______________________________________________ > 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 holger.seelig at yahoo.de Mon Oct 20 19:56:00 2014 From: holger.seelig at yahoo.de (Holger Seelig) Date: Tue, 21 Oct 2014 04:56:00 +0200 Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform Message-ID: <1u5duw6syyohkoib16xaiptq.1413860160108@email.android.com> Yes a reference implementation would be fine. But a change to a scalar is not posible as you cannot pass a scalar by reference in JavaScript. With getTransform you must pass all arguments by reference. Or better said, you must pass objects, the implementor of this function can then assign the values. Von Samsung Mobile gesendet
-------- Urspr?ngliche Nachricht --------
Von: doug sanden
Datum:21.10.2014 04:20 (GMT+01:00)
An: x3d-public at web3d.org
Betreff: Re: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform
Perhaps there is a reference implementation, committee notes to explain, or perhaps the design should be changed to a scalar rotation. -doug > Date: Mon, 20 Oct 2014 21:13:46 +0200 > From: holger.seelig at yahoo.de > To: x3d-public at web3d.org > Subject: Re: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform > > No, this cannot be right Doug. The point about which the rotation occurs > is the translation/origin of the matrix3 and the translation is the > first argument to get/setTransform: > > A matrix3 consists of 4 values: translation, rotation, scale, > scaleOrientation. Let's look how it works: A coordinate system with two > orthogonal axes x, and y that have both a length of one is translate by > ?translation? to an arbitary place. Then the coordinate system or better > the two axes are scaled, mostly independently, by muliplying by an > amount. Then the coordinate system is rotated by an amount about the > origin (which is the translation), in 2d this rotation value is normally > a simple number, the angle, in degrees or radians, we could express this > rotation also as complex number. > > Let's take a simple float number as rotation phi we can construct a > rotation matrix3 as follow: > > Convension: matrix3 organized in row-major fashion: > x-axis 0 > y-axis 0 > x y 1 > > cos (phi) sin (phi) 0 > -sin (phi) cos (phi) 0 > 0 0 0 > > The first two numbers in the third row of a matrix3 is the translation, > and this is the point about which the rotation occurs. > > > Am 20.10.2014 um 19:29 schrieb doug sanden: > > > > My guess/hypothesis: Matrix3 2D rotation SFVec3f = (x,y,angle) > > - where x,y is the 2D point about which the rotation occurs(?) > > (don't compute rotation from xy) > > I base that on my hypothesis the designers were attempting to make Matrix3 analogous to Matrix4. > > See also the documentation on Transform node for how to apply scaleOrientation for 3D, which takes a series of steps. > > > > ________________________________ > >> Date: Mon, 20 Oct 2014 19:05:15 +0200 > >> Subject: AW: Re: [X3D-Public] JavaScript: Question to > >> SFMatrix3f.set/getTransform > >> From: holger.seelig at yahoo.de > >> To: highaspirations at hotmail.com; x3d-public at web3d.org > >> > >> A matrix3 is coordinate system in 2d space, that has a origin (the > >> translation) and a rotation and a scale and scaleOrientation. You Doug > >> says, the first two values of the SFVec3f should be the complex number > >> of the rotation, from that complex number I can calculate an angle. > >> Should this be the third value? > >> > >> > >> Von Samsung Mobile gesendet > >> > >> > >> -------- Urspr?ngliche Nachricht -------- > >> Von: doug sanden > >> Datum:20.10.2014 18:49 (GMT+01:00) > >> An: x3d-public at web3d.org > >> Betreff: Re: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform > >> > >> I think matrix3 is a 2D homogenous transform, much like matrix4 is a 3D > >> homogenous transform. For 3D a rotation has 4 values: a 3D direction > >> vector for the axis of rotation, and 4th value for the rotation angle > >> about that axis. > >> For matrix3 (2D), there would be something analogous, but with one less > >> dimension. Likely 2 values xy for a point of rotation, and a 3rd value > >> for the angle of rotation about that point. scale orientation in 2D > >> would need a point and rotation. > >> -Doug > >> > >> > >> ---------------------------------------- > >>> Date: Mon, 20 Oct 2014 18:34:28 +0200 > >>> From: holger.seelig at yahoo.de > >>> To: x3d-public at web3d.org > >>> Subject: [X3D-Public] JavaScript: Question to SFMatrix3f.set/getTransform > >>> > >>> I cannot figure out what are the second and fourth argument of > >>> SFMatrix.getTransform are, the spec says: > >>> > >>> SFMatrix3f .setTransform setTransform (SFVec2f translation, > >>> SFVec3f rotation, > >>> SFVec2f scale, > >>> SFVec3f scaleOrientation, > >>> SFVec2f center) > >>> > >>> I can see that a SFVec3f should be used for the rotation arguments, but > >>> I don't know what the three values (x,y,z) stand for. To my > >>> understanding like the TexureTransform node a matrix3 rotation is only a > >>> simple float. I know that simple numbers cannot be passed by value to a > >>> JavaScript function. > >>> > >>> > >>> -- > >>> Holger Seelig > >>> Mediengestalter Digital ? Digital Media Designer > >>> > >>> Scheffelstra?e 31a > >>> 04277 Leipzig > >>> > >>> Telefon: 01577 147 26 11 > >>> E-Mail: holger.seelig at yahoo.de > >>> > >>> _______________________________________________ > >>> X3D-Public mailing list > >>> X3D-Public at web3d.org > >>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org > >> > >> _______________________________________________ > >> X3D-Public mailing list > >> X3D-Public at web3d.org > >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > > > _______________________________________________ > > X3D-Public mailing list > > X3D-Public at web3d.org > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > > > > > -- > Holger Seelig > Mediengestalter Digital ? Digital Media Designer > > Scheffelstra?e 31a > 04277 Leipzig > Germany > > Cellular: +49 1577 147 26 11 > E-Mail: holger.seelig at yahoo.de > Web: http://titania.create3000.de > > _______________________________________________ > 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 Wed Oct 22 08:37:52 2014 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 22 Oct 2014 08:37:52 -0700 Subject: [X3D-Public] Virtual Reality & The Web: Next Steps | Air Mozilla Message-ID: <5447CF50.5080100@nps.edu> [announcement from mozilla] 23 OCT 2014, 10:30AM in SFO Commons Virtual Reality & The Web: Next Steps On June 26, Mozilla Research launched an experimental build of Firefox with VR-enablers bundled, empowering developers to turn any website into a virtual reality experience. No plugins, installs or expensive development tools required. Since June we have been busy, creating new builds, new demos, and new tools. In this brownbag we will share our latest, and also provide a look at our future. VR presents immense challenges, but also immense opportunities. From latency to interaction design, we'll break down the work to be done to make the web an awesome platform for VR. And show devs how they can get involved today, easily. https://air.mozilla.org/virtual-reality-the-web-next-steps From brutzman at nps.edu Mon Oct 27 09:46:13 2014 From: brutzman at nps.edu (Don Brutzman) Date: Mon, 27 Oct 2014 09:46:13 -0700 Subject: [X3D-Public] GPS Exchange Format - Wikipedia, the free encyclopedia Message-ID: <544E76D5.7010405@nps.edu> wondering if anyone has used GPX in combination with X3D and/or KML? GPS Exchange Format (GPX) http://en.wikipedia.org/wiki/GPS_Exchange_Format 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 Oct 28 11:17:17 2014 From: brutzman at nps.edu (Don Brutzman) Date: Tue, 28 Oct 2014 11:17:17 -0700 Subject: [X3D-Public] HTML5 is a W3C Recommendation Message-ID: <544FDDAD.2060505@nps.edu> HTML5 is a W3C Recommendation http://www.w3.org/blog/news/archives/4167 From brutzman at nps.edu Tue Oct 28 11:18:56 2014 From: brutzman at nps.edu (Don Brutzman) Date: Tue, 28 Oct 2014 11:18:56 -0700 Subject: [X3D-Public] Application Foundations for the Open Web Platform Message-ID: <544FDE10.2090808@nps.edu> by Jeff Jaffe, CEO W3C "Bringing HTML5 to the status of W3C Recommendation (in October 2014) is a defining moment in the development of the Open Web Platform (OWP), a set of technologies for developing distributed applications with the greatest interoperability in history. This year is also the 25th anniversary of the Web and 20th anniversary of W3C, making this an even more meaningful time to engage with the community about the Next Big Thing for the Web Platform. My starting point for this discussion is that, now that HTML5 is done, W3C should focus on strengthening the parts of the Open Web Platform that developers most urgently need for success. I call this push for developers ?Application Foundations.? http://www.w3.org/blog/2014/10/application-foundations-for-the-open-web-platform From anthony.judge at gmail.com Wed Oct 29 05:11:02 2014 From: anthony.judge at gmail.com (Anthony Judge) Date: Wed, 29 Oct 2014 13:11:02 +0100 Subject: [X3D-Public] X3DEdit Installation on Win Pro 7 -- loss of features Message-ID: I installed it once. Was impressed with the Palette feature -- amongst others. Used the product to successfully import .wrl files and export them after editing. (Major issue was Cortona viewer gave me the VRML file header error on which others have commented -- I switched to H3DViewer which works fine -- pity for others wishing to integrate a viewer into a browser) I endeavoured to access some of the related X3D document resources and was confronted by a bit stream of program code -- maybe associated with trying to install FreeWRL. Later those resources became accessible, but not the Palette -- unclear what should bring up that side window anyway. Maybe one of the files in the program directory got disabled/corrupted. Continued editing without any problem -- effectively on a "cut-down" version. Few of the advertised extra features seemed to be accessible -- maybe only via Netbeans? Decided to reinstall from the zip. No change. Decided to download a new zip. No change. Even though I had cleaned registry, the edit interface remembered files on which I was working. So obviously I did not get rid of everything. Possibly an issue of permissions? I switched from Program files x86 to a new empty directory for the install. I note that Windows does not detect it as a program that can be uninstalled Any link to comments on such issues? Thanks -- Anthony Judge www.laetusinpraesens.org From web3d at realism.com Wed Oct 29 10:11:20 2014 From: web3d at realism.com (Leonard Daly) Date: Wed, 29 Oct 2014 10:11:20 -0700 Subject: [X3D-Public] X3DEdit Installation on Win Pro 7 -- loss of features In-Reply-To: References: Message-ID: <54511FB8.8080309@realism.com> Anthony, Thank you for your work with X3D-Edit. There will be another release next week -- that may fix some of your issues. We are trying to understand your problems and reproduce them. Can you provide more details regarding the X3D document resources you accessed and the bit stream of program code you received. Can you describe in more detail what you attempted to do to restore the Palette was not accessible. A screen shot might be very helpful. Which features (or types of features) were unavailable? Also what version of Java and Windows are you using. Thank you, Leonard Daly > I installed it once. Was impressed with the Palette feature -- amongst > others. Used the product to successfully import .wrl files and export > them after editing. (Major issue was Cortona viewer gave me the VRML file > header error on which others have commented -- I switched to H3DViewer > which works fine -- pity for others wishing to integrate a viewer into > a browser) > > I endeavoured to access some of the related X3D document resources and was > confronted by a bit stream of program code -- maybe associated with > trying to install FreeWRL. Later those resources became accessible, > but not the Palette -- unclear what should bring up that side window > anyway. Maybe one of the files in the program directory got > disabled/corrupted. > > Continued editing without any problem -- effectively on a "cut-down" > version. Few of the advertised extra features seemed to be accessible > -- maybe only via Netbeans? > > Decided to reinstall from the zip. No change. > > Decided to download a new zip. No change. Even though I had cleaned > registry, the edit interface remembered files on which I was working. > So obviously I did not get rid of everything. > > Possibly an issue of permissions? I switched from Program files x86 to > a new empty directory for the install. I note that Windows does not > detect it as a program that can be uninstalled > > Any link to comments on such issues? > > Thanks > > -- *Leonard Daly* X3D Co-Chair Cloud Consultant President, Daly Realism - /Creating the Future/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From anthony.judge at gmail.com Wed Oct 29 13:27:59 2014 From: anthony.judge at gmail.com (Anthony Judge) Date: Wed, 29 Oct 2014 21:27:59 +0100 Subject: [X3D-Public] X3D-Public Digest, Vol 67, Issue 32 In-Reply-To: References: Message-ID: Thanks for the considered reply. This was experienced with a Win 7 Pro 4 GB RAM 64 bit OS -- a new HP ultrabook machine Naively I went for the auto install -- unpacked and clicked on the relevant .bat as indicated. Without too much attention to which folder it was going into. No problems. Less clear was into which folder it should go, since there was no indication as to Program files or the x86 variant. In my final trial I put into a new folder. I note that normal uninstall program options do not detect that X3DEdit has been installed. I note some ambiguity in the page http://www.web3d.org/x3d-resources/content/README.X3D-Edit.html regarding use of IBM Xeena (folder wise), but since I went for the Auto installer, this was presumably irrelevant. I checked for the latest Java version before doing any installation -- as indicated. Version 7, update 71 (32 bit). As indicated I was impressed by being exposed to a window list on the right of program options (the Palette?), each with a submenu, explanation. Potentially amazingly useful. Other features in the drop downs seemed to be dependent on items I had not installed or were not working. How to know? When I tried some of the other "online resources", as indicated, I suddently got a dump of binary code in that window (possibly when I was also trying to install a viewer to substitute for Cortona which I have long used with success on Notgetab coded wrl files) Thereafter the online resources worked through that side window, but the list of coding options was no longer accessible, and there was no indication how it could be made accessible. Through downloading additional plugins? I was not even sure that "Palette" was the term for them. My follow up was to reinstal from the downloaded zip, as indicated. Same issue. Then to download again -- with registry clears in between. No change. As I indicated I can work with the "cut-down" version, but remain mystified as to what I am missing. Due to permissions, folder issues, not installing straight-off as admin -- not requested however for the auto install (although specified for the manual variant). I have no screen shots of what I have no trace of -- only a memory! I do recall seeing some reference by another user to how to clear registry of traces of earlier X3DEdit installs -- but have not been able to recover it, As I indicated, the VRML file header error issue was a pain when endeavouring to use Cortona after saving as .wrl (presumably for others too, as I noted from some comments). But the H3DViewer is just fine -- maybe better. Thanks for your attention to this matter On 29/10/2014, x3d-public-request at web3d.org wrote: > Send X3D-Public mailing list submissions to > x3d-public at web3d.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://web3d.org/mailman/listinfo/x3d-public_web3d.org > or, via email, send a message with subject or body 'help' to > x3d-public-request at web3d.org > > You can reach the person managing the list at > x3d-public-owner at web3d.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of X3D-Public digest..." > > > Today's Topics: > > 1. X3DEdit Installation on Win Pro 7 -- loss of features > (Anthony Judge) > 2. Re: X3DEdit Installation on Win Pro 7 -- loss of features > (Leonard Daly) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 29 Oct 2014 13:11:02 +0100 > From: Anthony Judge > To: x3d-public at web3d.org > Subject: [X3D-Public] X3DEdit Installation on Win Pro 7 -- loss of > features > Message-ID: > > Content-Type: text/plain; charset=UTF-8 > > I installed it once. Was impressed with the Palette feature -- amongst > others. Used the product to successfully import .wrl files and export > them after editing. (Major issue was Cortona viewer gave me the VRML file > header error on which others have commented -- I switched to H3DViewer > which works fine -- pity for others wishing to integrate a viewer into > a browser) > > I endeavoured to access some of the related X3D document resources and was > confronted by a bit stream of program code -- maybe associated with > trying to install FreeWRL. Later those resources became accessible, > but not the Palette -- unclear what should bring up that side window > anyway. Maybe one of the files in the program directory got > disabled/corrupted. > > Continued editing without any problem -- effectively on a "cut-down" > version. Few of the advertised extra features seemed to be accessible > -- maybe only via Netbeans? > > Decided to reinstall from the zip. No change. > > Decided to download a new zip. No change. Even though I had cleaned > registry, the edit interface remembered files on which I was working. > So obviously I did not get rid of everything. > > Possibly an issue of permissions? I switched from Program files x86 to > a new empty directory for the install. I note that Windows does not > detect it as a program that can be uninstalled > > Any link to comments on such issues? > > Thanks > > > -- > Anthony Judge > > www.laetusinpraesens.org > > > > ------------------------------ > > Message: 2 > Date: Wed, 29 Oct 2014 10:11:20 -0700 > From: Leonard Daly > To: x3d-public at web3d.org > Subject: Re: [X3D-Public] X3DEdit Installation on Win Pro 7 -- loss of > features > Message-ID: <54511FB8.8080309 at realism.com> > Content-Type: text/plain; charset="iso-8859-1"; Format="flowed" > > Anthony, > > Thank you for your work with X3D-Edit. There will be another release > next week -- that may fix some of your issues. > > We are trying to understand your problems and reproduce them. Can you > provide more details regarding the X3D document resources you accessed > and the bit stream of program code you received. Can you describe in > more detail what you attempted to do to restore the Palette was not > accessible. A screen shot might be very helpful. Which features (or > types of features) were unavailable? Also what version of Java and > Windows are you using. > > Thank you, > > Leonard Daly > > > > >> I installed it once. Was impressed with the Palette feature -- amongst >> others. Used the product to successfully import .wrl files and export >> them after editing. (Major issue was Cortona viewer gave me the VRML file >> header error on which others have commented -- I switched to H3DViewer >> which works fine -- pity for others wishing to integrate a viewer into >> a browser) >> >> I endeavoured to access some of the related X3D document resources and >> was >> confronted by a bit stream of program code -- maybe associated with >> trying to install FreeWRL. Later those resources became accessible, >> but not the Palette -- unclear what should bring up that side window >> anyway. Maybe one of the files in the program directory got >> disabled/corrupted. >> >> Continued editing without any problem -- effectively on a "cut-down" >> version. Few of the advertised extra features seemed to be accessible >> -- maybe only via Netbeans? >> >> Decided to reinstall from the zip. No change. >> >> Decided to download a new zip. No change. Even though I had cleaned >> registry, the edit interface remembered files on which I was working. >> So obviously I did not get rid of everything. >> >> Possibly an issue of permissions? I switched from Program files x86 to >> a new empty directory for the install. I note that Windows does not >> detect it as a program that can be uninstalled >> >> Any link to comments on such issues? >> >> Thanks >> >> > > > -- > *Leonard Daly* > X3D Co-Chair > Cloud Consultant > President, Daly Realism - /Creating the Future/ > -------------- 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 67, Issue 32 > ****************************************** > -- Anthony Judge www.laetusinpraesens.org From brutzman at nps.edu Wed Oct 29 19:07:39 2014 From: brutzman at nps.edu (Don Brutzman) Date: Wed, 29 Oct 2014 19:07:39 -0700 Subject: [X3D-Public] Installattion of X3DEdit 3.3 on Win 7 Pro In-Reply-To: References: Message-ID: <54519D6B.7030700@nps.edu> Anthony, thanks for your note. Progress/problems: - We have recently upgraded Xj3D to match latest JOGL libraries - some of the stylesheet conversions and validation checks are blocking, we're still debugging - we are publishing updates ~ every 2 weeks - sometimes it works better as a Netbeans plugin - improvements to Shape node interface ongoing, keep adding primitives (Capsule is next) http://x3dgraphics.com/examples/X3dForAdvancedModeling/GeometricShapes/index.html Request: - please provide more detail on the bug(s) so that we can isolate or repeat them. Thanks for your efforts, have fun with X3D! On 10/25/2014 10:11 AM, Anthony Judge wrote: > Hi Don > > Great product. > > I installed it once. Was impressed with the Palette feature -- amongst > others. Used the product to successfully import .wrl files and export > them after editing. (Major issue was Cortona viewer gave me the file > header error on which others have commented -- I switched to H3DViewer > which works fine) X3D player list at http://www.web3d.org/x3d/content/examples/X3dResources.html#Applications X3D-Edit Preferences lets you configure to launch one or multiple players, if installed http://www.web3d.org/x3d/content/examples/X3dResources.html#Applications > I endeavoured to access some of the related document resources and was > confronted by a bit stream of program code -- maybe associated with > trying to install FreeWRL. Later those resources became accessible, > but not the Palette -- unclear what should bring up that side window > anyway. Maybe one of the files in the program directory go > disabled/corrupted. > > Continued editing without any problem. But few of the advertised extra > features seemed to be accessible -- maybe only via Netbeans? > > Decided to reinstall from the zip. No change. > > Decided to download a new zip. No change. Even though I had cleaned > registry, the edit interface remembered files on which I was working. > So obviously I did not get rid of everything. > > Any link to comments on such issues? > > Thanks > > Tony Currently we are using mail list, more is better, again thanks! 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 anthony.judge at gmail.com Thu Oct 30 03:47:39 2014 From: anthony.judge at gmail.com (Anthony Judge) Date: Thu, 30 Oct 2014 11:47:39 +0100 Subject: [X3D-Public] Installattion of X3DEdit 3.3 on Win 7 Pro In-Reply-To: <54519D6B.7030700@nps.edu> References: <54519D6B.7030700@nps.edu> Message-ID: In addition to my previous comment, but perhaps a useful indication, it is unclear to me why the command line prompt box remains open once X3DEdit is functioning. I attach a screen shot. It seems to make little difference what I type at that prompt Tony On 30/10/2014, Don Brutzman wrote: > Anthony, thanks for your note. > > Progress/problems: > - We have recently upgraded Xj3D to match latest JOGL libraries > - some of the stylesheet conversions and validation checks are blocking, > we're still debugging > - we are publishing updates ~ every 2 weeks > - sometimes it works better as a Netbeans plugin > - improvements to Shape node interface ongoing, keep adding primitives > (Capsule is next) > http://x3dgraphics.com/examples/X3dForAdvancedModeling/GeometricShapes/index.html > > Request: > > - please provide more detail on the bug(s) so that we can isolate or repeat > them. > > Thanks for your efforts, have fun with X3D! > > On 10/25/2014 10:11 AM, Anthony Judge wrote: >> Hi Don >> >> Great product. >> >> I installed it once. Was impressed with the Palette feature -- amongst >> others. Used the product to successfully import .wrl files and export >> them after editing. (Major issue was Cortona viewer gave me the file >> header error on which others have commented -- I switched to H3DViewer >> which works fine) > > X3D player list at > http://www.web3d.org/x3d/content/examples/X3dResources.html#Applications > > X3D-Edit Preferences lets you configure to launch one or multiple players, > if installed > http://www.web3d.org/x3d/content/examples/X3dResources.html#Applications > >> I endeavoured to access some of the related document resources and was >> confronted by a bit stream of program code -- maybe associated with >> trying to install FreeWRL. Later those resources became accessible, >> but not the Palette -- unclear what should bring up that side window >> anyway. Maybe one of the files in the program directory go >> disabled/corrupted. >> >> Continued editing without any problem. But few of the advertised extra >> features seemed to be accessible -- maybe only via Netbeans? >> >> Decided to reinstall from the zip. No change. >> >> Decided to download a new zip. No change. Even though I had cleaned >> registry, the edit interface remembered files on which I was working. >> So obviously I did not get rid of everything. >> >> Any link to comments on such issues? >> >> Thanks >> >> Tony > > Currently we are using mail list, more is better, again thanks! > > 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 > -- Anthony Judge www.laetusinpraesens.org -------------- next part -------------- A non-text attachment was scrubbed... Name: screen_shot_cmd_exe.jpg Type: image/jpeg Size: 28438 bytes Desc: not available URL: From anthony.judge at gmail.com Fri Oct 31 09:06:50 2014 From: anthony.judge at gmail.com (Anthony Judge) Date: Fri, 31 Oct 2014 17:06:50 +0100 Subject: [X3D-Public] Installation on Win 7 Pro -- loss of features -- different machine Message-ID: As follow up to this issue, previously reported, I have successfully installed X3DEdit on a different (older machine) running Win 7 Pro. I chose to do the install into a folder at the C: root level The unresolved problems on the other machine remain with the issue of how to make a fresh install. Following the request for screenshots, I repeated the exercise (on the successful install) of importing a classic vrml 97 scene -- created with a text processor. The import was successful as indicated by the first screenshot (attached). The Palette feature visible was not visible in the corrupted install on the other machine. However, I noted that the import triggered the FreeWRL viewer which did not resolve the .wrl file correctly -- seemingly cycling through -- as indicated by the second screenshot The validate feature indicated a problem with the "Worldinfo" line, as rendered visible in the third screenshot After deleting that line (and successfully validating the file), I exported into to vrml97 format and endeavoured to open it with the Cortona viewer. This gave the previously reported error: The VRML file header not found or unsupported encoding type Having minimized/closed the previously visible Palette, I also note that it is no longer accessible -- or I cannot find how to render it visible. The Palette indication in the menu drop down does not seem to activate anything. It is possible that this is due to my running X3DEdit on a laptop with a smaller screen size -- Adobe Acrobat used to have such problems I note that the cmd.exe box remains open I hope this is of some use Tony -- Anthony Judge www.laetusinpraesens.org -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: x3dedit_start.gif Type: image/gif Size: 159980 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: x3dedit_start_freewrl.gif Type: image/gif Size: 49131 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: x3dedit_start_worldinfo.gif Type: image/gif Size: 125794 bytes Desc: not available URL: From brutzman at nps.edu Fri Oct 31 19:23:58 2014 From: brutzman at nps.edu (Don Brutzman) Date: Fri, 31 Oct 2014 19:23:58 -0700 Subject: [X3D-Public] Installattion of X3DEdit 3.3 on Win 7 Pro In-Reply-To: References: <54519D6B.7030700@nps.edu> Message-ID: <5454443E.3030701@nps.edu> This can be hidden by checking the properties on the link. Might have to create a shortcut to link and set properties on that. This is a windows-ism that we haven't yet figured out how to adjust in our installer. Meanwhile, have deployed and update. The checkmark suite of validation tests now works in the standalone application, but was only partially improved in the Netbeans plugin version. Debugging continues. Nice upgrade: Terry N. has improved Xj3D yet again, in addition to the latest version of JOGL (JOGAMP) he has it working in a lightweight glPanel instead of a heavyweight Swing panel. Grizzled Java veterans probably recognize this issue as originating maybe a decade ago in Java3D... it is an improvement. Tuning continues. The Xj3D console (a wavy scroll icon in lower right) tells more of the story: > Xj3D Version: v2.1-nps > utilizing NPS Open DIS v4.08 > and featuring 3D rendering by > ----------------------------------------------------------------------------------------------------- > Package: javax.media.opengl > Extension Name: javax.media.opengl > Specification Title: Java Bindings for OpenGL API Specification > Specification Vendor: JogAmp Community > Specification Version: 2.2 > Implementation Title: Java Bindings for OpenGL Runtime Environment > Implementation Vendor: JogAmp Community > Implementation Vendor ID: com.jogamp > Implementation URL: http://jogamp.org/ > Implementation Version: 2.2.4 > Implementation Build: 2.2-b17-20141010 > Implementation Branch: origin/b22x > Implementation Commit: 78f641de80d1c37cd61e5300eeba369c6aa9b1a1 > ----------------------------------------------------------------------------------------------------- > BuildStamp: 1652 on October 28 2014 > > Initializing OpenGL X3D browser in GLJPanel (Swing) mode. > > Graphics architecture will support 4 samples of full screen antialiasing. > Warning: Native image loaders not available Updates available in the X3D-Edit/Netbeans plugin menu (change periodicity for checking from weekly to every startup) or via download. https://savage.nps.edu/X3D-Edit/#Downloads Test reports welcome. Have fun with X3D! On 10/30/2014 3:47 AM, Anthony Judge wrote: > In addition to my previous comment, but perhaps a useful indication, > it is unclear to me why the command line prompt box remains open once > X3DEdit is functioning. I attach a screen shot. It seems to make > little difference what I type at that prompt > > Tony > > On 30/10/2014, Don Brutzman wrote: >> Anthony, thanks for your note. >> >> Progress/problems: >> - We have recently upgraded Xj3D to match latest JOGL libraries >> - some of the stylesheet conversions and validation checks are blocking, >> we're still debugging >> - we are publishing updates ~ every 2 weeks >> - sometimes it works better as a Netbeans plugin >> - improvements to Shape node interface ongoing, keep adding primitives >> (Capsule is next) >> http://x3dgraphics.com/examples/X3dForAdvancedModeling/GeometricShapes/index.html >> >> Request: >> >> - please provide more detail on the bug(s) so that we can isolate or repeat >> them. >> >> Thanks for your efforts, have fun with X3D! >> >> On 10/25/2014 10:11 AM, Anthony Judge wrote: >>> Hi Don >>> >>> Great product. >>> >>> I installed it once. Was impressed with the Palette feature -- amongst >>> others. Used the product to successfully import .wrl files and export >>> them after editing. (Major issue was Cortona viewer gave me the file >>> header error on which others have commented -- I switched to H3DViewer >>> which works fine) >> >> X3D player list at >> http://www.web3d.org/x3d/content/examples/X3dResources.html#Applications >> >> X3D-Edit Preferences lets you configure to launch one or multiple players, >> if installed >> http://www.web3d.org/x3d/content/examples/X3dResources.html#Applications >> >>> I endeavoured to access some of the related document resources and was >>> confronted by a bit stream of program code -- maybe associated with >>> trying to install FreeWRL. Later those resources became accessible, >>> but not the Palette -- unclear what should bring up that side window >>> anyway. Maybe one of the files in the program directory go >>> disabled/corrupted. >>> >>> Continued editing without any problem. But few of the advertised extra >>> features seemed to be accessible -- maybe only via Netbeans? >>> >>> Decided to reinstall from the zip. No change. >>> >>> Decided to download a new zip. No change. Even though I had cleaned >>> registry, the edit interface remembered files on which I was working. >>> So obviously I did not get rid of everything. >>> >>> Any link to comments on such issues? >>> >>> Thanks >>> >>> Tony >> >> Currently we are using mail list, more is better, again thanks! >> >> 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