[x3d-public] Proposed Independent Extensions to X3DJSAIL (for public review)
John Carlson
yottzumm at gmail.com
Thu Mar 21 07:28:18 PDT 2024
See additional comments below. Sorry for being the Energizer Bunny.
I did think my proposal was complete, sorry.
Same old story, feature creep.
John
On Thu, Mar 21, 2024 at 1:12 AM John Carlson <yottzumm at gmail.com> wrote:
> Here are the “visitor pattern” methods I’d like to implement as an
> independent extension of X3DJSAIL to improve HAnim scaling code in
> scenegraphs. A prototype is complete. This is called X3DGAIL as I will
> call it from GraalJS, and interact with Java classes in the Java/GraalJS
> FFI (FCI?). This will be created in the JSHumanoids repository under
> Apache license.
>
> These will be implemented in Java as subclasses of, or delegating to
> X3DJSAIL classes with an abstract SAI interface inheritance, and possibly
> other interfaces for each method. The app code will remain in GraalJS.
>
> findObjectsByInterface(interfaceArray)
>
> —To find humanoid objects in the scene graph.
>
> I am not seriously considering using an optional “blockers” interface
array to block traversal at interfaces in the hierarchy. There’s no user
story yet for blockers yet. This may slow things down. For example, one
might stop at HAnim fields other than humanoid, but there might be a baby
in a mother’s arms. Or a parent with a child with a baby. There may be
additional scaling for humanoid children. Hmm! A flag? Is the children’s
LCS within the parent’s LCS?
>
> applyMatrix(Matrix4f, depth) or 3f?
>
> —For rescaling humanoids, centers, transforms, and geometry in the scene
> graph by their scaling factor, for applying standard matrix transformations
> to the humanoid figure, but can be used more generally to rotate, scale,
> translate or skew an object .
>
> — depth of -1 means entire scene graph below current node, 0 is NO-OP. 1
> means current node, 2 means 2 levels, … you subtract from depth going down
> the scene graph recursively.
>
>
I am going to add a “blockers” interface array to block traversal at points
in the hierarchy, for example, do not apply matrix below TextureCoordinate,
e.g. point field.
> reparentChildrenByParentClass(class, newParent, ignoredFieldSet)
>
> — if ignoredFieldSet is null, force reparenting.
>
> — for removing defaulted parents, like extra Transform.
>
I may add a source field array and target field to reparent to. A source
field would be considered an ignored field in default comparisons.
Typically, this would be called on an array of Humanoids, and the class
would be Transform.
>
An ignored field would be children for Transform. Unless there are no
Transform children.
>
> These methods apply from the current object down the scene graph.
>
>
> I will probably try to implement this with a Java SAX Parser-Generator
> parsing X3DUOM and generating Java code. If someone wants to turn this
> into a stylesheet, go for it , but we probably want to keep X3DJSAIL
> pristine. There may be private methods used.
>
A templating engine (XSLT or other) is looking more attractive for
implementation. Sigh, logic is too complex for SAX? Python might be a
better choice? XPath operations would be lovely! I’ll work on reducing
dependencies.
Ultimately, this will be folded into X3DEOM and I will update the X3DEOM
> once the classes are working.
>
>
> It’s been a long day, sorry for the massive rambling.
>
> I reserve the last parameters for an error callback, or I will return a
> boolean. Ideally, these could be implemented in a Compute Shader.
>
I will probably return an array of affected objects.
> Suggestions welcome!
>
John
>
>
> I thought of X3DGRAIL, lol.
>
>
> On Wed, Mar 20, 2024 at 5:52 PM Polys, Nicholas <npolys at vt.edu> wrote:
>
>> Indeed on the member side of Web3D
>> We are eager for implementations and examples.
>>
>> As far as spec preparation, this is not public until The WG deems it.
>> The WG has a Google drive space to develop material, such as working
>> drafts for mber review.
>>
>> When the Chairs deem a spec or errata ready as a working draft document
>> draft ,
>> The Web3D Consortium will create a GitHub branch for the spec version in
>> question. At that point, the Chairs will be responsible to maintain updates
>> on the way to review and submission by the Web3D Standards WG to
>> Be approved by
>> The Web3D Board
>> For submission to ISO
>>
>> Br,
>> N
>>
>>
>>
>> ------------------------------
>> *From:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
>> *Sent:* Tuesday, March 19, 2024 10:23:02 PM
>> *To:* Anita Havele <anita.havele at web3d.org>; Carol McDonald <
>> carol at gneissconcept.com>; Katy Schildmeyer KS APPAREL DESIGN <
>> katy at ksappareldesign.com>; Emma Scott <connect at fashionshouldempower.com>;
>> Richard F. Puk <puk at igraphics.com>; Polys, Nicholas <npolys at vt.edu>;
>> Joseph D Williams <joedwil at earthlink.net>; Myeong Won Lee <
>> myeongwonlee at gmail.com>; william.glascoe at tailoredaccess.com <
>> william.glascoe at tailoredaccess.com>; vmarchetti at kshell.com <
>> vmarchetti at kshell.com>; yottzumm at gmail.com <yottzumm at gmail.com>;
>> highaspirations at hotmail.com <highaspirations at hotmail.com>
>> *Cc:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
>> *Subject:* RE: HAnim Resources page - add new/draft spec documents for
>> review
>>
>> Glad to see possible progress, but... I have been emphatic (for at least
>> a year) that proposed products looking to gain consensus must be publicly
>> visible and comment-able to be considered for integration into tool suites
>> and examples. Have not heard or seen anything about that.
>>
>>
>>
>> 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
>> https://faculty.nps.edu/brutzman
>>
>>
>>
>> *From:* Anita Havele <anita.havele at web3d.org>
>> *Sent:* Tuesday, March 19, 2024 3:44 PM
>> *To:* Carol McDonald <carol at gneissconcept.com>; Katy Schildmeyer KS
>> APPAREL DESIGN <katy at ksappareldesign.com>; Emma Scott <
>> connect at fashionshouldempower.com>; Brutzman, Donald (Don) (CIV) <
>> brutzman at nps.edu>; Richard F. Puk <puk at igraphics.com>; Nicholas Polys <
>> npolys at vt.edu>; Joseph D Williams <joedwil at earthlink.net>; Myeong Won
>> Lee <myeongwonlee at gmail.com>; william.glascoe at tailoredaccess.com;
>> vmarchetti at kshell.com; yottzumm at gmail.com; highaspirations at hotmail.com
>> *Subject:* HAnim Resources page - add new/draft spec documents for review
>>
>>
>>
>> Hi All,
>>
>> Thank you team for these important discussions on now best to define the
>> new feature points. To help us share and reference documents efficiently, I
>> have created a members only resource page for the HAnim WG at :
>> https://www.web3d.org/member/wg/hanim
>>
>> The documents folder
>> <https://drive.google.com/drive/folders/1zBUZXSg4R8VRcT_JM_kwR-BFOMs3M-l6?usp=sharing>
>> has a sub folder for - *HAnim v3.0 Draft Documents* - * please upload
>> your new feature points documents here.* After proper review the
>> documents will be moved to the Web3D GitHub
>> <https://github.com/Web3DConsortium> Repository by WG chairs.
>>
>> Don and Myeong Won I see two branches for HAnim (Master and markers_for
>> 3dbp) https://github.com/Web3DConsortium/HAnim/tree/markers_for_3dbp
>>
>> This HAnim resources page <https://www.web3d.org/member/wg/hanim> is
>> also available from the Web3D calendar
>> <https://www.web3d.org/calendar/month> under the HAnim meeting event.
>> Here you can access meeting agendas, minutes and documents. These are
>> shared folders and documents so please be mindful when making changes.
>> This is a *member-only page*. You will need your Web3D member login. If
>> you have issues accessing this page please contact me directly.
>>
>> Hope this helps!
>>
> --
>> Best regards, Anita-Havele Executive Director, Web3D Consortium
>> www.web3d.org Phone: +1 248 342 7662 http://www.web3d.org/havele
>>
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20240321/f5aa30b6/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 54950 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20240321/f5aa30b6/attachment-0001.png>
More information about the x3d-public
mailing list