<div dir="ltr">Joe, if you need help discerning loops, let me know. Initially, the animations were designed to loop, I don't recall if I stopped them or not. I'm also not sure which version is in the archive compared to what I generate now.<div><br></div><div>All of Tufani, Lily and Leif are pretty much the same, perhaps with minor details different. Gramps differs, but he has same chaining behavior. If you think the Toddlers are big files, wait for Gramps.</div><div><br></div><div>Note when you view the model, the animations do stop AFAICT.</div><div><br></div><div>I believe the BooleanSequencers drive whether animations are running or not, so one may want to consider them in any analysis.</div><div><br></div><div>John</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Feb 17, 2024 at 6:19 PM Brutzman, Donald (Don) (CIV) via x3d-public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg5879290951678315878"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="m_5879290951678315878WordSection1"><p class="MsoNormal">Joe, following up with improved diagnostics, here is some specific detail on some of the harder scenes with loops.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Conversion to html documentation for Leif, Lily, and Tufani (also *Animated) versions are all producing similar error reports. Each form is also pretty big (around 11MB). Here is conversion of Leif.x3d model to Leif.html documentation: <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in">X3D Example Archives: Humanoid Animation, Winter And Spring, Leif<u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in">Humanoid model of a grandchild<u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/LeifIndex.html" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/LeifIndex.html</a><u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">The main problem with these models is that the geometry seems ridiculously over-detailed, making the file sizes much bigger than needed.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Meanwhile you have a huge number of ROUTE declarations, which are producing ROUTE loops in the event graph. Am thinking it would be good to diagnose and get rid of the ROUTE loops.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">If you can discern some fixes in one, that should enable similar fixes in the other models. Good luck sir.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">ant -f C:\\x3d-code\\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\\x3d\\content\\examples\\HumanoidAnimation processScenes.htmlPrettyPrintPages<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">get.web3d.saxon.check:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">found C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\content\examples\HumanoidAnimation\lib/saxon-he-12.1.jar: true<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">get.web3d.saxon:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">processScenes.htmlPrettyPrintPages:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\content\examples\HumanoidAnimation/WinterAndSpring//Leif.x3d processing with X3dToXhtml stylesheet for pretty-print .html<u></u><u></u></span></p><p class="MsoNormal"><b><span style="font-size:9pt;font-family:"Courier New"">[info] total # ROUTE statements = 475</span></b><span style="font-size:9pt;font-family:"Courier New"">, event-cascade table-column maxROUTEdepth=8<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_humanoid_root' set_translation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_humanoid_root' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_l_carpometacarpal_1' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_l_elbow' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_l_hip' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_l_knee' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_l_metatarsophalangeal_2' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_l_radiocarpal' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_l_shoulder' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_l_sternoclavicular' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_l_talocrural' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_r_carpometacarpal_1' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_r_elbow' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_r_hip' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_r_knee' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_r_metatarsophalangeal_2' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_r_radiocarpal' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_r_shoulder' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_r_sternoclavicular' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_r_talocrural' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Run011Timer' set_enabled<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Run011Timer' set_startTime<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_sacroiliac' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_sacroiliac' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_sacroiliac' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_sacroiliac' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Skip014Timer' set_enabled<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Skip014Timer' set_startTime<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_skullbase' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: BooleanFilter DEF='Leif_Stand010SPLITTERBooleanFilter' set_boolean<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Stand010Timer' set_enabled<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Stand010Timer' set_startTime<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Stand015Timer' set_enabled<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Stand015Timer' set_startTime<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Stand016Timer' set_enabled<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Stand016Timer' set_startTime<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Turn012Timer' set_enabled<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Turn012Timer' set_startTime<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_vc4' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_vl2' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: HAnimJoint DEF='Leif_vl5' set_rotation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Walk013Timer' set_enabled<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** Multiple event fan-in to same node/@field (from different source ROUTEs) may have varying, nondeterministic delivery order: TimeSensor DEF='Leif_Walk013Timer' set_startTime<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">[diagnostic] $maxROUTEdepth=8 but found that node TimeSensor DEF='Leif_Run011Timer' has IncomingRoutes=5, OutgoingRoutes=28, SelfRoutes=0<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Turn012Timer.stopTime_changed TO Leif_Walk013Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Turn012Timer.stopTime_changed TO Leif_Walk013Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Run011Timer.stopTime_changed TO Leif_Turn012Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Turn012Timer.isActive TO Leif_Walk013NEGATERBooleanFilter.set_boolean;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Run011Timer.stopTime_changed TO Leif_Turn012Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Turn012NEGATERBooleanFilter.inputNegate TO Leif_Run011BooleanSequencer.next;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Run011Timer.isActive TO Leif_Turn012NEGATERBooleanFilter.set_boolean;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">[diagnostic] $maxROUTEdepth=8 but found that node TimeSensor DEF='Leif_Skip014Timer' has IncomingRoutes=5, OutgoingRoutes=19, SelfRoutes=0<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand015Timer.stopTime_changed TO Leif_Stand016Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand015Timer.stopTime_changed TO Leif_Stand016Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Skip014Timer.stopTime_changed TO Leif_Stand015Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand015Timer.isActive TO Leif_Stand016NEGATERBooleanFilter.set_boolean;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Skip014Timer.stopTime_changed TO Leif_Stand015Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand015NEGATERBooleanFilter.inputNegate TO Leif_Skip014BooleanSequencer.next;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Skip014Timer.isActive TO Leif_Stand015NEGATERBooleanFilter.set_boolean;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">[diagnostic] $maxROUTEdepth=8 but found that node TimeSensor DEF='Leif_Stand010Timer' has IncomingRoutes=6, OutgoingRoutes=31, SelfRoutes=0<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Run011Timer.stopTime_changed TO Leif_Turn012Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Run011Timer.stopTime_changed TO Leif_Turn012Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand010Timer.stopTime_changed TO Leif_Run011Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Run011Timer.isActive TO Leif_Turn012NEGATERBooleanFilter.set_boolean;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand010Timer.stopTime_changed TO Leif_Run011Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Run011NEGATERBooleanFilter.inputNegate TO Leif_Stand010BooleanSequencer.next;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand010Timer.isActive TO Leif_Run011NEGATERBooleanFilter.set_boolean;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">[diagnostic] $maxROUTEdepth=8 but found that node TimeSensor DEF='Leif_Stand015Timer' has IncomingRoutes=5, OutgoingRoutes=31, SelfRoutes=0<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand016Timer.stopTime_changed TO Leif_Stand010Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand016Timer.stopTime_changed TO Leif_Stand010Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand015Timer.stopTime_changed TO Leif_Stand016Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand016Timer.isActive TO Leif_Stand010NEGATERBooleanFilter.set_boolean;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand015Timer.stopTime_changed TO Leif_Stand016Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand016NEGATERBooleanFilter.inputNegate TO Leif_Stand015BooleanSequencer.next;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand015Timer.isActive TO Leif_Stand016NEGATERBooleanFilter.set_boolean;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">[diagnostic] $maxROUTEdepth=8 but found that node TimeSensor DEF='Leif_Stand016Timer' has IncomingRoutes=5, OutgoingRoutes=31, SelfRoutes=0<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand010Timer.stopTime_changed TO Leif_Run011Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand010Timer.stopTime_changed TO Leif_Run011Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand016Timer.stopTime_changed TO Leif_Stand010Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand010Timer.isActive TO Leif_Run011NEGATERBooleanFilter.set_boolean;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand016Timer.stopTime_changed TO Leif_Stand010Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand010NEGATERBooleanFilter.inputNegate TO Leif_Stand016BooleanSequencer.next;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Stand016Timer.isActive TO Leif_Stand010NEGATERBooleanFilter.set_boolean;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">[diagnostic] $maxROUTEdepth=8 but found that node TimeSensor DEF='Leif_Turn012Timer' has IncomingRoutes=5, OutgoingRoutes=28, SelfRoutes=0<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Walk013Timer.stopTime_changed TO Leif_Skip014Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Walk013Timer.stopTime_changed TO Leif_Skip014Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Turn012Timer.stopTime_changed TO Leif_Walk013Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Walk013Timer.isActive TO Leif_Skip014NEGATERBooleanFilter.set_boolean;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Turn012Timer.stopTime_changed TO Leif_Walk013Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Walk013NEGATERBooleanFilter.inputNegate TO Leif_Turn012BooleanSequencer.next;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Turn012Timer.isActive TO Leif_Walk013NEGATERBooleanFilter.set_boolean;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">[diagnostic] $maxROUTEdepth=8 but found that node TimeSensor DEF='Leif_Walk013Timer' has IncomingRoutes=5, OutgoingRoutes=30, SelfRoutes=0<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Skip014Timer.stopTime_changed TO Leif_Stand015Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Skip014Timer.stopTime_changed TO Leif_Stand015Timer.set_startTime;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Walk013Timer.stopTime_changed TO Leif_Skip014Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Skip014Timer.isActive TO Leif_Stand015NEGATERBooleanFilter.set_boolean;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Walk013Timer.stopTime_changed TO Leif_Skip014Timer.set_startTime;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Skip014NEGATERBooleanFilter.inputNegate TO Leif_Walk013BooleanSequencer.next;' at $nodeDepth=2<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">*** [check-event-chain-loop] *detected event loop* repeating ROUTE 'Leif_Walk013Timer.isActive TO Leif_Skip014NEGATERBooleanFilter.set_boolean;' at $nodeDepth=1<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\content\examples\HumanoidAnimation/WinterAndSpring//Leif.x3d processing with X3dExtrusionCrossSectionToSvg stylesheet for SVG diagrams (if Extrusion found)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">echo.timestamp:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">timestamp 16:14:25 on 17 February 2024<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">processScenes.htmlPrettyPrintPages complete.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">BUILD SUCCESSFUL (total time: 24 seconds)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">all the best, Don<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">-- <u></u><u></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">brutzman@nps.edu</a><u></u><u></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></u><u></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">https://faculty.nps.edu/brutzman</a><u></u><u></u></span></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal"><b><span style="font-family:Calibri,sans-serif">From:</span></b><span style="font-family:Calibri,sans-serif"> Brutzman, Donald (Don) (CIV) <br><b>Sent:</b> Friday, February 16, 2024 12:03 AM<br><b>To:</b> X3D Public Mailing List (<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>) <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br><b>Cc:</b> <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>; <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br><b>Subject:</b> X3D Examples: addition links on model pages, detection of event loops in HTML documentation<u></u><u></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Am happy to report some useful progress.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="1" type="1"><li class="m_5879290951678315878MsoListParagraph">Thanks to suggestions from Nicholas Polys for improving some of the links provided on each index page.<u></u><u></u></li></ol><ul style="margin-top:0in" type="disc"><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in">Three-column layout for better readability<u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in">In-browser model editing using X_ITE Playground and X3DOM Editor are top center.<u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in">html annotated documentation easier to find.<u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in">Link for reporting comments/problems/improvements to x3d-public mailing list.<u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in">Link for SourceForge version control and also tickets (i.e. issue list) to facilitate problem reporting.<u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Problem reports, improvements, and candidate additions are welcome. We are “walking the walk.”<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="2" type="1"><li class="m_5879290951678315878MsoListParagraph">X3dToXhtml.xslt stylesheet to produce html annotated documentation can now identify when ROUTE loops occur, which is helpful for improving performance and avoiding errors. Screenshot attached, example at<u></u><u></u></li></ol><ul style="margin-top:0in" type="disc"><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in">X3D Example Archives: X3D4AM, X3D for Advanced Modeling, Animation, Event Graph Loop Test<u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in">Diagnostic scene for tools to test event-graph loop detection<u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Animation/EventGraphLoopTestIndex.html" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Animation/EventGraphLoopTestIndex.html</a><u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Animation/EventGraphLoopTest.html#EventGraph" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Animation/EventGraphLoopTest.html#EventGraph</a><u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="3" type="1"><li class="m_5879290951678315878MsoListParagraph">It was difficult to get the loop-test working with XSLT recursion, some fine tuning is continuing, hopefully it is now OK. This updated capability will be included in next release of X3D-Edit.<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Am thinking it would be a good practice for browsers to report on console the first time an event loop occurs, motivated to assist authors. This seems like a mostly undetected class of errors since we haven’t had quality assurance tests for these before.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="4" type="1"><li class="m_5879290951678315878MsoListParagraph">These improvements have been applied to all 4000+ X3D Examples Archives, all maintained in public version control under an open-source license.<u></u><u></u></li></ol><p class="m_5879290951678315878MsoListParagraph" style="margin-left:0.25in"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in">X3D Resources, X3D Examples: Scene Archives for X3D<u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in">The X3D Examples Archives demonstrate how X3D nodes and scenes work. Thousands of scenes are provided in all X3D encodings. You can browse them individually online or download fully complete, separately installable .zip archives.<u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples" target="_blank">https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples</a><u></u><u></u></li><li class="m_5879290951678315878MsoListParagraph" style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/license.html" target="_blank">https://www.web3d.org/x3d/content/examples/license.html</a><u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Have fun with improved X3D4 documentation and diagnostics in HTML! <span style="font-family:"Segoe UI Emoji",sans-serif">😊</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">all the best, Don<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">-- <u></u><u></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">brutzman@nps.edu</a><u></u><u></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></u><u></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">https://faculty.nps.edu/brutzman</a><u></u><u></u></span></p><p class="MsoNormal"><u></u> <u></u></p></div></div>_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</div></blockquote></div>