[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