PRESSURE / Brian Anderson / first material study

Open index.html in a WebGL 2 browser for the interactive version.
The preview is self-contained and does not need an internet connection.
Try the camera buttons, material controls, Strike the sheet, and an audio file.
Audio files stay on your machine and are decoded by the browser.

renders/pressure-v01.mp4: 12-second silent demo loop, 1920 x 1080, 30 fps.
renders/rest.png, bend.png, impact.png, release.png: 1600 x 1000 study frames.
source/pressure.glsl: editable shared procedural shader body.
touchdesigner/: native GLSL TOP wrapper, Python network builder, setup notes.
validation.json: recorded checks and native-validation status.

The motion uses a procedural height field with pinned corners, broad bending,
and damped radial waves. It is an art study, not a measured material simulation.
The silver surface, lights, room, pins, and wires are generated in the shader.
No generated bitmap assets or external texture downloads are used.

The native TouchDesigner builder has not yet been run in TouchDesigner.
The browser's audio analysis is implemented separately from the native setup.
The demo loop uses authored motion; it is not a recording of live audio response.

To rerender: Python 3 with moderngl 5.12.0, numpy, Pillow, and ffmpeg on PATH.
python source/render_reference.py
python source/render_reference.py --film

Next review: judge the weight of the bending, the strength of impacts, and the
amount of reflected light. Then validate the GLSL TOP and connect the audio
envelopes in TouchDesigner before making a finished project showcase.
