[X3D-Public] containerField is should or must ? largeattributes; compression

Joe D Williams joedwil at earthlink.net
Tue Aug 24 11:05:26 PDT 2010


Bellicose | Define Bellicose at Dictionary.com
inclined or eager to fight; aggressively hostile; belligerent; 
pugnacious.

I think following examples compared directly to current x3d could 
produce a pugnastical and bellyclose response in dedicated xml coders 
and fans but more likely to improved understanding.

First, for all interested in the existing x3dxml encoding, please 
observe that practically any varient of xml encoding choices for 3D 
and nD+1 data formatting and exhibition thereof, network real time 
recorded stimulus-response, can be produced and delivered in X3D for 
use in a standard X3D player, using a relatively simple XML transform 
process in line with an X3D validating parser feeding a live X3D 
runtime.
Not to mention that nothing given from VRML2 is missing.
That much is not in doubt.

Me first requirement for xml text encoding is authorablility and 
self-validation by delivery. This is consumed best when me choice of 
platforms is a live native x3d scenegraph embedding creation, 
validation, and delivery.
Please be assured that whatever you choose for your personal style of 
human-readable authortime user code, if you are into xml, then 
certainly the xml transform to X3D will be relatively simple compared 
to actually reinventing geometry data types and related sensors, 
script, and event system.

> I see. Sorry, I jumped into the middle of the discussion.

This topic is right at the center of the discussion and never gets 
moved to the edge.

> I thought maybe this type of thing would make some more sense to me 
> if it were about Proto fields, although I'd do them a bit 
> differently anyway. I was using 'pigeon code' for illustrative 
> purposes.

Great, most any xml pidgen code can be made into iso x3d using 
straightforward, open xml tranformation tools.

> But please, don't create a spec around (current) technological 
> shortcomings.

True, like 'xml parser' units with archiac api.

> It's been done (limit of 8 lights for example).

right, aim at setting minimums not limiting maximums.

> Plain-text xml compresses pretty well anyway. I can see where you're 
> going.

x3d latest is study of compression and encription standards for x3d as 
xml.

> Here are some suggestions. Note that IS-A and HAS-A are followed. 
> That
is, lists (MF's) are contained in an element. Quotes
left out:

Ok, if you need any of the following for authoring, then fine. 
Following a simple rule like all MFs are element content is OK as a 
style. Just like the X3D 'rule' that all MFs are the value part of a 
xml attribute name-value pair within an element named for the field 
name. So whichever rule, if followed reasonably with any possible 
exceptions(?) listed, then OK.

> dave examples

<IndexedTriangleSet>
<Coordinates>
<point n=0 x=0 y=0 z=0 u=0 v=1 r=.5 g=.1 b=.5 a=.5 />  // you can pack
it all in one line in my dreams, n=index value
<point n=1 x=0 y=1 z=0 u=0 v=0  />   // uses default color
    ....
</Coordinates>
<Indices>
<Index a=0 b=1 c=2 />   // uses the 'n' index from the points in the
Coordinates list, where a,b,c are the 3 vertex indices of a triangle
<Index a=0 b=2 c=3 />
  .....
</Indices>

or
<Indices>
<Index n=0 /> // where 'n' corresponds to the 'n' index in 'point' in
the Coordinates list
<Index n=1 />
  .....
</Indices>

> end dave examples

> from dave example
<point n=0 x=0 y=0 z=0 ...

so generally, this alternative requires some added processing to 
produce the MFVect3f value expected in Classic encoding from the 
SFFloat types you suggest. So, to me, author looses ability to deal 
with strongly typed values. how about geometry without index? Inform 
by trying more WebGL and JSON using the GL data structures and 
shaders?
Please notice that SAI and even old EAI script allows access to the 
individual values by name while retaining strong typing. SFVec3f(x, y, 
z) means mevect.x=somefloat and when the script ends, the scene gets 
updated.

And, OK, even html5 now doesn't require quotes for simple attribute 
values so getting rid of the quotes for simple fields is ok as an xml 
coding style for _most_ SF and MF nodes. Please note any exceptions:)

So, whatever your choice of authortime user code, if it is legal xml 
you can transform your personal xml code stylings to X3D user code 
(even compressed and encripted) and still use a standardized X3D 
authortime (xml DOM) and runtime (x3d SAI).

> Dave A

Thanks and  Best,
Joe 




More information about the X3D-Public mailing list