PERFORM, EVOLVE, stage mode and first steps to the mock; the pad keys (Plan-008 C1, ADR-018) - #116
Merged
Merged
Conversation
…he guide pill (Plan-008 C1) PERFORM was a single faceplate (a head with a small face and a scope, a row of first steps, eight dials, a touch row, six pads, the offer strip, XY and the hood), and EVOLVE showed waveforms where the approved specimen shows the sound's face. This lays both out to the specimen without dropping a function: - PERFORM's left column holds the cap (family · in hand, the family only where the engine has one), the name at the display size with share, the blurb, and the well with the held face drawn large (glow and reflection, as stage mode draws it). B's face stands beside it in amber while it holds an offer, with what changed and how to hear it under its floor, and Blend is a slider under the two faces. XY and How it works are modes of the well; the live trace sits in its corner. - The right column: CONTROLS with Arrange and How it works, the knob grid, the hood strip, and the pad row WANDER · OFFER · PEEK · TAKE · PASS. Freeze is a tap (or Enter) on Wander, shown on Wander. PASS is the pass Next already made, without growing another, with its UNDO. Keep and Back live in a "moved · KEEP · BACK" bar shown exactly when the sound has left home. What velocity plays is a row of Arrange, with a "vel" tick on its control. Blend and Wander keep their MIDI slots. - The pad keys (ADR-018): N offer/next, hold B peek, ⇧↵ take, ↵ keep with nothing focused, ⇧⌫ back; N is ANOTHER PAIR in EVOLVE. - The first steps move into the guide pill (guide.js), bottom left of the stage, one step at a time with ×; `auracle-perform-steps` migrates into `auracle-guide`, and both reset lists clear it. - EVOLVE: the question as the head with its pips, a small TASTE map (taste.drawMini), each card's face large in its well with ⇄ circuit and ↓ patch in the corner, the buttons relabelled (PLAY · 1, PICK A · ←, ANOTHER PAIR · N), EVOLVE POOL dashed until the first fit, and the lineage behind "what each generation did". - Stage mode: the wordmark and lamp top left, the family only where the engine has one, the keys printed as keys. Specs that pressed FREEZE, KEEP and BACK pads, read the XY field at rest, read three first steps at once, or dragged Blend as a dial now use Wander's tap, the moved bar, XY mode, the pill's one step and the slider. Claude-Session: https://claude.ai/code/session_01GMg3KFS9ggSrYdvGkbBshW
…nd the first-steps pill The guide pages, the keymap, the ? card and the runtime notes described the old PERFORM (a header with a scope, a TOUCH row, six pads with FREEZE, KEEP and BACK, a B strip, the first steps under the title) and EVOLVE's waveform cards. They now say what the app shows: the well and its modes, B beside the sound with Blend under it, Wander's tap, PASS, the moved bar, what velocity plays in Arrange, the pad keys (ADR-018), the first-steps pill, EVOLVE's head, faces, corner and lineage disclosure, and stage mode's wordmark. New specs pin the layout at 1000, 1280 and 1440 px, XY and How it works as the well's modes, Freeze on Wander, the moved bar, Blend and PASS (perform_layout), the keys and where they yield (pad_keys), EVOLVE's cards (evolve_cards), the pill and its migration (guide_pill), and every moved function under a finger (perform_touch). "Nothing to keep" and "nothing to go back to" are refusals, so they jump the toast queue. Claude-Session: https://claude.ai/code/session_01GMg3KFS9ggSrYdvGkbBshW
…o the well's other modes At 1000 px `.lv-title`'s display size won over EVOLVE's own (one class each, later rule), so the question took two lines and the cards' feet differed by a name's wrap; now the question is the title size there and each foot stacks. Blend's slider lay over the XY field and How it works; it shows in the face mode only. PASS's column is wide enough that "needs an offer" takes two lines, not three. The keymap's MIDI rows name the slot order rather than a deck, the perform_truth first-steps test checks the coach before the note that retires it, and ADR-018 says where Backspace was free. Claude-Session: https://claude.ai/code/session_01GMg3KFS9ggSrYdvGkbBshW
…t a play button Folding "what each generation did" behind a disclosure gave its spark no size, and drawLineage returned before writing the log, so the log said "No generations yet" after generations had run until it was opened (caught by evolve_truth's generation with no farm). The spark is drawn only with a size now, and the log is written either way. A click on B in the well played the sound in hand, which B is not; it now leaves B to PEEK and B held. The well's and EVOLVE's large faces are drawn at 2× at most: each is a 480 px picture in the cache the bank's thumbnails share. How it works sits on a veil, clear of the well's corner. Specs: booth reads Blend's slider; offer_moments reads the face where it stands once B is in the well (and again once B has left), since the well makes room for B; pad_keys waits out the dial's sweep before keeping; perform_touch tries the XY field's corners, as a one-way control stops at the center. The booth guide and comment no longer say the XY dot follows attract's hand (the dials turn; XY is a mode of the well). PERFORM's and EVOLVE's landing figures are re-captured to the new layout, with their alt text. Claude-Session: https://claude.ai/code/session_01GMg3KFS9ggSrYdvGkbBshW
The sound a fresh tablet session opens with can have no two controls the XY pad reaches (one boot's had Grit alone), so a tap on the field moved nothing and the moved bar never showed. Glass Pad's BRIGHT turns both ways. Claude-Session: https://claude.ai/code/session_01GMg3KFS9ggSrYdvGkbBshW
It still listed six pads; PERFORM is the well (the face, B with Blend, XY, How it works), Wander and four pads, the moved bar and the pad keys. Claude-Session: https://claude.ai/code/session_01GMg3KFS9ggSrYdvGkbBshW
…and-captured figures show The guide said a click on the well plays the phrase; since B's face no longer does, it says so. The plan's as-built notes the re-captured figures' state (the warm start's 18 picks, no generations) against SCREENSHOTS.md, the stale teach-meter crop, and that the large faces share the face cache. Claude-Session: https://claude.ai/code/session_01GMg3KFS9ggSrYdvGkbBshW
…onto the face, touch sizes
Review of C1 found:
- The pad keys treated Blend's range input as a text field (`typing` and
`ENTER_OWNERS` matched any input), so once Blend had focus N, B, ⇧↵, ↵ and
⇧⌫ all died. A range is a control, as main.js already treats it.
- "KEEP ↵" was false straight after a mouse turn: the dial kept the focus
and ↵ played its sweep (or toggled Wander). A dial's or Blend's pointer
turn now leaves no focus, as a clicked button leaves none; a control
reached with Tab keeps its own Enter, and the guide and ADR-018 say so.
- PASS's fold read the face's box before B left the well, so it landed
where the face had been: the fold now reads it a frame later, after the
reflow (NEXT's still lands where it stood, with B's room kept).
- KEEP, BACK and the pill's × were ~24 px under a finger; on a coarse
pointer they are 44 and 40 px.
- The live trace hid exactly while comparing; it moves to the well's top
left, clear of B and Blend, and stays.
- The large faces get their own 24-entry cache, apart from the bank's 400
thumbnails, so their memory is bounded; pad("pass") does nothing without
an offer.
voice.md takes the approved rows (keep in the moved bar, moved · KEEP ·
BACK, PASS, first steps, ▶ PLAY, ↓ patch, ⇄ face, Velocity plays and vel,
share, what each generation did).
Specs: pad_keys covers keys after a mouse slide of Blend and with Blend
focused, and ↵ keeping after a mouse turn (its blur that masked the bug
is gone); perform_offer_moments adds PASS's fold; perform_touch adds BACK,
the sizes, the bar's hidden keys and PEEK held with a finger; negative
checks drop their fixed waits.
Claude-Session: https://claude.ai/code/session_01GMg3KFS9ggSrYdvGkbBshW
…italic voice.md keeps the italic voice face for the model only; the word between the two cards is the page's, so it is a silk label. Claude-Session: https://claude.ai/code/session_01GMg3KFS9ggSrYdvGkbBshW
…ved for voice.md Claude-Session: https://claude.ai/code/session_01GMg3KFS9ggSrYdvGkbBshW
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plan-008 PR C1. This brings PERFORM, EVOLVE, stage mode and the first-steps pill to the Vision II mock. Moving between the levels is still instant; the zoom comes in C3. PATCH comes in C2.
PERFORM: the well and the panel
bMix), shown only then.passOffer, recorded exactly as Next's pass, with UNDO.EVOLVE
taste.drawMini) that goes to TASTE.Stage mode and the first-steps pill
a-stage: wordmark and lamp, ×, "family · in hand", keys drawn as keys.guide.js): pips, one step, and × ("Stop showing these"). It absorbs PERFORM's first steps;auracle-perform-stepsmigrates into it.Fixes found on the way
drawLineagereturned before writing the log, so a farm-less generation lost it.Capability checklist (nothing dropped)
.pf-step#pf-touch-sel/-depth.pf-keep/.pf-back+ ↵/⇧⌫ (44 px on touch)data-frozen, "frozen")#gen-count#scope-a/bwaveform#lineage-btn→#lineage-popst-cat"PERFORM · in hand"Where the mock isn't matched:
aria-pressed(ARIA forbids that on a slider).Tests
perform_layout: layout at three widths, Blend only with an offer, PASS records and undoes;pad_keys: the ADR-018 keys, including after a Blend slide and a mouse turn;evolve_cards,guide_pill;perform_touch: every moved function under a coarse pointer, including BACK, KEEP, a held PEEK and Freeze.apps/web/tests/guide.test.mjs: the storage migration.perform_open_early(Keep needs a move),perform_truthfirst steps,perform_palette/text_fits(Blend is a slider, 7 captions),perform_wander/space_after_a_click(Freeze on Wander),perform_offer_moments(face boxes after the reflow, plus a PASS case), and the XY specs (open XY mode first).Docs: ADR-018,
views/perform.md,views/evolve.md, keyboard, accessibility, glossary, first-session, playing, teaching, bank, the ? card,web-runtime.md,testing.md,apps/web/AGENTS.md, the plan's as-built, the CHANGELOG, voice.md (approved rows), and re-capturedperform.webp/evolve.webp.https://claude.ai/code/session_01GMg3KFS9ggSrYdvGkbBshW