Skip to content

Re-author the five shipped presets sparse, against the sensor #65

Description

@totally-tim

The five documents under presets-builtin/ each name the whole look tag. That was the only
shape a preset could take until the subset picker landed; it is now one shape among several,
and it is the wrong one for a shipped starting point.

Why it matters

Panel groups now derive open from the document: a group is shown when one of its parameters
carries keyframes or sits off its default. On a fresh project the four collapsible groups —
Reading · detail, Region, Displacement, Optical — are shut, and the panel is quiet.

Applying blackwall.json moves eleven values off their defaults (bloom, rgbSplit, scanlines,
grain, glitch, pointSize, trails, scan, rim, fade, wake), which reveals Optical, Displacement,
Points, Colour and Time in one gesture. So the quiet panel is an authoring benefit — you
start from defaults and add — and invisible to anybody who starts from a shipped look.

Those twelve values are the old hardcoded setMode(4) bundle carried across when the readings
were unbundled from the grade. They were never chosen as a minimal set, because nothing before
now could express one.

What to do

Re-author each of the five against real footage, naming only the values the look actually
needs. The save dialog writes a subset directly, so this is authoring rather than hand-editing
JSON.

This needs the sensor and a person judging the result on screen. The incentive here leans
the wrong way: a sparser file flatters the panel, and a look graded to flatter a panel is a
worse look. If Blackwall honestly needs eleven post values, it should keep eleven. The point is
to remove what it does not need, not to hit a number.

The constraint that will bite

keyframe-check section 6e clicks .kf[aria-label="bloom keyframe"]. bloom lives in
Optical, Playwright's click requires visibility, and the click only lands because 6e applies
the Blackwall look first — which moves four Optical parameters (bloom 0 to 0.5, rgbSplit 0 to
1.6, scanlines 0 to 0.35, grain 0 to 0.22) off their defaults and so derives the group open.
Measured at both endpoints: with Optical at defaults the diamond exists in the document but
isVisible() is false and the click times out after 5s.

So a Blackwall that stops moving Optical off its defaults turns keyframe-check 6e into a
30-second timeout — arriving as a crash with zero failed assertions rather than as a finding.

Either keep an Optical value in Blackwall, or change what 6e applies first. The dependency is
recorded in docs/proof-tools.md under keyframe-check.

Acceptance

  • Each of the five names only what it needs, judged on screen against real footage.
  • keyframe-check still passes, or 6e's fixture is updated in the same change with the reason
    stated.
  • registry-check still passes — it hashes each reading at 1.0 against a pre-readings commit,
    so the readings' own defaults must not move.
  • library-check and editor-check still pass.

Background

The reveal mechanism and the subset picker shipped together; README.md's Presets section
carries the semantics. Deliberately not in scope here: per-group bypass, which is what "remove
this effect" will eventually mean and which is named but unbuilt.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions