Researcher Notes // Field Observations

Experiment 10 began as an act of self-preservation. During a seventeen-hour debugging session, Experiment 01's combat log parser achieved sentience, briefly, and filed a formal complaint about its working conditions. The lab needed peace. The lab built peace. C.A.R.I.L.L.O.N. is a single-file web application that simulates a set of wind chimes hanging against a living, animated backdrop. Every element — the physics, the sound, the visuals — responds to the same simulated wind. Every setting you change is remembered the next time you visit.

Each of the seven chimes is a full physics object with independent motion on two axes. This gives the whole instrument a genuinely three-dimensional feel even though it's rendered on a flat canvas.

The wind is not random noise. It's a layered simulation with a global direction that drifts slowly and convincingly over time, plus per-chime turbulence frequencies that ensure neighboring chimes respond slightly differently to the same wind field. The result is that gusts visibly ripple through the chimes from one end to the other. Wind strength scales quadratically, so the difference between a light breeze and a full gust is dramatic and physically meaningful.

Every chime has a frequency drawn from the selected musical scale. When two chimes collide, the tone volume scales with relative impact velocity — a gentle brush is soft, a hard collision is loud. The actual musical note names float up from each chime as it rings.

Changing a world theme also automatically sets the musical scale to the closest available match for the canonical key of that world's score. The notes that randomly chime together are drawn from the same scale as the original soundtrack, and may occasionally evoke fragments of the actual melody by accident. The lab considers this a feature.

Upon unexptectedly regaining sentience, the combat log parser from Experiment 01 also noted that "mono is boring." We expanded the chimes to have an Atmos-style stereo separation across the chimes. This can be disabled and panned in Mono mode in the Settings. The Lab believes in choice.

Chief Science Officer: "The lab made this for its own peace of mind. It has found considerably more than that. Right-click to open settings. The application does not judge your wind strength preference. The lab, however, recommends a 4."
Designation C.A.R.I.L.L.O.N.
Experiment No. BL-010
Status ACTIVE / STABLE
Delivery Single HTML File
Dependencies NONE
Chimes 7 — Full 3D Physics
Physics Rate 60 FPS — Delta-Time
World Themes 10
Audio Themes 10 + Auto
Scales 9 Pentatonic
Rendering Canvas 2D — No Images
Audio Web Audio API — Real-Time
Persistence Cookie — 1 Year
Offline FULLY SUPPORTED
Hazard Rating NONE — THERAPEUTIC
Observation Log
BL-010-1A First chime collision detected. Tone sounded. Lab unexpectedly moved.
BL-010-2C Depth axis added. Chimes now pass in front of each other. 3D achieved on a flat screen.
BL-010-4F Wind simulation layered. Gusts ripple left to right. Convincing. Lab satisfied.
BL-010-6B Game Boy Tetris theme operational. Per-chime state machine running. Rows clearing.
BL-010-8D All ten audio architectures confirmed. Drawbar organ. Gamelan ratios. 4-bit quantizer.
BL-010-10A Cookie persistence confirmed. Closed tab. Reopened. Settings remembered. Peace restored.
01

Core
Systems

3D Pendulum Physics
Each chime is a full physics object on two independent axes — lateral swing and depth. Gravity, angular damping, and collision forces computed per-frame at 60 FPS with delta-time correction. Chimes exchange momentum on contact and produce sound proportional to impact velocity.
🌬
Layered Wind Simulation
A global mean wind direction drifts convincingly over time. Per-chime turbulence frequencies ensure neighboring chimes respond slightly differently to the same gust, so wind ripples through the instrument naturally. Strength scales quadratically — the difference between 3 and 8 is dramatic.
Procedural Audio Synthesis
Every tone is synthesized in real time via the Web Audio API. No samples. No loops. Each audio theme uses a different synthesis architecture — additive, FM, filtered noise, WaveShaper quantization — designed to evoke a specific instrument from a specific soundtrack.
🎮
Ten World Themes
Ten fully realized visual environments, each with its own sky, ground, foliage, animations, and custom chime hardware design. Wizzrobe ghosts patrol the Zelda II graveyard. Rings spin in Green Hill Zone. The Game Boy theme runs a live per-chime Tetris state machine.
🎼
Automatic Scale Matching
Switching worlds auto-selects the pentatonic scale matching that world's canonical soundtrack key. Green Hill Zone loads C Major. Castlevania loads D Minor. Zelda II loads G Minor. The chimes stay in key. Melodic fragments emerge by accident.
🍃
Ambient Breeze Layer
An optional filtered white noise layer underlies the chimes. Not a loop — procedurally generated, passed through a bandpass and lowpass filter chain, with volume driven by a blend of a gust envelope and real-time wind intensity. At high levels it tracks the physics simulation directly.
02

