Commit Graph

19 Commits

Author SHA1 Message Date
Glen Whitney 6892001b8d feat: support Viewpoints, translating PerspectiveCamera (#21)
Reviewed-on: #21
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2024-02-18 19:57:29 +00:00
Glen Whitney 5bd62ffe31 fix: Transformation nodes must create new scope (#20)
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>
2024-02-14 08:10:00 +00:00
Glen Whitney a6a6e60894 feat: Implement Translations (#19)
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>
2024-02-14 05:36:28 +00:00
Glen Whitney 1409d39665 feat: support DEF and USE syntax to share subtrees (#18)
Reviewed-on: #18
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2024-02-14 02:55:39 +00:00
Glen Whitney 1a2077a6b6 chore: Update version number to fix bad publish 2024-02-12 13:32:38 -08:00
Glen Whitney fb1d2a020c feat: Set faces one or two-sided, conservatively (#17)
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>
2024-02-12 21:16:21 +00:00
Glen Whitney 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 #16.
2023-09-18 21:28:23 -07:00
Glen Whitney d0da8ced68 doc: Add documentation for optional arg to convert. (#15)
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>
2023-09-12 06:35:29 +00:00
Glen Whitney 7765a53327 doc: Fix typos in README 2023-09-11 00:17:45 -07:00
Glen Whitney 6752ab1348 feat: Handle additional syntax (#12)
* 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>
2023-09-11 07:15:17 +00:00
Glen Whitney 48925d05d9 fix: another erroneous publish 2023-09-04 23:46:43 -07:00
Glen Whitney fe6bb08ef6 fix: published from wrong directory 2023-09-04 23:34:09 -07:00
Glen Whitney b355d0c001 feat: Detect background color info in VRML 1 and encode it in VRML 97 (#11)
Resolves #7

Reviewed-on: #11
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-05 06:27:27 +00:00
Glen Whitney 8a0ece1dde chore: Prepare package for publication (#8)
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>
2023-09-05 01:12:55 +00:00
Glen Whitney 66b24e657b feat: Translate VRML 1 to VRML97 (#6)
Resolves #5

Reviewed-on: #6
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-04 17:31:44 +00:00
Glen Whitney 8186038efb feat: Implement the Wings tokenizer (#4)
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>
2023-09-02 18:13:14 +00:00
Glen Whitney e0861ea157 feat: install moo and use in toy example (#2)
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>
2023-09-01 21:32:25 +00:00
Glen Whitney 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
Glen Whitney 26f1be2d67 Initial commit 2023-08-31 07:05:29 +00:00