<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:836459002;
        mso-list-type:hybrid;
        mso-list-template-ids:835348072 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1
        {mso-list-id:1117917915;
        mso-list-type:hybrid;
        mso-list-template-ids:757729386 1946288280 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoPlainText>Very interesting, thanks for sharing Andreas.  We should all be thinking of regularizing some example design patterns like animation.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Meanwhile, your example is the kind that makes me think we should have a description field for ROUTE.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><span style='font-family:"Courier New"'>    <ROUTE fromField='cycleTime' fromNode='TIME1' toField='stopTime' toNode='TIME1'/><o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>    <ROUTE fromField='cycleTime' fromNode='TIME1' toField='startTime' toNode='TIME2'/><o:p></o:p></span></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Potential alternative approaches for ROUTE comments: <o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><ul style='margin-top:0in' type=disc><li class=MsoPlainText style='mso-list:l1 level1 lfo2'>Comments?  Sure, but sometimes get stripped, and not unambiguously readable by tools.<o:p></o:p></li><li class=MsoPlainText style='mso-list:l1 level1 lfo2'>Prototype extension?  Too complex and error prone, fuggedaboutit.<o:p></o:p></li><li class=MsoPlainText style='mso-list:l1 level1 lfo2'>Metadata nodes?  Hmm, we can't make those part of ROUTE statements themselves, not allowed.<o:p></o:p></li></ul><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Maybe some clumsy-but-unambiguous convention like the following already-legal X3D fragment:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText style='margin-left:.5in'><span style='font-family:"Courier New"'><MetadataSet name=”RouteDescriptions” reference=”someWeb3dRecommendedPracticeURL”><o:p></o:p></span></p><p class=MsoPlainText style='margin-left:.5in'><span style='font-family:"Courier New"'>   <MetadataString name=”ROUTE” value=”TIME1.cycleTime TO Time2.startTime”/><o:p></o:p></span></p><p class=MsoPlainText style='margin-left:.5in'><span style='font-family:"Courier New"'>   <MetadataString name=”ROUTE” value=”TIME1.cycleTime TO Time1.stopTime”/><o:p></o:p></span></p><p class=MsoPlainText style='margin-left:.5in'><span style='font-family:"Courier New"'>   <MetadataString name=”description” value=”trigger the other ROUTE, then turn itself off”/><o:p></o:p></span></p><p class=MsoPlainText style='margin-left:.5in'><span style='font-family:"Courier New"'></MetadataSet><o:p></o:p></span></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Of course simplest future approach would be to give ROUTE a description field.  Hmmm, maybe someday.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Might deserve a Mantis issue for X3D4.1 if others agree some potential value exists for future consideation.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>all the best, Don<o:p></o:p></p><p class=MsoPlainText>-- <o:p></o:p></p><p class=MsoPlainText><span style='font-size:9.0pt;font-family:"Courier New"'>Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman@nps.edu<o:p></o:p></span></p><p class=MsoPlainText><span style='font-size:9.0pt;font-family:"Courier New"'>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<o:p></o:p></span></p><p class=MsoPlainText><span style='font-size:9.0pt;font-family:"Courier New"'>X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman<o:p></o:p></span></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>-----Original Message-----<br>From: x3d-public <x3d-public-bounces@web3d.org> On Behalf Of Andreas Plesch<br>Sent: Thursday, September 7, 2023 1:43 PM<br>To: X3D Graphics public mailing list <x3d-public@web3d.org><br>Subject: Re: [x3d-public] start timer at fraction 0 after scene loading</p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Here is an initial count down after loading the scene using the same autostart method, and a sequencer:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>https://andreasplesch.github.io/Library/Viewer/dev.html?url=https://gist.githubusercontent.com/andreasplesch/3f7ea30b9860b6399c797c51e3235459/raw/d17f9d2a0a258569ac5a474c36a68208674d535e/countdown.x3d<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><span style='color:black'>https://create3000.github.io/x_ite/playground/?url=https://gist.githubusercontent.com/andreasplesch/3f7ea30b9860b6399c797c51e3235459/raw/d17f9d2a0a258569ac5a474c36a68208674d535e/countdown.x3d<o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoPlainText>-Andreas<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>On Thu, Sep 7, 2023 at 1:01 AM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com"><span style='color:windowtext;text-decoration:none'>andreasplesch@gmail.com</span></a>> wrote:<o:p></o:p></p><p class=MsoPlainText>><o:p> </o:p></p><p class=MsoPlainText>> Another method apart from a ProximitySensor to start a timer without <o:p></o:p></p><p class=MsoPlainText>> user interaction after scene loading is to use two TimeSensors. The <o:p></o:p></p><p class=MsoPlainText>> first has loop=true and its only purpose is to trigger the second by <o:p></o:p></p><p class=MsoPlainText>> routing its cycleTime to the startTime of the second TimeSensor. The <o:p></o:p></p><p class=MsoPlainText>> first also stops itself by routing its cycleTime to its own stopTime.<o:p></o:p></p><p class=MsoPlainText>><o:p> </o:p></p><p class=MsoPlainText>> Here is an example modified from the cycleTime NIST example:<o:p></o:p></p><p class=MsoPlainText>><o:p> </o:p></p><p class=MsoPlainText>> <a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Frent"><span style='color:windowtext;text-decoration:none'>https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Frent</span></a><o:p></o:p></p><p class=MsoPlainText>> ry.co%2Fx3d-startTimer&data=05%7C01%7Cbrutzman%40nps.edu%7C4b415083034<o:p></o:p></p><p class=MsoPlainText>> 641d371e608dbafe335ef%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638<o:p></o:p></p><p class=MsoPlainText>> 297162641403741%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2<o:p></o:p></p><p class=MsoPlainText>> luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=v3ah%2F2OY7<o:p></o:p></p><p class=MsoPlainText>> NVzEwTUIhRhBjG%2BNHdMZoJTbsC3lEnHR1I%3D&reserved=0<o:p></o:p></p><p class=MsoPlainText>><o:p> </o:p></p><p class=MsoPlainText>> <a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fandr"><span style='color:windowtext;text-decoration:none'>https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fandr</span></a><o:p></o:p></p><p class=MsoPlainText>> easplesch.github.io%2FLibrary%2FViewer%2Fdev.html%3Furl%3Dhttps%3A%2F%<o:p></o:p></p><p class=MsoPlainText>> 2Fgist.githubusercontent.com%2Fandreasplesch%2F3f7ea30b9860b6399c797c5<o:p></o:p></p><p class=MsoPlainText>> 1e3235459%2Fraw%2F118d65438f9cfdc152c01fc5a24a8eccec705511%2FstartTime<o:p></o:p></p><p class=MsoPlainText>> r.x3d&data=05%7C01%7Cbrutzman%40nps.edu%7C4b415083034641d371e608dbafe3<o:p></o:p></p><p class=MsoPlainText>> 35ef%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638297162641403741%7<o:p></o:p></p><p class=MsoPlainText>> CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1<o:p></o:p></p><p class=MsoPlainText>> haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=m8xOnL%2BHHQy5gXlqLQaec6vBIi<o:p></o:p></p><p class=MsoPlainText>> %2BSchjeWtKfYWNDMHw%3D&reserved=0<o:p></o:p></p><p class=MsoPlainText>><o:p> </o:p></p><p class=MsoPlainText>> --<o:p></o:p></p><p class=MsoPlainText>> Andreas Plesch<o:p></o:p></p><p class=MsoPlainText>> Waltham, MA 02453<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>--<o:p></o:p></p><p class=MsoPlainText>Andreas Plesch<o:p></o:p></p><p class=MsoPlainText>Waltham, MA 02453<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>_______________________________________________<o:p></o:p></p><p class=MsoPlainText>x3d-public mailing list<o:p></o:p></p><p class=MsoPlainText><a href="mailto:x3d-public@web3d.org"><span style='color:windowtext;text-decoration:none'>x3d-public@web3d.org</span></a><o:p></o:p></p><p class=MsoPlainText><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org"><span style='color:windowtext;text-decoration:none'>http://web3d.org/mailman/listinfo/x3d-public_web3d.org</span></a><o:p></o:p></p></div></body></html>