Menu

#102 Fixes for X3DJSAIL/X3DPSAIL. HAnim field output ordering

HAnim
closed
None
2 days ago
2026-04-30
No

Please choose between outputting a DEF before USEs for multiply referenced DEF nodes for HAnimSegment coord/children field Coordinate descendants and HAnimHumanoid's skin/skinCoord field Coordinate descendants, or maintain authors intent by keeping a list of MFNode/SFNode fields ordered by author's intent (keep a list). We can discuss on list if desired. Let me know if there's some other possible solution.

4 Attachments

Related

Tickets: #102

Discussion

  • John W Carlson

    John W Carlson - 2026-04-30

    The reason I say multiply referenced DEF nodes is because any variable can be reused by addChild() , set*() in X3DJSAIL or a setter or append in X3DPSAIL, and it's kinder to handle this on output using the first technique, and I'm not sure if the second technique is viable without the first technique. Is the first technique viable? Ask Michalis K.

     
  • John W Carlson

    John W Carlson - 2026-04-30

    Michalis technique can also capture multiply referenced DEFs through traversal on output, and choose to output a USE node instead of a DEF node, or throw a warning.

     
  • John W Carlson

    John W Carlson - 2026-04-30

    There's a variety of options for implementation, but keeping the DEF value as a key in a HashMap seems doable, Options include boolean value, count value, node value or node list value in the HashMap. In Python, it would be a dict or object, I guess. One HashMap per namespace of course, so probably a HashMap keyed on namespace to a HashMap of DEF values (above) per namespace. I don't know how namespaces are managed in X3DJSAIL, but I'm guessing a context is needed to passed to each call (ala Lisp). I think SAI has that.

     
  • John W Carlson

    John W Carlson - 2026-04-30

    here's a skeleton implemenratiom

     
  • Don Brutzman

    Don Brutzman - 2 days ago
    • status: open --> closed
     
    • John W Carlson

      John W Carlson - 2 days ago

      We spoke at great length about this on the mailing list. No one suggested
      adding arbitrary AI code. This is an old ticket, suggesting a fix for
      multiply referenced DEF nodes in Java. If you do want to pursue DEF
      before USE and multiply referenced DEFs in the future, this design has been
      extended. By a vote of 3 to 2, it was decided to support USE before DEF.
      Multiply referenced DEFs are handled by adding DTD, Schema and Schematron,
      when that gets put into X3DJSAIL validation.

      Holger needs to handle author intent and list USE before DEF on output for
      x3d-tidy, and perhaps Michalis needs to stop flagging USE before DEF in
      Castle. I will file tickets.

      John
      On Fri, May 15, 2026 at 7:44 PM Don Brutzman brutzman@users.sourceforge.net
      wrote:

      • status: open --> closed
      • Comment:

      I do not understand what problem you are trying to solve. No test case
      provided.

      We will not be adding arbitrarary AI source code to X3DJSAIL, that is a
      security vulnerability and likely unmaintainable.

      Better, simpler problem definitions please.

      [tickets:#102] https://sourceforge.net/p/x3d/tickets/102/ Fixes for
      X3DJSAIL/X3DPSAIL. HAnim field output ordering

      Status: closed
      Milestone: HAnim
      Created: Thu Apr 30, 2026 07:20 AM UTC by John W Carlson
      Last Updated: Thu Apr 30, 2026 11:40 AM UTC
      Owner: Don Brutzman
      Attachments:

      Please choose between outputting a DEF before USEs for multiply referenced
      DEF nodes for HAnimSegment coord/children field Coordinate descendants and
      HAnimHumanoid's skin/skinCoord field Coordinate descendants, or maintain
      authors intent by keeping a list of MFNode/SFNode fields ordered by
      author's intent (keep a list). We can discuss on list if desired. Let me
      know if there's some other possible solution.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/x3d/tickets/102/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Tickets: #102

  • Don Brutzman

    Don Brutzman - 2 days ago

    I do not understand what problem you are trying to solve. No test case provided.

    We will not be adding arbitrary AI source code to X3DJSAIL, that is a security vulnerability and likely unmaintainable.

    Better, simpler problem definitions please.

     

    Last edit: Don Brutzman 2 days ago

Log in to post a comment.

MongoDB Logo MongoDB