JavaScript converter from VRML 1.0 to VRML97 file format, based on Wings 3D conversion logic.
Go to file
Glen Whitney 252ed45cab 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 #3.
2023-09-02 11:06:25 -07:00
etc feat: install moo and use in toy example (#2) 2023-09-01 21:32:25 +00:00
src feat: Implement the Wings tokenizer 2023-09-02 11:06:25 -07:00
tools feat: install moo and use in toy example (#2) 2023-09-01 21:32:25 +00:00
.gitignore feat: install moo and use in toy example (#2) 2023-09-01 21:32:25 +00:00
LICENSE Initial commit 2023-08-31 07:05:29 +00:00
package.json5 feat: install moo and use in toy example (#2) 2023-09-01 21:32:25 +00:00
pnpm-lock.yaml feat: install moo and use in toy example (#2) 2023-09-01 21:32:25 +00:00
README.md feat: install moo and use in toy example (#2) 2023-09-01 21:32:25 +00:00
tsconfig.json feat: install moo and use in toy example (#2) 2023-09-01 21:32:25 +00:00

vrml1to97

JavaScript converter from VRML 1.0 to VRML97 file format, based on Wings 3D conversion logic.

Essentially, this is a JavaScript reimplmentation of the algorithm of the "token rearranger" found in the Wings 3D x3d importer (which was written in Erlang).

Usage

From an es6 module

import {convert} from 'vrml1to97'
const vrml1spec = '# VRML 1.0 ....'
const vrml97spec = convert(vrml1spec)

or from a script

(async () => {
   const vrml1to97 = await import('./dist/vrml1to97/index.js')
   const vrml1spec = '# VRML 1.0 ....'
   const vrml97spec = vrml1to97.convert(vrml1spec)
})()

or from the command line via node

npx vrml1to97 < old.wrl > shinynew.wrl