-- It is silly to ask users to remember a particular order in which fields
must be specified.
-- The order doesn't matter for any node we've ever needed to write.
-- The fields string is special because a parser can't parse a node unless it
knows what field types that node contains, so fields must come first.
Plus a historical arguments that don't really apply to VRML:
-- The Inventor API exposes fields; reading in nodes is equivalent to
creating nodes and setting field values with the API. Enforcing an ordering
for fields in the file format implies enforcing an ordering for making API
calls, which is unreasonable (try telling users "You must call cube->width =
3 before calling cube->depth = 4).
Again, why do you care? Allowing arbitrary ordering for the fields does make
grammars and parsers a little bit harder to write, but who cares? Many many
more people will be using VRML than creating parsers for it...