feat(viewer): GLB walkthrough in viewer, monochrome, spawn/export polish

Move the first-person walkthrough into @pascal-app/viewer (BVHEcctrl +
GlbWalkthroughController) and round out the GLB-consuming viewer:

- Walkthrough: fallback ground only on level 0 (upper floors rely on baked
  slabs), hidden spawn marker, auto pointer-lock on enter, single-Esc exit via
  pointerlockchange, force perspective on enter / restore on exit.
- GlbScene: monochrome strips baked textures and recolours meshes by surface
  role using the active theme's clay tints; spawn node hidden from render.
- glb-export: camera/label/spawn identity extras for the viewer.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Wassim SAMAD
2026-06-24 15:50:28 -04:00
co-authored by Claude Opus 4.8
parent 6cfc6ae01b
commit 5aedc366a6
6 changed files with 755 additions and 21 deletions
+7
View File
@@ -13,12 +13,19 @@ export { ErrorBoundary } from './components/error-boundary'
// — no per-kind re-exports needed.
export { NodeRenderer } from './components/renderers/node-renderer'
export { default as Viewer, type ViewerHandle } from './components/viewer'
export {
type BVHEcctrlApi,
default as BVHEcctrl,
type MovementInput,
} from './components/viewer/bvh-ecctrl'
export {
type GlbHover,
type GlbIdentity,
type GlbLevel,
GlbScene,
type GlbWalkthrough,
} from './components/viewer/glb-scene'
export { GlbWalkthroughController } from './components/viewer/glb-walkthrough-controller'
export type { HoverStyle, HoverStyles } from './components/viewer/post-processing'
export {
DEFAULT_HOVER_STYLES,