Lumison is a planned piano/MIDI-driven audiovisual application powered by a shared thin-film visual engine. The repository currently includes the Fixed-compatible TFL Lab behind canonical state, coordinate, timing and source-neutral control boundaries, plus optional Phase 3A passive motion warp, Phase 3B active press/drag displacement, Phase 3C coordinate shear, Phase 3D timed ripple displacement, Phase 3E broad membrane interaction and Phase 3F displaced-geometry normal evaluation. All new spatial responses are experimental and default to off; Legacy Fixed remains the default normal mode, and TFL Lab provides Qwen-like, Mobile-like and Custom interaction profiles for comparison.
apps/tfl-lab/: standalone Thin-Film Lab with the Fixed control panel, pointer adapter, persistence, diagnostics, presets and mutation actions.apps/lumison/: piano/MIDI application, eventually interpreting performance, maintaining musical state/memory, and mapping it to engine actions without depending on the TFL Lab GUI.packages/tfl-engine/: reusable Fixed-compatible simulation/rendering engine, validated parameter policy, canonical controls, deterministic clocks/events and lifecycle, independent of application input and GUI code.docs/architecture.md: intended boundaries and dependency direction.tmp/: immutable historical/reference experiments. Phase 1 was ported fromtmp/thin-film-lab-fixed/; the archive itself remains unchanged.
The code uses vanilla JavaScript and ES modules with Three.js pinned to 0.185.1. Install and start the static development server from the repository root:
npm install
npm run dev:tflThen open http://localhost:8000/apps/tfl-lab/. To bind the server to a specific network interface and port, run:
HOST=192.168.100.203 PORT=8080 npm run dev:tflThen open http://192.168.100.203:8080/apps/tfl-lab/. Run npm run check for JavaScript syntax checks and npm test for source-neutral state, preset, lock, snapshot and adaptive-scale tests.
See the architecture notes, engine contract, Fixed baseline, and merge plan for boundaries, validation and later phases.