World
Themes

THEME 01
Classic
KEY: A Minor AUDIO: SMB1 Bell — NES Square
A sunny NES-era blue sky, white pixel clouds, and green ground. Bamboo-style chime tubes in warm earth tones. The reference point for everything else.
THEME 02
Zelda II — Graveyard
KEY: G Minor AUDIO: Great Palace Pulse
Twilight purple sky with animated pixel stars. NES-accurate hedges and gravestones. Wizzrobe-style ghosts patrol on elliptical paths, fading in and out as they loop. Stone arch crossbar. 25% duty PeriodicWave with 5.5 Hz vibrato LFO.
THEME 03
Elwynn Forest
KEY: G Major AUDIO: Flute w/ Breath Noise
Warm daylight sky, rolling green hills, layered trees swaying in the breeze. Based on WoW's iconic starter zone in a warm pixel palette. Wooden chimes with a rustic branch crossbar. Sine oscillator with vibrato LFO and procedural breath noise layer.
THEME 04
Secret of Mana — Ruins
KEY: D Minor AUDIO: Gamelan Bell
Deep teal dungeon sky with ancient stone architecture. Dark, ceremonial, slightly unsettling. Chimes in cold stone grey. Three inharmonic sine partials at acoustically derived gamelan ratios (1.0 × 2.35 × 4.1), each decaying at a different rate like struck bronze.
THEME 05
Mega Man — Sunset Stage
KEY: D Minor AUDIO: NES Square w/ Chirp
SNES-era outdoor sunset with horizontal color bands. Four bands of silhouetted foliage receding into distance. Foreground uses gapless tiling and a fixed-base wind sway system so vegetation bends convincingly at the tops while staying rooted.
THEME 06
Castlevania — Gothic Night
KEY: D Minor AUDIO: Five-Drawbar Organ
Deep night sky with animated pixel bats on looping patrol paths. Dark gothic architecture. Stone crossbar with gargoyle-style end brackets. Five-drawbar additive synthesis at 8', 4', 2⅔', 2', and 1' harmonics. Vampire Killer, rendered in chime form.
THEME 07
Camp Blood — Crystal Lake
KEY: E Minor AUDIO: Detuned Eerie Sine
Moonlit forest at night, inspired by the NES Friday the 13th game. Deep forest silhouettes frame a dark sky with a full moon. A Jason Voorhees silhouette occasionally appears in the treeline. Two detuned sines creating natural beating with a slow AM tremolo chain.
THEME 08
Green Hill Zone
KEY: C Major AUDIO: Xylophone — Inharmonic Partials
The Sega Genesis aesthetic of Sonic's opening stage. Warm sunset sky with the characteristic green striped checkerboard hillside. Sonic-style loops in the distance. Spinning gold rings — proper elliptical rings with perspective tilt, not squares. Palm trees with slope-aware grass.
THEME 09
Brinstar — Super Metroid
KEY: G Minor AUDIO: Resonant Synth Lead
Alien underground cave environment inspired by Brinstar Red Soil. Bioluminescent plant life pulses softly in the foreground. Deep cave darkness with organic texture. Sawtooth oscillator with a resonant filter sweep (Q=8) that opens from deep to bright on attack.
THEME 10
Game Boy — Tetris
KEY: C Minor AUDIO: DMG Pulse — 4-Bit Quantizer
The entire scene rendered in the four-shade green LCD palette of the original Game Boy. Each chime tube is a column of Tetris pieces — L-tetrominoes, S-pieces, T-pieces — assembled into a stack. Pieces actually drop in from the top. Full rows flash and clear. Per-chime Tetris state machine, running continuously.
03

