[vos-d] Upcoming changes: factory, actions.

Ken Taylor taylork at alum.mit.edu
Tue Mar 20 10:58:39 EDT 2007


Cool! I was actually thinking the other day that being able to select and
inspect objects in Ter'Angreal would be useful and not super-difficult to
implement on the current architecture. I like the ui:actions object as a
sort of scripting approximation, though i'm assuming it will probably be
supplanted by a more general user-scriptable-actions mechanism in future
versions.

What also would be neat is an "advanced mode" which allows you to edit the
properties on objects directly (assuming you have permission) -- including
adding new child objects. Allow this to be done on the sector (or a
sub-space of the sector, once that is added to a3dl), and you have basic
real-time geometry building.

Of course, before allowing all users the ability to add objects, it would be
good to hack in some quotas/limits and auto-destruction of old objects, lest
your server grind to a halt from a malicious user.

But perhaps I'm thinking too far ahead at the moment ;)

-Ken

ps: actually, having some limits to the number of created objects being
allowed to be in existence at once per user might be a good feature to add
to the factory metaobject that you're working on. Also (I don't know how
hard this is) having access control policies about who can create objects
using the factory, etc.

>
> Heads up on some changes I'm going to make in the next week or so in
> case anyone wants to coordinate changes.
>
> I'm almost done with a few changes I made to libmetaobject_misc.  I also
> changed mesh and libvos slightly.
>
> It used to be that there were two seperate types, factory.cod and
> factory.compound, though only factory.compound was actually implemented.
>
> What I did was comment out factory.cod, we can implement it later when
> needed.
>
> factory.compound will work the same-- you give it a set of types for an
> object you want created.
>
> Then I added a common base type, "misc:factory".  The local factory
> metaobject, however, is a pure virtual base class, you need to implement
> a local version which creates object(s) given a simple "create" message,
> no parameters assumed (it then replies witht he URL to the new object,
> like factory.compound).   I will include one local factory
> implementation, "factory.stored", which loads a COD or XOD or other
> Vobject from a property.   There's a simpler one in a test program too.
>
> I also will add a new metaobject called "ui:actions". This simply has
> properties that describe messages that you can send to the object with
> user-friendly labels.  This makes it easy to expose certain VOS messages
> directly to the user. For example, "factory-create" :)
>
>
> Next, I think I might add selecting an object to TerAngreal (unless it's
> already there in some form) and when an object is selected, add a little
> side-pane that has basic info about the object, and checks the object
> for "ui:actions" and makes a button for each action. We can also add
> here buttons for future  built-in object operations we add to TerANgreal.
>
>
> Reed
>
>
> _______________________________________________
> vos-d mailing list
> vos-d at interreality.org
> http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d
>




More information about the vos-d mailing list