Files
Miguel Ángel 9734578e60 feat(registry): bring back the video-primitive moves (#3169)
Restores the 208 catalog items reverted after their previews 404'd in
production, this time on the payload mechanism rather than the .html files
that caused the outage.

The generator no longer writes a preview document to docs/public. That writer,
and the machinery under it, existed only to produce files the docs host
discards, so it is gone rather than bypassed. Items now embed the composition
itself via a payload, which is what the previous change already does for the
items that were already in the catalog.

The variables explorer is parked, not restored: it drove its preview through
the same unpublished .html path, so it would have shown an empty frame. Items
that declare variables get the live player plus the static variables table, and
reconnecting the explorer to payloads is a follow-up.
2026-08-10 18:46:03 -04:00
..

segmentation-flood

Product demo / AI experiment primitive: a machine-vision read of a slotted subject. Translucent accent segmentation masks FLOOD onto 2-4 regions in scanline steps (rows arrive in 2-3 frame quanta: flood progress is quantized to frame steps before any row is drawn), each completed region gets a thin corner bracket plus a mono label chip, and a subtle HUD flicker (a deterministic 2-frame luminance toggle) rides the pass, then stops the instant the flood completes. Settles to a clean labeled read. 4.5s authored, elastic HOLD (never time-scaled).

Reference feel: the gmunk segmentation sheets (red masks flooding under HUD flicker), tokenized to the contract palette.

Mounting

<div
  class="clip"
  data-composition-id="segmentation-flood"
  data-composition-src="./components/segmentation-flood.html"
  data-variable-values='{"regions":"Chassis, Payload, Horizon, Beacon","accent":"blue"}'
  data-start="0"
  data-duration="4.5"
  data-track-index="0"
></div>

Subject slot

The subject is a slot. Place an inert template anywhere in the HOST page:

<template data-slot="segmentation-flood-subject"> ...subject... </template>

Direct img / video children are stretched to cover the stage; arbitrary HTML fills it. A missing slot falls back to a token scene: a surface field with muted shapes seated where the default regions land.

Variables

id type default notes
regions string Figure, Signal, Ground Comma label list; 2 to 4 used. One mask + bracket + chip per label.
flood_at number 0.8 Seconds when the pass starts. Clamped so the pass and any exit fit inside the clip.
flicker enum on on or off: the 2-frame HUD luminance toggle riding the pass.
accent enum green green maps to --brand, blue to --accent, violet to --accent-2.
exit enum none none holds the labeled read (frame roots own transitions); fade or up add a 0.45s departure.

Choreography

  • 0.00s: the subject settles up quietly; no overlay.
  • flood_at: region 1's mask starts flooding top to bottom in quantized scanline rows (a brighter leading row, hairline gaps for texture); regions stagger 0.35s apart, 1.0s of flood each.
  • Each region completes: its corner brackets snap in and its mono chip rises on the same beat.
  • Flood end: the flicker window closes; brackets, chips, and masks hold as one clean labeled read.
  • HOLD: dead still, elastic with the clip duration.

Sync point flood fires as the pass starts; align SFX to it.

Determinism

Region geometry, per-region flood quanta (2 or 3 frames), and scanline row counts come from one table computed once at build from fixed LCG seed 0x5e6f100d. One plain-object anchor tween feeds one painter that redraws every mask row and the flicker wash from scratch as pure functions of the timeline time; the flicker is on exactly when floor(frame / 2) is odd inside the flood window. Eventful seeks land identical frames in any order and either direction; the raster basis is the host box measured once at mount.