Settings &
Controls

Right-click anywhere on the canvas to open the settings panel. All preferences are stored in a single cookie with a one-year expiry. The application remembers you.

01
World Theme
10 options
The visual environment. Each theme has its own sky, ground, foliage, ambient animations, and custom chime hardware design. Switching theme auto-updates the Tone Key to match.
02
Audio Theme
10 options + Auto
The synthesis voice of the chimes. Auto mode always matches the current world theme. Manual pin lets you mix any audio theme with any visual world.
03
Tone Key
9 Pentatonic Scales
The musical scale from which chime frequencies are drawn. Auto-set when switching worlds. Overridable at any time. Five minor and four major pentatonic scales available.
04
Wind Strength
0 — 10
How hard the wind blows. Scales quadratically — the difference between a 3 and a 7 is dramatic and physically meaningful. The lab recommends a 6.
05
Chime Sensitivity
1 — 10
How light a collision needs to be to trigger a sound. High sensitivity means even gentle brushes produce tones. Low sensitivity requires harder impacts.
06
Breeze Sound
Off — 10
Volume of the ambient filtered white noise layer underneath the chimes. At low levels it's gentle occasional puffs. At high levels it tracks real-time wind intensity directly.
07
Mix
Chimes ←→ Breeze
Balance between chime tones and the breeze noise layer on a continuous spectrum. Full left is chimes only. Full right is breeze only. The middle is the sweet spot.

C.A.R.I.L.L.O.N. is a single self-contained HTML file. No frameworks, no build step, no dependencies, no server. Every pixel is drawn with the Canvas 2D API and every sound is synthesized in real time with the Web Audio API. The entire application — physics, rendering, audio synthesis, UI, and state management — lives in one file that you can save to your desktop and open offline.

The physics loop runs via requestAnimationFrame and is frame-rate independent using a delta-time multiplier, so it behaves consistently whether your device runs at 60 Hz or 120 Hz. Audio is lazy-initialized on first user interaction to comply with browser autoplay policies.

Cookie storage format is a single pipe-delimited string — windStrength|sensitivity|key|breezeLevel|mixBreeze|theme|audioTheme — ensuring the entire settings state is captured in under 100 bytes. The application makes no network requests after loading and works fully offline once cached.

      BL-010 C.A.R.I.L.L.O.N.: ACTIVE  ⋮  PHYSICS NOMINAL — SEVEN CHIMES RESONATING  ⋮  WIND STRENGTH: OPTIMAL — RECOMMEND 6  ⋮  TEN WORLD THEMES LOADED — AUTO AUDIO ACTIVE  ⋮  GAME BOY TETRIS STATE MACHINE: RUNNING — ROWS CLEARING  ⋮  WIZZROBE GHOSTS: PATROLLING — DO NOT MAKE EYE CONTACT  ⋮  GAMELAN PARTIALS: 1.0 × 2.35 × 4.1 — RATIOS CONFIRMED  ⋮  CASTLEVANIA ORGAN: ALL FIVE DRAWBARS ENGAGED — 8' 4' 2⅔' 2' 1'  ⋮  JASON SILHOUETTE: INTERMITTENT — TREELINE MONITORING ACTIVE  ⋮  COOKIE PERSISTENCE: CONFIRMED — SETTINGS REMEMBERED — PEACE MAINTAINED  ⋮  GOLD RINGS: SPINNING — PROPER ELLIPTICAL PERSPECTIVE — NOT SQUARES  ⋮  RIGHT-CLICK CANVAS TO OPEN SETTINGS — LAB RECOMMENDS WIND STRENGTH 6  ⋮  BIOLUMINESCENT FLORA: PULSING — FILTER SWEEP ACTIVE — Q=8 CONFIRMED  ⋮