Improve the handling of transformation nodes so that their translations always open a new scope.
As a side effect, expands handling of transformation nodes to include Scale and Transform as well.
Reviewed-on: #20
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
Also fixes bug: Translations and Rotations should not be inherited
into inner grouping nodes.
Reviewed-on: #19
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
Set VRML97 translation of IndexedFaceSets to specify `solid false`
unless the faces were explicitly indicated to have CLOCKWISE or
COUNTERCLOCKWISE vertex ordering. This is conservative, but otherwise
shapes may be "see-through" in undesirable ways, if the original
VRML 1 vertices are not ordered consistently with the VRML97 default.
Also fixes a typo/bug in picking up numerical values of parameters,
and ensures that fields in the output VRML97 are always separated by
at least a space, comma, or parenthesis.
Also updates dependencies to their latest versions
Reviewed-on: #17
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
Also removes the useless example.d.ts file from the distribution.
Updates the civet compiler to the greatest version that works
on this code.
Resolves#13.
Resolves#14.
Reviewed-on: #15
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
* Converts all Lighting nodes into the output
* Translates Title Info and SceneInfo Info into a WorldInfo node
* Translates Viewer Info into a NavigationInfo node
* Captures the creaseAngle parameter
* Also, this commit documents the API (such as it is)
Resolves#9.
Resolves#10.
Reviewed-on: #12
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
Construct a proper package.json in the dist file and copy
the README there for a reasonably complete shipped package.
Reviewed-on: #8
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
Produces essentially the same token stream as the that found in
x3d_import, except includes comment and whitespace tokens, which
can be ignored in the parser.
Resolves#3.
Reviewed-on: #4
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
I failed to find a satisfactory way to compile and import moo.js with
fixed specifiers, so finally I just gave up and patched the distributed
moo code to be an es6 module. Very ugly but it works.
Resolves#1.
Reviewed-on: #2
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
Add the civet and typescript compilers, implement a build step,
provide examples of using from es6, script, and command line.
Of course, there is no actual behavior produced; convert always produces
'foo' at the moment.