[x3d-public] FontStyle updates, accessType inputOutput (was: X3D4 Architecture validation and implementation update, with thanks)

Don Brutzman brutzman at nps.edu
Tue Jan 19 09:44:00 PST 2021


Found, fixed and deployed corrections a development issue from X3D4 experimentation last NOV-DEC 2020.

FontStyle and ScreenFontStyle have a 'style' field (PLAIN, BOLD, ITALIC, BOLDITALIC) that is a collision with CSS 'style' field.

We decided to keep the same field name without changes, and if CSS is applied then that is an option for a browser.

================================================================================
* 1335: FontStyle/ScreenFontStyle 'style' field naming collisions with CSS style
   https://www.web3d.org/member-only/mantis/view.php?id=1335

Given that approach v (name overloading) accepted by X3D Working Group in DEC 2020, additional spec prose can be drafted.  Perhaps not necessary since implementation not required of HTML Guidelines.

Changes applied to X3D Schema, DTD, X3DUOM, X3DJSAIL Java, X3DPSAIL Python, X3D Tooltips.  All "smoke tests" passed with logs updated in version control.

TODO need to change specification of FontStyle/ScreenFontStyle 'style' field to accessType inputOutput for compatibility with CSS 'style' field.
================================================================================

Any negative reactions to changing 'style' field to have accessType inputOutput?  Our original design consideration (waaay back in VRML97 days) was avoiding unnecessary computation at run time if fonts changed. Does not seem like an issue with modern graphics cards and modern browsers.

For that matter, we should likely change *all* of the accessType settings to inputOutput.  This makes displays more responsive, improving user experience and also supporting accessibility support.

================================================================================
FontStyle : X3DFontStyleNode {
   SFNode   [in,out] metadata    NULL    [X3DMetadataObject]
   MFString []       family      "SERIF"
   SFBool   []       horizontal  TRUE
   MFString []       justify     "BEGIN" ["BEGIN","END","FIRST","MIDDLE",""]
   SFString []       language    ""
   SFBool   []       leftToRight TRUE
   SFFloat  []       size        1.0     (0,∞)
   SFFloat  []       spacing     1.0     [0,∞)
   SFString []       style       "PLAIN" ["PLAIN"|"BOLD"|"ITALIC"|"BOLDITALIC"|""]
   SFBool   []       topToBottom TRUE
}
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/Part01/components/text.html#FontStyle
================================================================================

All feedback welcome.  Dick and I will discuss at next spec-editor call and we will resolve final answer this Friday morning during weekly X3D Working Group teleconference.


