Skip to content

feat(renderer): add three.js Scene Lab with orbitable torus knot - #23

Merged
simonhagger merged 1 commit into
mainfrom
feat/scene-lab
Aug 24, 2026
Merged

feat(renderer): add three.js Scene Lab with orbitable torus knot#23
simonhagger merged 1 commit into
mainfrom
feat/scene-lab

Conversation

@simonhagger

Copy link
Copy Markdown
Owner

Summary

  • New lazy Scene Lab route: three.js WebGL scene — wireframe torus knot + 900-point star field, OrbitControls (drag/zoom), directional lighting
  • Spin/wireframe/pause are signals bridged via \�ffect(); rAF loop runs outside Angular change detection with live FPS
  • Full GPU hygiene on destroy: geometry/material disposal, \controls.dispose(),
    enderer.dispose(), ResizeObserver disconnect

Validation

  • Dev build green: \scene-lab-page\ lazy chunk 1.18 MB (three.js included); production budget unaffected — labs excluded from prod route set by design

  • enderer:test\ green incl. new create/teardown spec;
    enderer:lint\ clean after removing non-null assertions
  • Dependency added: three ^0.185.1 (+@types/three dev)

Security Checklist

  • Security review completed
  • Threat model updated or N/A explained
  • Confirmed no secrets/sensitive data present in committed files

- Lazy scene-lab route rendering a wireframe torus knot inside a star
  field via three.js WebGLRenderer with OrbitControls
- Spin speed / wireframe / pause driven by signals through effect();
  rAF loop outside Angular change detection with FPS readout
- Full teardown: geometry/material disposal, controls.dispose(),
  renderer.dispose(), ResizeObserver disconnect
@simonhagger
simonhagger merged commit 10e1755 into main Aug 24, 2026
17 checks passed
@simonhagger
simonhagger deleted the feat/scene-lab branch August 24, 2026 09:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant