<div dir="auto">I am primarily working with live, streaming mocap data.   You already have a BVH to X3D converter.  Does it work with streaming “BVH”?  Can your  BVH->X3D tool create rotations through time with just joint (location) and bone data in a streaming format?)</div><div dir="auto"><br></div><div dir="auto">TypeScript only produces ECMAScript that I know of.  You can have your cake and eat it too.   I can post an example and have for equivalent ECMAScript to TypeScript.   I’m currently testing the result, but I’m running into shading issues, which may indicate issue with the new X3DJSONLD.js conversions (and X_ITE puts out NavigationInfo@type as an array—curses…we should schedule a meeting between interested parties).  There’s nothing on the console, so I’ll need to get into a debugger or use the GHD—web development is painful.  Edge developer tools is currently disabled, so I’m also shying away from Microsoft.   More later.</div><div dir="auto"><br></div><div dir="auto">We standardize on ECMAScript, but not disallow TypeScript.  Think of Typescript as Types for ECMAScript, and they are erasable.</div><div dir="auto"><br></div><div dir="auto">Java is proprietary as well.  TypeScript is as open source as Java, AFAIK.   I realize that NetBeans doesn’t support TypeScript.   I know preprocessors have a bad name, but compare TypeScript output to original hand-coded ECMAScript.</div><div dir="auto"><br></div><div dir="auto">I don’t include TypeScript in my web pages, I include ECMAScript.  I don’t see a particular reason for creating another concrete SAI based on ECMAScript, except to update the standard, and create a standard API.   I can tackle the XSLT, if I have adequate XSLT authoring tools.   Does X3D-Edit offer XSLT?</div><div dir="auto"><br></div><div dir="auto">Let me know if the validation tools I’ve created work.  Give me examples where they fail.   Both my x3dschema and x3dvalidate repositories offer powerful validators in Java and JavaScript.</div><div dir="auto"><br></div><div dir="auto"><div><a href="https://github.com/coderextreme/x3dvalidate">https://github.com/coderextreme/x3dvalidate</a></div><br></div><div dir="auto">I’ve recently discovered some false flags with Ajv.js that had me bugged.  I now know how to disable them, if cache is turned off.  In particular @matrix and @geoSystem were throwing false flags.   I’ve worked on validation tools in Java that use X3DJSAIL.   I don’t have an issue with leaving JSON Schema behind if we can create X3D JSON validation tools through XSLT using either x3d.py,  X3DJSAIL or a derivative.   I realize that X3D has a certain trajectory.   It seems like you (and maybe others) have an issue with leaving JSON Schema behind.  Are you thinking of Roy?</div><div dir="auto"><br></div><div dir="auto">John</div><div dir="auto"><br></div><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Aug 26, 2023 at 10:47 PM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div lang="EN-US" link="blue" vlink="purple" style="overflow-wrap: break-word;"><div class="m_7034040114132346634WordSection1"><p class="MsoNormal">John, it is great that you explore and do a lot of things, thank you.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Unfortunately your next message seems very puzzling to me.  Rather than respond, let me point out some fundamental building blocks please.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="1" type="a"><li class="m_7034040114132346634MsoListParagraph" style="margin-left:0in">We have X3D 4.0 with interpolators, event passing, HAnim inclusion, many other things.<u></u><u></u></li><li class="m_7034040114132346634MsoListParagraph" style="margin-left:0in">HAnim animation includes interpolator approaches (well tested) and BVH-style HAnimMotion (only a few tests, BVHacker might be useful).<u></u><u></u></li><li class="m_7034040114132346634MsoListParagraph" style="margin-left:0in">We have X3D equivalently expressible in XML, ClassicVRML, binary, Java and Python.<u></u><u></u></li><li class="m_7034040114132346634MsoListParagraph" style="margin-left:0in">We do not yet have, and certainly could use, a validating X3D JSON schema and an SAI-compliant X3D ECMAScript library.<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Repeating:<u></u><u></u></p><ul style="margin-top:0in" type="disc"><li class="m_7034040114132346634MsoListParagraph" style="margin-left:0in">Can your work get us (d) above?<u></u><u></u></li><li class="m_7034040114132346634MsoListParagraph" style="margin-left:0in">X3D group is not doing Microsoft TypeScript or other new languages while upgrading standards documents, libraries and test-archive examples thoroughly to each of our approved paths.<u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Focusing is good, and X3D group will stay focused on an already-large agenda.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Again thanks and good luck with your efforts.<u></u><u></u></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New""><u style="font-family:"Courier New""></u> <u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">all the best, Don<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">-- <u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" target="_blank" style="font-family:"Courier New"">brutzman@nps.edu</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">X3D graphics, virtual worlds, navy robotics <a href="https://faculty.nps.edu/brutzman" target="_blank" style="font-family:"Courier New"">https://faculty.nps.edu/brutzman</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p></div></div><div lang="EN-US" link="blue" vlink="purple" style="overflow-wrap: break-word;"><div class="m_7034040114132346634WordSection1"><p class="MsoNormal"><u></u> <u></u></p><div style="border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-color:rgb(225,225,225) currentcolor currentcolor"><p class="MsoNormal"><b>From:</b> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> <b>On Behalf Of </b>John Carlson<br><b>Sent:</b> Saturday, August 26, 2023 2:10 AM<br><b>To:</b> X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>>; Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a>><br><b>Subject:</b> [x3d-public] BVHacker, HAnim transformation, TypeScript SAI?<u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><div><p class="MsoNormal">I would like to create a way to "render" HAnim animations/transformations to one or more X3D encodings, in particular, I would like to do this in a headless manner (no screen involved). In particular, I would like to solve the problem of moving the humanoid between different poses and saving them off. I realize that many animation tools probably already do this. I know that SFMatrix and MFMatrix SAI can do matrix multiplication (no quaternions??) and that may be important.  But more important is making skins and skeletons from different systems to work together. Doug recommended BVHacker, <a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbvhacker.com%2F&data=05%7C01%7Cbrutzman%40nps.edu%7Cd9e0f5e5d4b44ca8974808dba61455d6%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638286378509592461%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=MjsHxXkfxI46FBjrUx67TH4NTs5PGfX50FrAftbEYy0%3D&reserved=0" target="_blank">bvhacker - home</a>.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I would use X3DOM or X_ITE if I could separate the rendering, X_ITE has Browser.toJSONString(), which I may experiment a bit with, and I want to address the skin and the skeleton separately, like rotating the skin 180 degrees, but not the skeleton.  Something like x3d-tidy or tovrmlx3d might be used to "animate" the humanoid.  That's up to those authors.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">So I think a bit about using XSLT and creating a TypeScript SAI.  I would likely modify the X3DJSAIL XSLT that takes the X3DUOM and produces X3DJSAIL, Python doesn't have a way to import any encoding that I know of (no createX3D...). X3DJSAIL has X3DLoaderDOM.java, which will allow me to import JSON as DOM which lets me use X3DJSONLD (I hope this works, otherwise I'll be riding the XML bandwagon!). C/C++/C# SAI looks like an empty shell (I realize there may be some DLLs).<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I choose not to modify the X3DJSAIL codebase beyond the stylesheet.  I'm not going there.  But my changes might be backported to Java.  I will attempt to use the SaxonJS product, if it is good enough, to be able to use x3dTo...xslt in the program. X3DJSAIL offers everything that I know I need except for applying transforms to centers.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I chose TypeScript over JavaScript/ECMAScript because I feel the former is closer to Java than the latter two.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">No, I'm not going to read the SAI standard. I have to learn TypeScript.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">If anyone knows a way to easily design XSLT (Something like XSLbyDemo), let me know...XMLSpy?<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">John<u></u><u></u></p></div></div></div></div></div></blockquote></div></div>