Cabinet + tube geometry
The theme PNG alpha channel became the only screen shape.
FIVE PARTS / THIRTY DAYS / ONE LOCKED BASELINE
CableBox looks like an old television because several modern systems agree to disappear. This is the documented architecture, the failed paths, the measurements, and the rules that keep the illusion intact.
PART I / CASE STUDY
The theme PNG alpha channel became the only screen shape.
Screen apertures moved offline into permanent baked assets.
The approved picture constants were measured, recorded, and locked.
Fresh sessions, cache discipline, and watchdog recovery replaced dead screens.
Engine shootout, stress proof, frozen baselines, and browser parity closed the build.
Instead of computing a screen shape while the app is running, CableBox bakes each aperture into the cabinet artwork. The alpha channel is permanent, reviewable, and deterministic.
The video intentionally overshoots the aperture while the cabinet sits above it. That single layering doctrine eliminated black rims, bezel bleed, and competing geometry systems.
Playback engines, boot paths, channel changes, mask quality, and stress behavior each received a harness. The shipping choices are attached to numbers, not folklore.
PART II / ARCHITECTURE
NATIVE WINDOWS
BROWSER EDITION
PART III / HIDDEN OPERATIONS
Every cabinet carries its own aperture coordinates. CableBox finds the center, expands width and height by 3%, then scales the result with the cabinet. The video extends roughly 1.5% beyond every edge so resize, DPI, and sub-pixel movement cannot expose a black ring.
A box-prompted segmentation pass produces the aperture, a single feather pass softens the edge, and a fill-ratio audit rejects accidental rectangles. The shipped themes therefore carry their screen shapes inside the PNG rather than recomputing them on each machine.
The locked baseline lifts midtones, protects highlights with a soft shoulder, warms the white point, alternates display-space scanlines, overlays restrained RGB triads, and blooms only the bright tail. The browser edition collapses the same visual logic into a WebGL2 shader.
The app creates a temporary live session, loads the current guide, constructs the selected stream, and renews the session when it becomes stale. The browser and native editions follow the same three-stage shape without making the visitor manage credentials or configuration.
The dial begins with a hand-curated eligible pool, removes duplicates and blocked categories, fixes three movie positions, promotes up to three favorites, seats cultural anchors, then fills the remaining slots with a daily seeded shuffle. The same day stays recognizable; tomorrow changes.
After a verified playing event, CableBox records the channel and current stream state. A fresh entry can start immediately while the guide refreshes in parallel. If a frame does not arrive inside the watchdog window, the cache is discarded and normal boot resumes.
A one-second watchdog watches playback state, frame-time movement, and tune lock. CableBox can request a fresh session, replay the current channel, advance the dial, or bridge a prolonged failure with an in-world local break instead of exposing a blank software screen.
Museum mode suppresses the normal cabinet stack, reveals two separately authored exhibit apertures, and reasserts mute whenever playback changes state. It is not a modal dialog; it is another physical scene inside the object.
The video owner and transparent cabinet overlay are independent top-level windows. Fullscreen or operator lock moves every participating window into the same topmost band, while activation reasserts the cabinet above its own video. Native DWM corners replace aliased hand-cut regions.
Smoke, stress, engine, aperture, museum, and dial-coverage harnesses expose specific failure surfaces. Frozen release trees are hash-checked before packaging, packagers are re-runnable, and every meaningful ship event is recorded in an append-only operational ledger.
PART IV / MEASUREMENTS
| Engine | Mean | P50 | P99 | Stalls | Errors |
|---|---|---|---|---|---|
| LibVLC | 375 ms | 241 ms | 1,437 ms | 0 | 0 |
| libmpv | 2,695 ms | 2,620 ms | 3,927 ms | 0 | 0 |
Normal warm path to first live frame on the target N150 system.
Last healthy channel begins while the current guide refreshes in parallel.
Measured recovery latency in the last bounded stress-harness run.
Five channels across the recorded stress window.
PART V / OPERATIONS
--smokeGuide and first-frame liveness--stressUptime, rapid switching, recovery--engine-shootoutPlayback engine measurement--aperture-debugEvery cabinet rendered offline--museum-previewExhibit proof render--dial-coverageSixty-day rotation simulationMainForm.csDial state, boot, watchdog, inputTvShellOverlayForm.csCabinet overlay + CRT paintDialChannelBuilder.csAnchors, lottery, favoritesPlutoGuideClient.csLive session + guide clientLastChannelCache.csTen-minute warm pathwebapp/src/main.jsBrowser orchestration + aperturewebapp/src/dial.jsBrowser dial paritywebapp/src/crt.jsWebGL2 CRT shaderApproved native and browser trees are hash-anchored before packaging.
The release scripts can rebuild the same package without a manual maze.
Meaningful ship events join an append-only operational ledger.