Commit graph

19 commits

Author SHA1 Message Date
43c1ee3ab2 feat: support Viewpoints, translating PerspectiveCamera 2024-02-18 11:55:48 -08:00
5bd62ffe31 fix: Transformation nodes must create new scope ()
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: 
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2024-02-14 08:10:00 +00:00
a6a6e60894 feat: Implement Translations ()
Also fixes bug: Translations and Rotations should not be inherited
  into inner grouping nodes.

Reviewed-on: 
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2024-02-14 05:36:28 +00:00
1409d39665 feat: support DEF and USE syntax to share subtrees ()
Reviewed-on: 
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2024-02-14 02:55:39 +00:00
1a2077a6b6 chore: Update version number to fix bad publish 2024-02-12 13:32:38 -08:00
fb1d2a020c feat: Set faces one or two-sided, conservatively ()
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: 
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2024-02-12 21:16:21 +00:00
bb0ef18903 feat: Handle IndexedLineSet
Also turns on PointSet but I don't have a good test case for that
  so not sure it is working.
  Resolves .
2023-09-18 21:28:23 -07:00
d0da8ced68 doc: Add documentation for optional arg to convert. ()
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 .
  Resolves .

Reviewed-on: 
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-12 06:35:29 +00:00
7765a53327 doc: Fix typos in README 2023-09-11 00:17:45 -07:00
6752ab1348 feat: Handle additional syntax ()
* 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 .
  Resolves .

Reviewed-on: 
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-11 07:15:17 +00:00
48925d05d9 fix: another erroneous publish 2023-09-04 23:46:43 -07:00
fe6bb08ef6 fix: published from wrong directory 2023-09-04 23:34:09 -07:00
b355d0c001 feat: Detect background color info in VRML 1 and encode it in VRML 97 ()
Resolves 

Reviewed-on: 
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-05 06:27:27 +00:00
8a0ece1dde chore: Prepare package for publication ()
Construct a proper package.json in the dist file and copy
  the README there for a reasonably complete shipped package.

Reviewed-on: 
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-05 01:12:55 +00:00
66b24e657b feat: Translate VRML 1 to VRML97 ()
Resolves 

Reviewed-on: 
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-04 17:31:44 +00:00
8186038efb feat: Implement the Wings tokenizer ()
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 .

Reviewed-on: 
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-02 18:13:14 +00:00
e0861ea157 feat: install moo and use in toy example ()
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 .

Reviewed-on: 
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-01 21:32:25 +00:00
67a07e2000 chore: Set up development environment
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.
2023-09-01 08:20:34 -07:00
26f1be2d67 Initial commit 2023-08-31 07:05:29 +00:00