<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin: 0.1rem 0; line-height: 1.0;">To me, all this debugging stuff doesn't make much sense until the browser can support live interactive editing of the files. In HAnim here are many opportunities for manual editing of the various fields to define joint centers, skeleton-skin animation bindings and geometry and sensors. Lots of x3d is self validating by simple rules, like missing connections in routes and wrong number or type of parameters. The x3d object model structure, object, and field definitions are essential to first level debugging, but mostly debugging originates when you notice something wrong in the rendering or animation. These may be harder to track down and be numerical or timing issues, or simple typing errors rather than structural or logical. </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">Joe</p>
</div>
<div class="elnk-inline-message-container" style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<p>-----Original Message-----<br>From: John Carlson <yottzumm@gmail.com><br>Sent: Aug 13, 2023 6:47 AM<br>To: GPU Group <gpugroup@gmail.com>, Joe D Williams <joedwil@earthlink.net>, X3D Graphics public mailing list <x3d-public@web3d.org><br>Subject: Re: [x3d-public] Seed for a project</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<div dir="auto">Or alternatively, both x3d browser and debugger can join a party line.</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sun, Aug 13, 2023 at 8:45 AM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">
<div dir="auto">Do you guys think the x3d browser should contact the debugger or vica versa? I’m thinking we don’t want an open port the browser, so the user should enter host and port of debugger, and the debugger may show what the user should type in.</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sun, Aug 13, 2023 at 8:23 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" rel="noopener">yottzumm@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">
<div dir="auto">I am thinking SAI could be a good way to do this.</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sun, Aug 13, 2023 at 8:14 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" rel="noopener">yottzumm@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">
<div dir="auto">Good question about BVH! I am proposing a new mocap format that doesn’t need a hierarchy, and can do streaming, graph or grid data.</div>
<div dir="auto"> </div>
<div dir="auto">S:structure of data, G for grid, H for tree, D for D for DAG, C for cycles</div>
<div dir="auto">V: name or id of structure </div>
<div dir="auto">F: from joint name and/or id</div>
<div dir="auto">T:to joint name and/or id</div>
<div dir="auto">O: out name</div>
<div dir="auto">B:out data (beginning)</div>
<div dir="auto">I: in name</div>
<div dir="auto">E:in data (ending)</div>
<div dir="auto">.</div>
<div dir="auto">.</div>
<div dir="auto">.</div>
<div dir="auto">etc. </div>
<div dir="auto"> </div>
<div dir="auto">The animation is done like:</div>
<div dir="auto">J:Joint id or name</div>
<div dir="auto">C:Joint class or type (may change)</div>
<div dir="auto">A:Joint alias or DEF (optional)</div>
<div dir="auto">X:X location, unit (unit may be defaulted, no unit for scaling)</div>
<div dir="auto">Y:Y location, unit (ditto)</div>
<div dir="auto">Z:Z location, unit (ditto)</div>
<div dir="auto">T:frame or time, unit (ditto)</div>
<div dir="auto">.</div>
<div dir="auto">.</div>
<div dir="auto">.</div>
<div dir="auto">etc.</div>
<div dir="auto"> </div>
<div dir="auto">-V: remove structure </div>
<div dir="auto"> -J: remove joint </div>
<div dir="auto">-F: from joint name and/or id</div>
<div dir="auto">-T: to joint name and/or id</div>
<div dir="auto"> </div>
<div dir="auto">To remove joint, bones or routes.</div>
<div dir="auto"> </div>
<div dir="auto">Later, I will provide 4 data points per joint over time, for impact simulator I/O grid</div>
<div dir="auto"> </div>
<div dir="auto">J: Joint, as above</div>
<div dir="auto">U:up data</div>
<div dir="auto">D:down data</div>
<div dir="auto">R:right data</div>
<div dir="auto">L:left data</div>
<div dir="auto"> </div>
<div dir="auto">Plus ways to remove data by adding a - in front or behind the label and a leading or a trailing + to add data</div>
<div dir="auto"> </div>
<div dir="auto">This needs to be generalized. Think how to do hypergraphs. More verbose would be an option, IDK, i don’t want to reinvent a document format.</div>
<div dir="auto"> </div>
<div dir="auto">Obviously inspired by Katy’s format!</div>
<div dir="auto"> </div>
<div dir="auto">Contributions welcome.</div>
<div dir="auto"> </div>
<div dir="auto">John </div>
<div dir="auto"> </div>
<div dir="auto"> </div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sun, Aug 13, 2023 at 6:24 AM Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank" rel="noopener">joedwil@earthlink.net</a>> wrote:</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: #cccccc;">
<div style="font-family: arial,sans-serif; font-size: 12pt; color: #000000;">
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">Why concern about BVH?</p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
</div>
<div style="border-left-width: 1px; border-left-style: solid; box-sizing: border-box; padding: 10px 0px 10px 15px; margin: 0px; border-left-color: #aaaaaa;">
<p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" rel="noopener">yottzumm@gmail.com</a>><br>Sent: Aug 12, 2023 7:48 PM<br>To: GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank" rel="noopener">gpugroup@gmail.com</a>><br>Cc: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank" rel="noopener">x3d-public@web3d.org</a>><br>Subject: Re: [x3d-public] Seed for a project</p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<div dir="auto">I guess the best way to do the translations and rotations in BVH is from the root to the extremities? Get segments close to root, then work down the tree.</div>
<div dir="auto"> </div>
<div dir="auto">What about multiple parents in the DAG? How is this resolved? As separate children?</div>
<div dir="auto"> </div>
<div dir="auto">I’m pretty sure BVH is a tree? Anyone know?</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sat, Aug 12, 2023 at 12:00 PM GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank" rel="noopener">gpugroup@gmail.com</a>> wrote:</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: #cccccc;">
<div dir="ltr">
<div dir="ltr">> 1) provide a way to convert X3D nodes and ROUTEs to BVH with animation. This will require converting routes/segments over time to translations and rotations. Help is requested.</div>
<div>One fuzzy idea: use the nodes and routes to animate, and capture the animation at a choke point in the web3d browser. A good choke point is where the browser applies BVH animations to the HAnim. In freewrl there are a few spots where it calls update_jointMatrixFromMotion() and in theory there could be another call there update_MotionFromJointMatrix() which goes the other way, converting a joint matrix into a bvh motion for recording to a file, with frame timestamp.</div>
<div> </div>
</div>
<br>
<div class="gmail_quote"> </div>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sat, Aug 12, 2023 at 10:14 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" rel="noopener">yottzumm@gmail.com</a>> wrote:</div>
</div>
<div class="gmail_quote"> </div>
<div class="gmail_quote">
<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: #cccccc;">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">Here's the seed for a Java (possibly X3D-Edit) project. A graph/grid editor.</div>
<div dir="ltr"> </div>
<div dir="ltr"><a href="https://github.com/coderextreme/impact.dir/tree/master/impactVL" target="_blank" rel="noopener">https://github.com/coderextreme/impact.dir/tree/master/impactVL</a></div>
<div dir="ltr"> </div>
<div>I was thinking of adding:</div>
<div> </div>
<div> JSON/XML/VRML/BVH/MediaPipeHolistic/JavaSerialized/OpenUSD I/O, beyond native.</div>
<div> </div>
<div>There seems to be a slight issue with input right now, at least with the sort* input files in Impact.java</div>
<div> </div>
<div>Make a copy of a file externally before modifying in the tool, there's no way to save to another file currently in Impact.java.</div>
<div> </div>
<div>The goals are:</div>
<div> </div>
<div>1) provide a way to convert X3D nodes and ROUTEs to BVH with animation. This will require converting routes/segments over time to translations and rotations. Help is requested.</div>
<div> </div>
<div>2) provide a way to visualize ROUTEs with Java (anyone else have something?)</div>
<div> </div>
<div>3) provide different naming convention for different I/O</div>
<div> </div>
<div>4) take input from MediaPipe Holistic (Python) and convert to BVH.</div>
<div> </div>
<div>5) provide a way to debug X3D events in Java.</div>
<div> </div>
<div>There are already 2 different visualizations. I hope to add more. One (Cell4x4) is based on Jed Donnelly's graphics (see images folder) scanned from his Impact project (hence the name). I would like to use this with permission, but I haven't heard from him. The Java is mine, based on his original idea (not his or other's code).</div>
<div><br>Note that I haven't tested the Cell.java program much recently. Impact.java is what Jed called the "Flow" or "Floweth" language, but his idea was to create a textual language. But a challenge is making the 2 visualizations to work together. The textual language will be implemented in X3D/BVH. I don't have a reason to create a new language, nor do I want to.</div>
<div><br>Note that I already have the idea for "Inlines" or expanding nodes into another window. I'm not sure how well it's implemented. I'm not sure about I/O of nested nodes right now.</div>
<div> </div>
<div>This seems like a lot of fun, and maybe even useful, as opposed to X3D JSON.</div>
<div> </div>
<div>Ant and Makefiles provided. Not gradle. Too many garbage files to worry about iwith gradle--I'm not sure why they have all of them. If someone wants to provide maven or gradle, that would be cool. Ant is okay in Git for Windows. If I have to fall back to Makefiles, I can use Cygwin.</div>
<div> </div>
<div>Any problems, file an issue with <a href="https://github.com/coderextreme/impact.dir/issues" target="_blank" rel="noopener">https://github.com/coderextreme/impact.dir/issues</a>. There's one waiting for you to close, Jed.</div>
<div> </div>
<div>John</div>
<div> </div>
<div> </div>
</div>
</div>
</div>
</blockquote>
</div>
<div class="gmail_quote">
<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: #cccccc;">_______________________________________________<br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org" target="_blank" rel="noopener">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" rel="noopener noreferrer">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></blockquote>
</div>
</blockquote>
</div>
</div>
</div>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>