[x3d-public] ECMAScript 6 X3D API

John Carlson yottzumm at gmail.com
Sun Oct 31 20:16:49 PDT 2021


Joe, if you like. I can produce ECMAScript 6 from this example, but the only thing the library does right now is produce XML…so…

Still a long ways to go…

Suggest you get it to work in X3DOM or X_ITE right now.

If you want to run and debug ES6 code and help,  I recommend going to X3DJSONLD/src/main/node/net/ecma/data and running node *.mjs scripts.   I know HAnim is currently broken.

Sent from my iPad

> On Oct 31, 2021, at 6:55 PM, Joseph D Williams <joedwil at earthlink.net> wrote:
> 
>  
> Looks like great stuff if I as a simple user of the x3d ecmascript SAI ever needed to know about it in order to create and use x3d Script node./
> All I want to know is will this example work.
>  
>  
> ISO/IEC 19775-2 Index page (web3d.org)
>  
> https://www.web3d.org/documents/specifications/19775-2/V3.3/index.html
>  
> ISO/IEC 19777-1 Edition 2 -- X3D ECMAScript binding (web3d.org)
>  
> https://www.web3d.org/documents/specifications/19777-1/V3.3/index.html
> ISO/IEC 19776-1:2015 — X3D XML encoding — Index (web3d.org)
> 
> https://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/examples.html#ScriptingExample
> 
> Here is the example:
> 
> <?xml version="1.0" encoding="utf-8"?>
> <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN"
>   "http://www.web3d.org/specifications/x3d-3.0.dtd">
>  
> <X3D version='3.0' profile='Immersive'>
>   <head>
>     <meta name='filename' content='Scripting.x3d'/>
>   </head>
>   <Scene>
>     <Script DEF='OpenVault'>
>       <field name='openVault' type='SFTime' 
>              accessType='inputOnly'/>
>       <field name='combinationEntered' type='SFBool' 
>              accessType='inputOnly'/>
>       <field name='vaultUnlocked' type='SFTime' 
>              accessType='outputOnly'/>
>       <field name='unlocked' type='SFBool' value='false' 
>              accessType='initializeOnly' />
>       <![CDATA[
>       ecmascript:
>       function combinationEntered (value) {
>         unlocked = value;
>       }
>       function openVault(value) {
>       if (unlocked) vaultUnlocked = value;
>       }
>       ]]>
>     </Script>
>     <Shape>
>       <Appearance>
>         <Material diffuseColor='1 0 0'/>
>       </Appearance>
>       <Sphere/>
>     </Shape>
>     <Sound maxBack='1000' maxFront='1000' minBack='1000' minFront='1000'>
>       <AudioClip DEF='Click' stopTime='1' 
>         description='clicking sound' url='"click.wav"'/>
>     </Sound>
>     <TouchSensor DEF='TS'/>
>     <ROUTE fromNode='TS' fromField='isOver' 
>            toNode='OpenVault' toField='combinationEntered'/>
>     <ROUTE fromNode='TS' fromField='touchTime' 
>            toNode='OpenVault' toField='openVault'/>
>     <ROUTE fromNode='OpenVault' fromField='vaultUnlocked' 
>            toNode='Click' toField='startTime'/>
>   </Scene>
> </X3D>
>  
> Click here to view this example in a 3D scene window.
>  
> If already ok for some tools please tell me: 
> How can we best be sure that when that ‘Click here’ in the spec or in this note gets made, that it works as described using any competent html Dom webGL ecmascript browser, not in a sandbox (at least show the geometry and retrieve that .wav), free to interact with the rest of our WWW. 
>  
> Thanks for all, 
> Joe 
>  
>  
> From: John Carlson
> Sent: Sunday, October 31, 2021 1:16 PM
> To: x3d-public at web3d.org
> Subject: [x3d-public] ECMAScript 6 X3D API
>  
> More work done on es6x3d:
>  
> https://GitHub.com/coderextreme/es6x3d
>  
> Changes for MFString, and other MF work.
>  
> Still lots of work to do, including possible export to three.js
>  
> John
>  
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20211031/f0efd2dc/attachment.html>


More information about the x3d-public mailing list