Skip to main content
Version: 0.2

Build & preview

Production build

pnpm build

Like dev, the build compiles the WASM module and the vanilla logger first, then runs vite build:

package.json
"build": "pnpm run build:wasm && pnpm run build:vanilla-logger && vite build"

The output goes to dist/. The Vite config builds three HTML entry points:

EntrySourcePurpose
mainindex.htmlThe modern EXEPERT app.
vanillavanilla.htmlA pristine legacy three.js r70 reference.
v1v1.htmlThe legacy renderer inside the modern UI shell.

The three package is split into its own chunk (manualChunks), the build targets es2022, emits source maps, and minifies with Terser. See Reference Pages for what the vanilla and v1 entries are for.

Preview

Serve the built dist/ locally:

pnpm preview

This runs vite preview --port 9001.

Server-side render (optional)

An SSR entry exists for producing a static HTML shell:

pnpm build:ssr

It runs vite build --ssr src/entry-server.ts --outDir dist/server. src/entry-server.ts returns a static shell that hydrates on the client; it is opt-in and not part of the default build.

Verifying a change

CommandChecks
pnpm typechecktsc --noEmit over the TypeScript sources.
pnpm testVitest: currently the telemetry-contract test.
cargo test --workspaceThe Rust unit tests in both crates.

See Testing & CI for details on what each suite covers.