<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Aaron this is totally great! Go Go Go!!! 🙂</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
As ever, when your sculptural hammering converges and the dust starts to settle, integrating any new methods or documenting design patterns for x3d.py will be great to consider.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
P.S. Some cross checking might be helpful as you test these things, handling all ROUTE details in a scene can sometimes get tricky.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
If i recall correctly, Holger has done interesting work with visual editing of ROUTE connections also. Somewhere near:</div>
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":1}" style="list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">Sunrize Creating Routes Between Fields</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">https://create3000.github.io/sunrize/documentation/creating-routes-between-fields</div>
<div class="_Entity _EType_OWALinkPreview _EId_OWALinkPreview _EReadonly_1">
<div id="LPBorder_GTaHR0cHM6Ly9jcmVhdGUzMDAwLmdpdGh1Yi5pby9zdW5yaXplL2RvY3VtZW50YXRpb24vY3JlYXRpbmctcm91dGVzLWJldHdlZW4tZmllbGRzLw.." class="LPBorder478326" style="width: 100%; margin-top: 16px; margin-bottom: 16px; position: relative; max-width: 800px; min-width: 424px;">
<table id="LPContainer478326" role="presentation" style="padding: 12px 36px 12px 12px; width: 100%; border-width: 1px; border-style: solid; border-color: rgb(200, 200, 200); border-radius: 2px;">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td style="width: 100%;">
<div id="LPTitle478326" style="font-size: 21px; font-weight: 300; margin-right: 8px; font-family: wf_segoe-ui_light, "Segoe UI Light", "Segoe WP Light", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px;">
<a target="_blank" id="LPUrlAnchor478326" href="https://create3000.github.io/sunrize/documentation/creating-routes-between-fields/" style="text-decoration: none; color: var(--themePrimary);">Creating Routes Between Fields - Sunrize</a></div>
<div id="LPDescription478326" style="font-size: 14px; max-height: 100px; color: rgb(102, 102, 102); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px; margin-right: 8px; overflow: hidden;">
Dynamic Routes Transform Scenes Instantly. Some fields can be routed to other fields. When two fields are routed, changing the value of one event automatically changes the values of the fields that it is routed to.</div>
<div id="LPMetadata478326" style="font-size: 14px; font-weight: 400; color: rgb(166, 166, 166); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif;">
create3000.github.io</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div><br>
</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">Sunrize: Using the Outline Editor</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">https://create3000.github.io/sunrize/documentation/using-the-outline-editor</div>
<div class="_Entity _EType_OWALinkPreview _EId_OWALinkPreview_1 _EReadonly_1">
<div id="LPBorder_GTaHR0cHM6Ly9jcmVhdGUzMDAwLmdpdGh1Yi5pby9zdW5yaXplL2RvY3VtZW50YXRpb24vdXNpbmctdGhlLW91dGxpbmUtZWRpdG9yLw.." class="LPBorder967426" style="width: 100%; margin-top: 16px; margin-bottom: 16px; position: relative; max-width: 800px; min-width: 424px;">
<table id="LPContainer967426" role="presentation" style="padding: 12px 36px 12px 12px; width: 100%; border-width: 1px; border-style: solid; border-color: rgb(200, 200, 200); border-radius: 2px;">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td style="width: 100%;">
<div id="LPTitle967426" style="font-size: 21px; font-weight: 300; margin-right: 8px; font-family: wf_segoe-ui_light, "Segoe UI Light", "Segoe WP Light", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px;">
<a target="_blank" id="LPUrlAnchor967426" href="https://create3000.github.io/sunrize/documentation/using-the-outline-editor/" style="text-decoration: none; color: var(--themePrimary);">Using the Outline Editor - Sunrize</a></div>
<div id="LPDescription967426" style="font-size: 14px; max-height: 100px; color: rgb(102, 102, 102); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px; margin-right: 8px; overflow: hidden;">
The Outline Editor lets you. browse and edit the X3D source file for your scene; edit field values; create routes between fields; make precise selections within the scene file</div>
<div id="LPMetadata967426" style="font-size: 14px; font-weight: 400; color: rgb(166, 166, 166); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif;">
create3000.github.io</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div><br>
</div>
</li></ul>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
As a further double-check for your efforts, all of the X3D Examples have "X3D Documentation" that includes an Event Graph ROUTE Table shows event connections.</div>
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":1}" style="list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 07 Event Animation Interpolation</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof"><br>
</div>
</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 07 Event Animation Interpolation, Motion Interpolator Fish Prototype</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/MotionInterpolatorFishPrototypeIndex.html</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/MotionInterpolatorFishPrototype.html#EventGraph</div>
</li></ul>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
The X3D Documentation pages are produced in HTML using X3D stylesheet X3dToXhtml.xslt, as ever under a Web3D Consortium open-source license. Constructing such documentation is also invocable using the appropriate x3d.py method, which bundles it.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Have fun with design visualization of X3D animation! 🙂</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" id="Signature">
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">all the best, Don</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">--</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">Don Brutzman Naval Postgraduate School, Code USW/Br brutzman@nps.edu</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;"> </span></p>
</div>
<div id="appendonsend"></div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> x3d-public <x3d-public-bounces@web3d.org> on behalf of Bergstrom, Aaron via x3d-public <x3d-public@web3d.org><br>
<b>Sent:</b> Friday, January 17, 2025 7:48 AM<br>
<b>To:</b> Extensible 3D (X3D) Graphics public discussion <x3d-public@web3d.org><br>
<b>Cc:</b> Bergstrom, Aaron <aaron.bergstrom@und.edu><br>
<b>Subject:</b> Re: [x3d-public] X3D Route Editing in the Maya Node Editor</font>
<div> </div>
</div>
<style>
<!--
@font-face
{font-family:"Cambria Math"}
@font-face
{font-family:Calibri}
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif}
a:link, span.x_MsoHyperlink
{color:blue;
text-decoration:underline}
span.x_EmailStyle21
{font-family:"Calibri",sans-serif;
color:windowtext}
.x_MsoChpDefault
{font-family:"Calibri",sans-serif}
@page WordSection1
{margin:1.0in 1.0in 1.0in 1.0in}
-->
</style>
<div lang="EN-US" style="word-wrap:break-word">
<div class="x_WordSection1">
<p class="x_MsoNormal">Joe,</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">This implementation is primarily meant to be a GUI for Maya users to create routes through a familiar interface. Though I am trying to design the backend of it in a way that it might be extended in the future. Currently, it’s only passing
Boolean values around to the different nodes… as in “are we connected? True”.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">But there is now a Maya Dependency node for each X3D node in the 4.0 spec. I wrote a python script that ingested the node fields for each X3D node, that then generated a Maya Dependency node class in python for each X3D node, along with
the necessary Node Editor Template XML files to show the X3D eventIn/eventOut fields in the Maya Node Editor.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Each Maya Dependency node is also a x3d.py node as the have dual inheritance from OpenMaya.MPxNode and their corresponding x3d.NODE. So for instance, the X3D_Transform node in the image is both a OpenMaya.MPxNode and an x3d.Transform
node.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">All of this is to pave the way for embedding X_ITE and/or X3DOM in a custom Qt Widget that includes a QTreeWidget for the X3D Scene graph similar to the Maya’s Outliner widget for the Maya DAG, and a tabbed panel for the Node Editor and
a WebGL window based on QtWebEngine and X_ITE/X3DOM.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">The idea is to give content authors the ability to immediate preview X3D content within maya, much in the same way anyone developing with Unity or Unreal can hit the “play” button to test their game engine scene.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Well, that and actually exporting out X3D files using x3d.py.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">@Don – Sorry for all the creativity! I will try to limit the creativity in the future as much as possible, but for now, I just gotta get it out of my system!</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal"><span style="font-family:"Segoe UI Emoji",sans-serif">😃</span></p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">That said, none of this would be possible if there wasn’t already great work being done with x3d.py, X_ITE, and X3DOM.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Just trying to stand on the shoulders of giants.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Aaron</p>
<p class="x_MsoNormal"> </p>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_MsoNormal"><b>From:</b> Joe D Williams <joedwil@earthlink.net> <br>
<b>Sent:</b> Friday, January 17, 2025 4:12 AM<br>
<b>To:</b> Extensible 3D (X3D) Graphics public discussion <x3d-public@web3d.org>; Extensible 3D (X3D) Graphics public discussion <x3d-public@web3d.org><br>
<b>Cc:</b> Bergstrom, Aaron <aaron.bergstrom@und.edu><br>
<b>Subject:</b> Re: [x3d-public] X3D Route Editing in the Maya Node Editor</p>
</div>
<p class="x_MsoNormal"> </p>
<div>
<p><span style="font-size:12.0pt; font-family:"Arial",sans-serif; color:black">Hey Aaron,</span></p>
<p style="margin:0.1rem 0"><span style="font-size:12.0pt; font-family:"Arial",sans-serif; color:black">That looks very interesting. </span></p>
<p style="margin:0.1rem 0"><span style="font-size:12.0pt; font-family:"Arial",sans-serif; color:black">Under the covers there has to be a route-like list for event flows.</span></p>
<p style="margin:0.1rem 0"><span style="font-size:12.0pt; font-family:"Arial",sans-serif; color:black">per frame. </span></p>
<p style="margin:0.1rem 0"><span style="font-size:12.0pt; font-family:"Arial",sans-serif; color:black">Good stuff,</span></p>
<p style="margin:0.1rem 0"><span style="font-size:12.0pt; font-family:"Arial",sans-serif; color:black">Joe</span></p>
<p style="margin:0.1rem 0"><span style="font-size:12.0pt; font-family:"Arial",sans-serif; color:black"> </span></p>
</div>
<div style="border:none; border-left:solid #AAAAAA 1.0pt; padding:0in 0in 0in 11.0pt; box-sizing:border-box">
<p>-----Original Message-----<br>
From: Extensible 3D (X3D) Graphics public discussion <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>><br>
Sent: Jan 17, 2025 1:17 AM<br>
To: Extensible 3D (X3D) Graphics public discussion <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>><br>
Cc: Bergstrom, Aaron <<a href="mailto:aaron.bergstrom@und.edu">aaron.bergstrom@und.edu</a>><br>
Subject: [x3d-public] X3D Route Editing in the Maya Node Editor</p>
<p style="margin:0.1rem 0"> </p>
<div>
<p class="x_MsoNormal" style="">Here’s a screenshot of the Maya Node Editor demonstrating the capability of using Maya connections to create X3D Routes.</p>
<p class="x_MsoNormal" style=""><a href="https://drive.google.com/file/d/1s0vi0_-OCFesbV2zGFSm9HNBtZ7iNQ_N/view?usp=sharing" data-auth="Verified" originalsrc="https://drive.google.com/file/d/1s0vi0_-OCFesbV2zGFSm9HNBtZ7iNQ_N/view?usp=sharing" shash="o4fGiZoS0gX+e3x8jrcNeYM93BNPKUo7IquJFrQzpz4dFToupEFKhdVwuKJzlAtAiqUfgGNhSyVMPy6NIsD6SwYtOMsnOlvO7ApeaOTvSvntZbzVcIAFgzJMlwCPrwNWo0rOJR/m0mD51M7QQetYGMAEYgYUakqwFXQAnNOLn+E=">https://drive.google.com/file/d/1s0vi0_-OCFesbV2zGFSm9HNBtZ7iNQ_N/view?usp=sharing</a></p>
<p class="x_MsoNormal" style=""> </p>
<p class="x_MsoNormal" style="">There’s a lot of work to be done yet, but I’m super excited that I at least was able to get the GUI part of it to work.</p>
<p class="x_MsoNormal" style=""> </p>
<p class="x_MsoNormal" style="">Aaron</p>
</div>
</div>
<p style="margin:0.1rem 0"> </p>
</div>
</div>
</body>
</html>