[x3d-public] X3D schema, DTD updates: a new year emphatically begins
Don Brutzman
brutzman at nps.edu
Mon Jan 18 19:12:59 PST 2016
Another X3D Schema/DTD release milestone was reached today, with much progress reported in extensive detail on the X3D working group mailing list. Details follow.
As before, the X3D Schema and DTD are fully validating all .x3d scenes known to be correct (using the XML encoding). We also track and resolve all specification-related comments posted via the feedback form and public mailing list. Nevertheless we keep checking on ways to keep making them both tighter and more precise since... Content is King. 8)
This month's improvements to the X3D Schema have added sufficient consolidated information such that a fully defined X3D Object Model might be automatically produced. In turn, the X3D Object Model will subsequently be used to autogenerate open-source Application Programming Interfaces (APIs) that fully instantiate the X3D Scene Access Interface (SAI) in JavaScript, Java and C++.
Enabling programmers to create and modify X3D scenes consistently, using their programming language of choice, has a lot of potential benefits that we are keen to unlock.
Roy Walmsley's deep-dive comparative review of X3D Abstract Specification with X3D Schema is yielding many comments that further improve the rigor of each. Deliberate records of discussions and decisions are being conducted on the member-only x3d at web3d.org mailing list and maintained in the Web3D Consortium's Mantis issue-tracking system. The next month's round of updates is similarly likely to keep progressing rapidly. Interesting discussions!
We think that these improvements and emerging capabilities are fundamentally important to ensure that this year's X3D version 4 specification gets built upon a rock-solid foundation.
Here are changelog summaries of the latest release modifications, reported so that tool builders and scene authors can all stay up to date.
=============================================================================
X3D Schema update activity:
http://www.web3d.org/specifications/x3d-schema-changelog.txt
18 January 2016, walmsley, brutzman
- componentName, componentLevel annotation/appinfo entries inserted throughout to support X3D Object Model API generation.
Includes support-level details, noting where full support for child attributes/elements may require a higher componentLevel
than baseline componentLevel for parent node.
- Add 'class' attribute to all X3D statements (including SceneGraphStructureStatement) for consistency with HTML.
- All complexType definitions abstract=true (cannot be instantiated as elements) and final=false (can be extended).
- Improved draft abstract definition for Event, matching ProtoBody content model with attributes timestamp, type, value.
- DISEntityTypeMapping implements X3DInfoNode.
- GeoMetadata: add additionalInterface X3DUrlObject.
- Normalization of leading whitespace using tabs, updated contributor list, noted use of Mantis for issues.
http://stackoverflow.com/questions/1949014/how-can-i-configure-netbeans-to-insert-tabs-instead-of-a-bunch-of-spaces
3 January 2016, walmsley, brutzman
- (v3.2+) GeneratedCubeMapTexture, ImageCubeMapTexture: added SFNode TextureProperties as contained content
- Noted unbounded simpleType enumeration list for shaderLanguageValues (v3.1+), hanimVersionValues
- Added unbounded simpleType enumeration list for fontStyleFamilyValues, annotated FontStyle and ScreenFontStyle
- Applied range limits as annotation appinfo to multiple nodes and a variety of index fields
- Refactored nearly all containerField values to explicitly appear in each node, rather than in node types.
This approach is more verbose but fixes several containerField value-collision problems.
- Viewport default containerfield='viewport' which match Layering, Layout components
23 December 2015, walmsley, puk, daly, brutzman
- ElevationGrid/GeoElevationGrid defaults for xDimension/zDimension set to 2, height array set to [0 0 0 0]
showing unit grid as default node. Also adjusted minInclusive/minExclusive limits.
22 December 2015, walmsley, brutzman
- (v3.1+) FogCoordinate inherits from X3DGeometricPropertyNode, also fixed documentation url
=============================================================================
X3D DTD update activity:
http://www.web3d.org/specifications/x3d-dtd-changelog.txt
13 January 2015, walmsley, brutzman
- (v3.2+) GeneratedCubeMapTexture, ImageCubeMapTexture: added SFNode TextureProperties as contained content
- (v3.2+) Contact node default containerField="contacts"
- (v3.3+) Added class attribute to MetadataBoolean and VolumeRendering component nodes
- (v3.3+) Remove duplicate enabled attribute from ShadedVolumeStyle
- insertion of comments to indicate which version of X3D includes addition of new elements/attributes,
in order to facilitate diffing and maintenance of successive DTD versions
28 December 2015, seelig, walmsley, brutzman
- (v3.2+) LayoutLayer containerField corrected as "layers"
23 December 2015, walmsley, puk, daly, brutzman
- ElevationGrid/GeoElevationGrid defaults for xDimension/zDimension set to 2, height array set to [0 0 0 0]
showing unit grid as default node.
=============================================================================
These assets can be found on the X3D Specifications: XML Schema and DOCTYPE Validation page.
http://www.web3d.org/specifications
Full documentation updates have been autogenerated for the XML Schema and DOCTYPE, available for X3D versions 3.0 through 3.3 plus experimental 4.0. Recommended version is 3.3.
http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3.html
http://www.web3d.org/specifications/X3dDoctypeDocumentation3.3.html
The X3D Working Group also maintains the X3D Graphics Standards: Specification Relationships diagram up to date, showing the roadmap for all major planned work.
http://www.web3d.org/specifications/X3dSpecificationRelationships.png
http://www.web3d.org/specifications/X3dSpecificationRelationships.pdf
Please note that X3D version 4.0 Schema and DTD are experimental and support specification development. All versions are maintained under open-source version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/specifications
Changes are tested through validation regression testing of 3800+ open-source X3D scenes.
X3D Resources: Examples
http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples
X3D Resources: Quality Assurance (QA)
http://www.web3d.org/x3d/content/examples/X3dResources.html#QualityAssurance
Corresponding updates are also regularly released in the following public assets:
X3D Tooltips
http://www.web3d.org/x3d/content/examples/X3dResources.html#Tooltips
X3D Validator
https://savage.nps.edu/X3dValidator
X3D-Edit Authoring Tool
https://savage.nps.edu/X3D-Edit
You can comment on the X3D Specifications in multiple ways. All feedback gets considered.
mailto:x3d-public at web3d.org
http://www.web3d.org/x3d/content/examples/X3dResources.html#Feedback
http://www.web3d.org/content/web3d-standards-comment-form
Feedback welcome, thanks for all testing and contributions.
Want to help support this work building the future Web? The value of membership in the Web3D Consortium continues to steadily grow. Your engagement can definitely help, there are lots of cool challenges to pursue. Please consider joining as a company, institution or individual to participate. With a Board of Directors election commencing, new members have additional influence.
http://www.web3d.org/join
Progress is already shaping up for us to have another a great year, perhaps our most productive yet. 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
More information about the x3d-public
mailing list