On 12/21/2020 5:21 PM, Don Brutzman wrote:
> Summary: this message lists support available for testing content and implementing X3D4, with thanks.
> 
> ---
> 
> 1. X3D4 draft specification documents, currently undergoing Web3D Consortium member ballot.
> 
> [1.1]    X3D4 Overview
>      https://www.web3d.org/x3d4
> 
> [1.2]    X3Dv4 Public Working Draft
>      https://www.web3d.org/x3dv4-public-working-draft
> 
> [1.3]    X3D4 Architecture Working Draft (WD3) Specification (with full markup)
>      https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3
> 
> [1.4]    X3D4 Architecture Working Draft (WD3) Ballot version (pristine copy)
>      https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/ballot
> 
> The X3D Working Group reviews all proposed technical changes and works to consensus on each capability improvement.  Dick Puk and I are the ISO-appointed specification editors charged with proper reconciliation of all document changes.  The Web3D Consortium is in charge of approving and advancing X3D improvements to ISO when they are ready for international review.  This is essentially the same process that has successfully guided our interoperable evolution from VRML97 through X3D 3.0, 3.1, 3.2 and 3.3 to the present day.
> 
> ---
> 
> 2. X3D4 validation tools and autogenerated libraries.
> 
> Happy to report availability of successfully updated implementations supporting all X3D4 node requirements now posed by Working Draft 3.
> 
> [2.1]    X3D XML Schema and DOCTYPE, X3D Unified Object Model (X3DUOM)
>      https://www.web3d.org/specifications/
> 
> [2.2]    https://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0.html
>      https://www.web3d.org/specifications/x3d-schema-changelog.txt
> 
> [2.3]    https://www.web3d.org/specifications/X3dDoctypeDocumentation4.0.html
>      https://www.web3d.org/specifications/x3d-dtd-changelog.txt
> 
> [2.4]    X3D Unified Object Model (X3DUOM) interfaces for all nodes, fields, statements
>      https://www.web3d.org/specifications/X3DUOM.html
>      https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml
> 
> [2.5]    X3DJSAIL: X3D Java Scene Access Interface Library
>      https://www.web3d.org/specifications/java/X3DJSAIL.html
> 
> [2.6]    X3DPSAIL: X3D Python Scene Access Interface Library
>      https://www.web3d.org/x3d/stylesheets/python/python.html
>      https://pypi.org/project/x3d
> 
> [2.7]    X3D Ontology for Semantic Web
>      https://www.web3d.org/x3d/content/semantics
> 
> [2.8]    X3D Tidy for Scene Cleanup, Corrections and Modifications
>      https://www.web3d.org/x3d/stylesheets/X3dTidy.html
> 
> [2.9]    X3D Validator: comprehensive Quality Assurance (QA) testing of X3D models
>      https://savage.nps.edu/X3dValidator
> 
> These updates are all checked into version control with latest revisions deployed.
> 
> ---
> 
> 3. X3D4 documentation highlights.
> 
> Recent specification changes include a small set of field renames for X3D3-X3D4 and optional support for Cascading Style Sheets (CSS).  Ongoing evaluation of the preceding X3D4 tools continues with regression testing of diverse examples.  Detailed analysis of issues is available to members in Mantis, which distills mailing-list discussion of issues and shows specification-editor resolutions.
> 
> [3.1]    X3D Tooltips, authoring hints for each node and field
>      https://www.web3d.org/x3d/tooltips/X3dTooltips.html
> 
> [3.2]    X3D Scene Authoring Hints: Field name changes planned for improved consistency
>      https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#fieldNameChanges
> 
> [3.3]    X3D4 Architecture, Annex L, HTML authoring guidelines
>      https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/Part01/htmlGuidelines.html
> 
> [3.4]    X3D Resources, Examples: Scene Archives for X3D
>      https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples
> 
> [3.5]    Web3D Mantis Issue Tracker
>      https://www.web3d.org/member-only/mantis/main_page.php
> ---
> 
> 4. X3D4 browser implementations.
> 
> Multiple browsers have been making progress towards X3D4 and have been instrumental in demonstrating impressive capabilities.  We haven't made it easy by supporting so many excellent new capabilities... but each is open source, which makes shared scrutiny and improvement possible. Ongoing scrutiny and progress of course remains welcome.
> 
> [4.1]    X_ITE X3D Browser: One Step Ahead!
>      https://github.com/create3000/x_ite/wiki
> 
> [4.2]    Titania X3D Editor: Ease On Out!
>      https://github.com/create3000/titania/wiki
> 
> [4.3]    X3DOM: Instant 3D the HTML way!
>      https://www.x3dom.org
> 
> [4.4]    Castle Game Engine: 3D and 2D game engine
>      https://castle-engine.io
> 
> [4.5]    FreeWRL: X3D/VRML open source viewer
>      http://freewrl.sourceforge.net
> 
> [4.6]    X3DJSONLD: X3D JSON loader and node.js express web server
>      https://github.com/coderextreme/X3DJSONLD
> 
> [4.7]    d3-x3d: 3D Data Driven Charting Library with D3 and X3D
>      https://github.com/jamesleesaunders/d3-x3d
> 
> Stellar MVPs include Holger Seelig, Andreas Plesch, Michalis Kamburelis, Doug Sanden, John Carlson and James Lee Saunders respectively for each of these critical codebases.  X3D4 would not be happening without them (and their communities supporting each codebase).
> 
> Hats off to MUFTI (Joerg Scheurich) who nurtured White Dune for many years but is no longer with us, taken just as he was gearing up for more X3D activity.
> 
> [4.8]    white_dune VRML/X3D editor
>      https://wdune.ourproject.org
> ---
> 
> 5. Next: OK then, here we go together.
> 
> It has been a big year despite many challenges. Perseverance is paying off, this is a major new level we are now reaching.
> 
> Many thanks are due to many many many contributors, this is entirely a team effort.  Wow, we are doing it!
> 
> - Weekly efforts and leadership (on every imaginable topic) with Anita Havele, Vince Marchetti, Nicholas Polys and Dick Puk have been essential throughout.
> - Michalis Kamburelis mixed oil + water to show how advanced glTF lighting and rendering was fully possible in X3D.
> - Efi Lakka and Thanos Malamos built the new Sound component by integrating the world-class Web Audio API.
> - Joe Williams and Myeong Won Lee are still "walking the walk" for Humanoid Animation (HAnim).
> - Kwan Hee Yoo reconciled images and lighting to make the Texture Projector component work.
> - Jakub Flotyński made the X3D Ontology work, opening the door for new levels of query/response/insight.
> - Andreas Plesch "hands on" both X3DOM and X_ITE has been essential for integration with HTML5 pages everywhere.
> - Anita Havele for enthusiastically helping everyone "tell the story" about these capabilities in ways that others can understand.
> - Vince Marchetti, Christophe Mouton and Soonhung Han for aligning X3D with 3D Scanning, 3D Printing and CAD models.
> - Nicholas Polys for clear vision and technical insights reflected throughout the specification.
> - Dick Puk for steady engagement in U.S. Standards body INCITS H3 and deep knowledge of ISO specification editing.
> - Mitch Williams (we miss you buddy) shared keen insights for effectively aligning user immersion with VR AR MAR and XR.
> - Special acknowledgement to retired co-chair Roy Walmsley for getting us all past the steepest part of the climb.
> - ... and who is here missing from the list?  Apologies for any unintended omissions...
> 
> Definitely thanks to everyone who has contributed along the way, you know who you are and group effort persists.
> 
> Essential to every effort: process and presence of nonprofit Web3D Consortium.  Please join as a member, and provide the Board of Directors with your assessment.
> 
> [5.1]    Join the Web3D Consortium
>      https://www.web3d.org/join
> 
> Next: just in case anyone wants to slow down, last month a bunch of people showed a LOT of progress that deserves much follow-on work.  Not bad for 25 years...
> 
> [5.2]    Web3D 2020 Conference, 25th Anniversary: "3D for a Hyperconnected World"
>      https://web3d.siggraph.org
> 
> I hope that everyone has a safe and happy holiday season with family and friends.
> 
> All insights and all improvements always welcome.  Have fun with X3D!  8)
> 
> all the best, Don

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