[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[x3d-public] Re: [www-vrml] Walking Kamala




Dave A wished


Ultimately, I'd love to be able to code X3D the way I do javascript. Namely, just 'include' (or 'import' whatever) the file, and be able to access its contents at-will, just like javascript.

you can, all you gotta do is define the interfaces. if you bring something into your runtime that you wish to interact with, you must know the interfaces in advance. Thus, you must declare them.

I understand for whatever security and propriety reasons the need to 'hide' content, and

that has to do with the idea that if you have the SAI, you can look directly into the structure, no matter what it's security.

I wish that the original spec had required a 'static' or 'hidden' tag or

static is in X3D, meaning the author thinks no events will be sent to/from that structure.

Inlines were hidden in vrml97. ..

protos and scripts and inlines are hidden except for the
interfaces exposed by the author. Of course there may
be ways to see hidden stuff if you can get it in the right form.

something to indicate such things, but an 'export all' statement of some sort would suffice at this point.

Agan, this sounds great to get working for author time, but for run-time, along this path lies madness.

Such a file would/could be 'imported' and just used as if it had been there all along, just like javascript does. Wouldn't that be nice?

Except for the runtime 'export all' and its mate default 'import all' I would say again, please speak to your boss. X3D has included in the standard a definition of how to define the Inline interfaces you wish to expose. That is EXPORT. Also, you get to match these up with interfaces in the containing scene. That is IMPORT, There are all sorts of things you can do with this. One thing you cannot do is skip declaring the interfaces. Really, give the run-time a break and do your programmer thing and list them interfaces.

Not to have to sync proto/externproto headers? To be able to get at whatever you need/want from another file?

if you stay with XML, then you can do this at author time, and to a certain extent from a live browser window.

Man would that be sweet. Tony and I kicked around the idea of a 'proto import' functionality, best of both worlds, but not in the spec.

Fine for author time. A real usefull feature.

Anywho, just as putting a loadsensor on an Inline does NOT tell you when all of the Inline's contents are loaded (just the inline itself, but wouldn't THAT be nice too!?), I would live with an extern/imported file being able to be load-sensed, such that I could know when that's 'in'

Try this out. Figure out a way for the proto or inline or script to tell you its
state before it is completely loaded and running.


My current application uses rather large (many-poly) models, with a few bitmap textures. It's those models, not the linked textures, I'd love to load sense (so the user doesn't assume the plugin has hung up). Perhaps, and I'm just spit-balling here, not looking at a spec:

<Import url="myexterns.x3d" DEF="myexterns" />
<LoadSensor>
 <watch USE="myexterns" />
</LoadSensor>

<ExternProto url="externprotos.x3d" ... blah blah />
<LoadSensor>
<watch DEF='ANYTHING_WITH_A_URL_SHOULD_BE_LOAD_SENSED' USE='externprotos.x3d' />
</LoadSensor


<Include url="if_this_never_loads_who_cares_if_it_was_sync_or_async_it_is_still_broken_content_and_wont_work.x3d"/>
<LoadSensor DEF='And_I_dont_care_that_it_is_a_l
ot_of_work_because_your_plugin_wasnt_designed_like_that_it_is_too_valuable_not_to_have"
 />

something along those lines.

Dave A

I agree that anything with a url should be able to be load sensed.

What happens when you load sense the url for an inline?

If I have a url in an inline, and the inline is otherwise loaded
and running except for some textures, then I could export
a report from a loadsensor in the inline, or figure out what to
do in the inline and report something.
That is, if IMPORT/EXPORT is working.

However, since the proto or inline or script is completely able to
report its status when it is loaded and running, I may not use
loadsensing anyway. I may want a report from the logic itself,
not logic that is watching the url.

Thanks and Best, Regards,
Joe

-------------------------------------------------------------------------
for list subscription/unsubscription,
go to http://www.web3d.org/cgi-bin/public_list_signup/lwgate/listsavail.html