[x3d-public] [x3dom-users] X3DOM ProtoDeclares that work.
Andreas Plesch
andreasplesch at gmail.com
Sat May 2 05:45:45 PDT 2020
John had already provided his JSONExpander to x3dom a while back, so
Protos ( without scripts ) work for a while in x3dom. The limitation
is currently that they are only working with the json encoding, eg. in
json encoded inlines. So we would need an XMLExpander as well, perhaps
by going through json. I looked into shadow dom a while ago. The main
problem was that x3dom.js cannot look into the shadow dom. The shadow
dom is by design cut off from being accessed.
It think I made the HUD work by removing a sensor or another smaller change.
Note that HAnim works on X3DOM, no protos need. But the Nancy
prototypes are a good test for expanding.
The typical approach for webgl skinned animation is do it on the
shader. I tried that somewhat but it would require larger
architectural changes, for delivering the data to the shader. I think
it would need to be done by float textures. There is a branch on the
x3dom github repo.
Not sure if there is a general approach to big data in the browser.
Overall, for real big data (TB) the browser can only be a thin client,
receiving a stream. It is unclear what role X3D can play there.
-Andreas
On Fri, May 1, 2020 at 10:21 PM John Carlson <yottzumm at gmail.com> wrote:
>
> Don, for more "wow," you might try NancyPrototypes.json. The XML freezes that tab of the browser. I didn't wait. JSON is quite quick. However, input does not work in all cases, because the HUD is unavailable. I am pretty happy with the results on NancyPrototypes.json! Better than a dismembered humanoid! I suggest we purse the next version in XML, possible with shadow DOM.
>
> Perhaps we should get together with Andreas, Joe, You, and Me, and we should discuss how to deal with "big data" in a web browser. I think perhaps we might go with WebASM for HAnim. We can look at how various languages compile to WebASM, and do some comparison between X3D browsers compiled to WebASM. I would appreciate Andreas' architecture and software design input on the development of a 2nd generation Prototype Expander for X3DOM. If your contacts are working with WebASM, we can bring them into the conversation.
>
> On Fri, May 1, 2020 at 7:19 PM Don Brutzman <brutzman at nps.edu> wrote:
>>
>> John: thanks 1M for showing "X3DOM ProtoDeclares that work", very important capability! Wow. 8)
>>
>> Recommend that you and X3DOM community continue and integrate this work to restore the "X" in X3DOM: extensibility. Prototypes are a central aspect of X3D, as is scripting. Getting these squared away in X3DOM will be a major step towards achieving two complete open-source independent implementations of X3D4 running inside HTML5.
>>
>> v/r Don
>>
>>
>> On 5/1/2020 12:42 PM, John Carlson wrote:
>> > https://coderextreme.net/X3DJSONLD/src/main/html/proto.html
>> >
>> > select one of the X3D files that start with ./data/
>> >
>> > Like:
>> >
>> > ./data/bubs.x3d
>> > ./data/rubik.x3d
>> > ./data/x3domflowers.x3d
>> > ./data/X3dHeaderPrototypeSyntaxExamples.x3d
>> >
>> > If you run my app.js server (requires SSL keys) locally, then you can test more of the x3d resources examples by checking out the X3D sourceforge project to /c/x3d-code/www.web3d.org/. <http://www.web3d.org/.>..
>> >
>> > Start the server with
>> >
>> > node app.js
>> >
>> > then go to https://localhost:3000/src/main/html/proto.html
>> >
>> > then select some of the ./www.web3d.org/. <http://www.web3d.org/.>.. files.
>> >
>> > Note that this does proto expansion on JSON, so first i translate from XML to JSON, then do the proto expansion, then convert back to XML.
>> >
>> > You may optionally turn off scripting and proto expansion, if you want to see differences.
>> >
>> > There need to be some effort to make this work in all cases.
>> >
>> > 1. Don't hog graphics contexts.
>> > 2. Fix up Scripting on X3DOM. This may be possible with Scripts.js (not recommended). Primarily, I recommend fixing routing to/from scripts in X3DOM. That may mean approaching the w3c to allow fields in a script nodes.
>> > 3. Make sure PROTOs are working in all cases. Please file issues against X3DJSONLD. I already know there are many unwritten issues. https://github.com/coderextreme/X3DJSONLD/issues
>> >
>> > Note that app.js does not work on a production machine purposefully. You may want to rewrite app.js in python. Whatever floats your boat, changes are welcome.
>> >
>> > John
>> > _______________________________________________
>> > X3dom-users mailing list
>> > X3dom-users at lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/x3dom-users
>>
>> all the best, Don
>> --
>> Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu
>> Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
>> X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman
>
> _______________________________________________
> X3dom-users mailing list
> X3dom-users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/x3dom-users
--
Andreas Plesch
Waltham, MA 02453
More information about the x3d-public
mailing list