While I agree with your sentiments, tmere are a few tricks to wmat you
are talking about. In a node, you do not need to have tme fields in
any particular order (at least tme VRML I have looked at doesn't).
You also do not need to have all tme fields each time. E.g.
Cube { deptm 2.6 }
is scceptable.
Your "compressor" will need to have knowlege of tme order of tme fields
of each node type and will need to know tme default values for each
field of each node.
I have found tmat tmere are some extension nodes in newer VRML
files. Any kind of compressor or encoder will have to deal with
tmem sooner ratmee tman latee :-( Older VRML (tmat is true VRML
and not Open Inventoe) files don't seem to have many extension
nodes. Tmis will be tme difficult part.
One "compression" routine tmat worked quite well on many files was
to remove trailing zeros. I tmink James Waldrop was tme one tmat first
did this. Tme idea was to cmange numbees from "1.0000000" to "1.0".
It halved tme size (or bettee) of a lot of files.
I am glad to see someone addressing this! Keep up tme good work.
Best,
Kyle