UI Text Clipping Audit
UI Text Clipping Audit
Last updated: 2026-08-08
Current Pass
- Made the shared Automation/Settings callout cap itself to the active display's usable area instead of assuming a 1360-pixel-wide desktop; the full editor remains reachable with explicit scrollbars.
- Raised the Automation mode line, center cue, duplicate-count badge, and FAST/SLOW curve handles to the editor's established readability floor.
- Preserved the whole-row deletion receipt across the row-list refresh so the customer can see what was removed and what effective owner is now sounding.
- Confirmed Escape and outside-click dismissal already follow the shared callout contract; no duplicate dismissal mechanism was added.
- Expanded the native-synth control-quality gate from one roomy viewport to both
1800x1000and SpaceAge's exact supported minimum of1100x800. - Added
U01-A EFFECTS_DETAIL_LAYOUT, which opens all eight production Effects detail editors at both viewports and audits 312 real component instances for containment, minimum target size, label/control separation, and EchoRay card ownership. - Added
U01-B AUTOMATION_EDITOR_LAYOUT, which opens the production MIDI Expression/Automation doorway and audits 29 visible controls, compact and focused layouts, the bounded scrolling shell, and Escape/X dismissal. - Fixed focused Automation
ROW VIEWcontinuing to paint its hidden row-list header and rows after assigning the remaining height to the graph. Focused mode now removes that surface completely instead of compressing it into invalid geometry. - Added
U01-C MIXER_LAYOUT, which audits 2,306 production Mixer controls at roomy and minimum viewports, all hidden strip pages, horizontal scrolling, and responsive Master geometry. - Preserved an 80-pixel minimum Mixer-strip owner width instead of crushing sixteen strips into unreadable columns; the minimum viewport now scrolls horizontally when required.
- Added
U01-D STARTUP_DIALOG_LAYOUT, which audits all 20 startup and loading-feedback controls against the same responsive card used for painting. - Added
U01-E LIBRARY_LAYOUT, which audits 58 Library controls across roomy and minimum viewports, preserving the centered Save hero and flowing secondary actions through responsive grids. - The automated sweep opens every native Synth Engine route and subpage and now checks 590 visible control instances for page containment, usable interaction, readable values, gesture completion, and Undo behavior.
- The minimum-size sweep exposed a real Liftoff defect: its fifth upper-row selector collapsed to zero width. Liftoff now distributes all five selectors responsively, and the strengthened gate passes at both viewport sizes.
- Expanded
U04-Aso it opens the real production Sequencer Settings root at1100x800, checks all 39 visible controls for containment plus minimum button hit targets, and proves oversized destination panels retain their full natural dimensions inside a bounded scrollable shell. U04-Aexposed a real overflow in the five-button MIDI doorway row: its fixed widths exceeded the usable panel width. All four MIDI doorway rows now divide the available width responsively with consistent gaps.- Reworked the main Settings popup into a wider/two-column layout, buying back vertical space for MIDI doorway buttons.
- Shortened MIDI Hardware Passport safety/explanation text so the strips are less likely to overlap or clip.
- Removed synth-editor ownership of effect sends and generator-local effects from visible patch workflows. Effects should be controlled from mixer/channel-strip routing, not from synth patch pages.
- Fixed the Mixer strip Darken readout area by giving the slider a right-side text box and more vertical room.
- Enlarged Arranger lane ARM/M/S controls and the painted L/S/V command buttons in the lane badge.
- Changed the Synth Engine drawer title resolution so lane-owned instruments identify themselves by lane/instrument context before falling back to pad wording.
- Added production-editor overview coverage proving ordinary Arrangements keep full 88-pixel lane badges while dense 16-lane projects use the maximum fitting lane height rather than an arbitrary compact preset.
- Removed the generic synth's old
roomanddelayAPVTS parameters, cached pointers, reset/highlight hooks, and internal delay taps. Reverb/delay now belong to mixer sends. - Shortened the paste snapshot button and SoundFont/Liftoff/Lunacy source labels while keeping full details in tooltips.
Areas To Recheck With Human Eyes
- Every native Synth Engine page at
1100x800: automated geometry now passes, but only a human can judge whether labels, selector text, knob spacing, and critical targets feel comfortably readable rather than merely contained. - Effects detail popups, especially EchoRay and Halostar, still need human readability and Windows-scaling review; production geometry now passes at
1800x1000and1100x800. - Propulsion 1, Liftoff, Glass Moon, Moonshadow, and Lunacy synth pages after the effect-control removal pass.
- Quasar tab was intentionally not touched during earlier text-removal passes.
- Settings panel lower rows after the two-column pass, especially on smaller screens and non-default Windows scaling.
- Every deeper Settings destination opened from the verified root. The software contract now keeps all 13 destinations reachable through scrolling, but a human still needs to judge real scrolling, text comfort, keyboard dismissal, and non-default Windows display scaling.
- Automation compact and focused views at the default public size and
1100x800, especially label readability, graph-point comfort, row selection, scrolling feel, and dismissal while a child control has focus. - Long SoundFont preset names in Arranger lane badges.
- Long lane names plus
MIXER XX / MIDI CHANNEL YYtext in collapsed and normal lane heights.
Decision Notes
- Mixer sends are still valid channel-strip parameters. They are not synth patch parameters.
- Dormant APVTS parameters should not be kept for new synth/generator work. We are not preserving old test-project migration when it conflicts with a cleaner product architecture.
2026-07-29 - Beta Readiness Checklist Surface
The UI clipping/readability risk is now exposed as structured beta-readiness data, not only as prose. The current checklist asks for human viewport sweeps across the app shell, Synth Engine pages, Effects editors, Settings and MIDI diagnostic pages, automation popups, Arrangement lane badges, Mixer strips, startup dialogs, and Library flows.
Minimum pass evidence: open the app at the default public size and one smaller viewport, then confirm no hidden text, overlapping labels, tiny critical hit targets, or bottom-edge clipping on the listed surfaces. This is intentionally human QA because screenshots and eyesight are the proof source for this class of bug.
2026-08-04 - Native Synth Minimum-Viewport Contract
SYNTH_CONTROL_QUALITY now treats the declared 1100x800 minimum as a product contract rather than testing only a convenient desktop size. It opens all native Synth Engine routes and subpages at both 1800x1000 and 1100x800, then inspects 590 visible control instances. The gate passes after replacing Liftoff's fixed five-column minimum with responsive equal-width columns.
This materially reduces the U01/U03 risk, but does not close either human-facing check. Geometry can prove that a control exists inside its page; it cannot prove that Shane can read it comfortably, that translated text will fit, or that Windows display scaling remains pleasant.
2026-08-04 - Effects Detail Production Geometry Contract
The Effects-page audit uses the real detail-overlay component and the same callbacks a customer clicks. Halostar, Reverb, EchoRay, Chorus, Flanger, Phaser, Tremolo, and Octave are each opened at 1800x1000 and 1100x800. The audit checks the panel, title, hint, close control, every parameter label and dial, every choice label and selector, and every toggle. EchoRay's 27 dials must also remain inside their intended six section cards.
The gate covers 312 component instances and passes both focused and canonical convergence. It prevents a future fixed-width or vertical-layout regression from silently shipping, while leaving font comfort, hover clarity, and display scaling to the human QA matrix.
2026-08-04 - Sequencer Settings Containment Contract
The SETTINGS_ROOT_LAYOUT gate uses the real SequencerSettingsPanel rather than a duplicated geometry model. At the minimum supported application size it verifies the panel remains inside the safe editor area, all 39 visible buttons/sliders/labels remain inside the panel, and every root button retains at least a 44 by 24 pixel hit target. A second contract places synthetic 1320x940 destination content inside the same production shell and proves the shell is capped at 1040x740 while the full content remains reachable through its viewport.
The first run caught a genuine overflow: the third MIDI doorway row attempted to place five fixed-width buttons in less horizontal space than they required. Responsive equal-column placement now keeps the root doorways reachable. MIDI Input, MIDI Health, MIDI Timing, Setup Guide, MIDI Assignments/Learn, MIDI Protocol, MIDI Sync, MIDI Output, MIDI Hardware, SysEx Vault, MIDI Expression/Automation, MIDI Patch, and Shortcuts now all use the bounded scrollable shell. This is strong partial evidence for U04; destination-panel visual comfort and hands-on navigation remain human checks.
2026-08-04 - Automation Editor Production Geometry Contract
AUTOMATION_EDITOR_LAYOUT opens MIDI Expression/Automation through the real Settings callback and checks 29 visible buttons, selectors, and sliders for containment, minimum size, and pairwise non-overlap. It also verifies the bounded scroll shell, compact row list and graph, focused graph, insert strip, and both Escape and X dismissal paths.
The focused contract caught a painted-content defect that child-component inspection alone could not see: ROW VIEW intentionally assigned no height to the full automation list, but paint() still drew that list below the expanded graph. The focused paint path now returns after the selected-lane scope and insert panel. Human review remains necessary because rectangle validity cannot establish typography comfort or pointer feel.
2026-07-30 - Lane MIDI Runtime Status
- Fixed the Lane MIDI Routing runtime/status receipt so long device IDs, source-policy counters, dropped-message counts, and duplicate-input warnings can fit across two lines instead of clipping off the right edge.
- This was a paint/layout-only change; MIDI routing and state were not changed.
2026-08-04 - Mixer Production Geometry Contract
MIXER_LAYOUT opens the real Mixer at both 1800x1000 and 1100x800, walks every strip bank and hidden page, and audits 2,306 controls. The first run exposed crushed strip columns, five-pixel meters, seven-pixel detail titles, and one/zero-pixel Master controls. Strips now retain an 80-pixel owner width and scroll horizontally when the bank is wider than the viewport. The Master section uses a separate compact vertical rhythm at the minimum height.
2026-08-04 - Startup Choice Production Geometry Contract
STARTUP_DIALOG_LAYOUT opens the real startup chooser and checks all 20 choices, recovery and template states, progress feedback, and dismissal controls. A shared responsive card helper now drives both painting and layout, removing the previous mismatch where controls could sit outside the visibly painted card. Human review still decides whether the dialog feels reassuring and clear during a genuinely slow load.
2026-08-04 - Library Production Geometry Contract
LIBRARY_LAYOUT opens the real Library at 1800x1000 and 1100x800, then audits 58 visible controls for containment, usable size, and pairwise non-overlap. The fixed nine-button file row and oversized vertical stack were replaced with responsive action grids while keeping Save Kit / Project centered and visually primary.
Human review remains required for wording, perceived hierarchy, starfield contrast, and non-default Windows scaling. The automated contract prevents future additions from silently pushing actions outside the supported viewport.
2026-08-07 - Shared Slider Feedback And Accessible Parameter Names
The shared SpaceAge LookAndFeel now gives ordinary sliders, Mixer faders, Mixer send bars, native moon knobs, and effect-detail dials consistent hover/drag feedback without borrowing the orange active-state or white musical-selection languages. The native-synth regression gate was strengthened beyond geometry: all 590 visible synth/lab parameter sliders must accept keyboard focus and publish the same human-facing parameter name shown in the UI.
The first strengthened run correctly failed with zero accessible synth controls, exposing that adjacent painted labels did not identify their sliders to assistive technology. Native control-bank setup now assigns those visible labels directly, with a stable engine-specific fallback only for deliberately unlabeled internal parameters. Fresh Release verification passes SYNTH_CONTROL_QUALITY, PRIMARY_UI_VISUAL_STATE, EFFECTS_DETAIL_LAYOUT, AUTOMATION_EDITOR_LAYOUT, and MIXER_LAYOUT.
2026-08-07 - Critical Targets, Pad Rows, And Dense Grid Contract
Arrangement ARM, Mute, and Solo controls now retain at least 24 pixels of height in both normal and pinned-gutter layout paths. The visual-state contract checks their usable dimensions at 1800x1000 and 1100x800 in addition to selected, armed, muted, and solo color truth.
Pad cards now separate the performance slider, Save/Load/Clear actions, and synth-edit action into distinct vertical rows. The velocity-layer label and MIDI CC selector share a responsive top row instead of colliding at narrow widths. The primary UI gate checks all 16 cards at both supported viewports for usable targets, containment, and non-overlap.
Drum Composer now has explicit target contracts for both workflows: the ordinary 16-step view keeps comfortable cells, while Compact Drum Composer retains a narrower tested minimum so all 64 steps remain visible without paging. Human review is still required for pointer feel, Windows display scaling, and whether the revised Pad-card hierarchy reads comfortably at the smallest supported window.
2026-08-07 - Chord And Automation Keyboard/Accessibility Pass
Chord Suggestion now exposes a named roving keyboard focus: arrows browse and audition candidates, Home/End jump to the bounds, Space auditions, Enter commits, and Escape or X dismisses. The focused hex uses the established blue focus language rather than the white clip-selection language.
Chord Create, Chord Performance, Flux Nodes, the Piano Roll canvas, and Automation now publish explicit identities and human-facing control names. Automation updates its description when keyboard row selection changes. The production PRIMARY_UI_VISUAL_STATE and AUTOMATION_EDITOR_LAYOUT gates verify these contracts. Human review remains required with Windows Narrator/NVDA, especially when a child selector owns focus and for keyboard-only single-note selection in the Piano Roll.
2026-08-08 - Shared Typography And Mixer Readability Pass
Shared ComboBox text is now 13 points, popup menus and preset names are 12.5 points, tooltips are 13 points, JUCE tab labels are 11.5 points, Arrangement instrument selectors are 12 points, and sequencer lane buttons are 11 points. Mixer section labels increased from 8 to 9 points, while compressor, saturation, and EQ detail labels increased from 7 to 8.5 points.
The typography minimums are enforced alongside existing containment checks. Fresh Release verification passes PRIMARY_UI_VISUAL_STATE, MIXER_LAYOUT, SYNTH_CONTROL_QUALITY, EFFECTS_DETAIL_LAYOUT, SETTINGS_ROOT_LAYOUT, AUTOMATION_EDITOR_LAYOUT, ARRANGEMENT_OVERVIEW_LAYOUT, ARRANGEMENT_LANE_VISUAL_STATE, STARTUP_DIALOG_LAYOUT, and LIBRARY_LAYOUT.
2026-08-10 - Startup Starting Points Vocabulary
The fifth startup action now uses BROWSE STARTING POINTS instead of the misleading LOAD TEMPLATE. Supporting text names the real ready-made kit and Instrument catalog without shrinking the existing dialog typography. STARTUP_DIALOG_LAYOUT verifies that this longer truthful label remains contained at both supported viewports and that its callback reaches visible, enabled Library content.
2026-08-10 - Lane Command Menu Density Reduced
The L and V lane panels no longer reserve vertical space for six disabled roadmap items. Structure contains three working rows, Signal/MIDI contains five, and View contains one. The shorter panels preserve the established readable row height rather than shrinking labels to accommodate unavailable features. PRIMARY_UI_VISUAL_STATE opens all three panels and rejects placeholder or disabled rows.
Human review remains necessary for long preset and lane names under Windows display scaling and for painted high-density labels in the Arrangement ruler, Piano Roll, and Compact Drum Composer. Those surfaces were deliberately not enlarged in this pass because their available space changes with musical density.
2026-08-08 - Automation Painted-Type And Lane-Doorway Pass
Automation's graph is primarily painted content, so child-control containment alone was not enough to protect readability. Operational graph text now uses a 10-point minimum and axis/status labels use a 9.5-point minimum. The production layout gate now asserts those painted-type constants in addition to its existing 29-control containment and no-horizontal-scroll checks.
Arrangement lane badges now reserve space for Automation instead of painting lane names underneath the badge. Full lanes use a 20-pixel AUTOMATION badge with 9.5-point text. Overview lanes use a 16-pixel AUTO badge whenever their height can honestly contain it; exceptionally dense lanes use a compact blue marker rather than unreadable microtype. Both normal and pinned-gutter paint paths share the same size constants, and ARRANGEMENT_LANE_VISUAL_STATE enforces them.
Human-eye follow-up: inspect long custom lane names beside the Automation badge at non-default Windows display scaling, plus the compact blue marker in a song dense enough to reduce lane height below 18 pixels.
2026-08-08 - Automation Popup Target-Display And Receipt Pass
- Settings/Automation callouts now cap their dimensions using the display that contains the launch anchor. A deterministic 1100x800 logical work-area regression requires both scroll directions when the 1320x940 editor cannot fit.
- DELETE ROW preserves its detailed receipt and returns the viewport to the visible status area, preventing the result from remaining off-screen after a user scrolled down to the destructive controls.
- The graph truncation marker now uses the established 9.5-point Automation axis/status floor.
- Automation edit tooltips now disclose that edits refresh the currently sounding internal target and routed external hardware; routing itself remains unchanged.
- Automated proof: AUTOMATION_EDITOR_LAYOUT.
- Human-eye follow-up: mixed-DPI multi-monitor placement, scrollbar comfort, and destructive-receipt readability under non-default Windows scaling.
2026-08-08 - Automation Deletion Feedback Pass
- Right-drag erase now reports the cumulative removed-point count and complete start/end step span instead of only the latest sampled step.
- DELETE ROW help text no longer contains the malformed owner arrow fragment and clearly states that the selected owner is removed.
- Failed single, grouped, or range deletions leave history and visible state untouched; successful edits refresh the effective internal and external MIDI value immediately.
- Escape continues to dismiss the Automation popup. Clicking unused space inside the popup does not dismiss it because that surface remains part of the editor; clicking outside the callout retains the established dismissal behavior.
- Human-eye follow-up: right-drag receipt legibility at minimum viewport and mixed DPI, plus physical-hardware responsiveness during a long painted erase.
2026-08-08 - Automation Owner Status Copy
- Changing the Automation owner now reports: Changes stay with this owner.
- The prior dangling owner-arrow fragment is removed.
- AUTOMATION_EDITOR_LAYOUT actively invokes the ownership callback and rejects malformed owner status copy.
- Fresh PRIMARY_UI_VISUAL_STATE and MIDI_CLOSEOUT gates pass.
2026-08-08 - Popup Keyboard And Accessibility Consistency
- MIDI export preview, MIDI import review, MIDI import receipt, and Piano Roll grid color now expose accessible titles and concise Escape guidance.
- One shared focus-aware component owns ordinary callout Escape behavior, preventing future copy/paste drift.
- JUCE click-away behavior is unchanged; specialized guarded dialogs are intentionally excluded.
- Automated proof:
PRIMARY_UI_VISUAL_STATE(popupEscape=1),AUTOMATION_EDITOR_LAYOUT,SETTINGS_ROOT_LAYOUT, andMIDI_CLOSEOUT. - Human-eye follow-up: verify screen-reader focus announcements and click-away comfort at non-default Windows scaling.
2026-08-08 - Dense Clip Preview Coverage
- Arrangement note and Chord thumbnails now sample evenly across the complete authored span and always include the final event when content exceeds the 32-mark drawing budget.
- Automated geometry protects full-span representation; human-eye follow-up remains required for contrast and usefulness at Windows display scaling and for especially dense 128/256-step clips.
2026-08-08 - Render Menu Naming Check
The new Render Active Arrangement Loop to WAV action lives in the existing popup menu rather than consuming Arrangement toolbar width. It reuses the established progress window and status area, so no new fixed-width toolbar label or popup-body layout was introduced. Human mixed-DPI inspection remains appropriate.
2026-08-10 - MIDI Health Header Crowding Closed
The single 28-pixel row of ten diagnostic actions was replaced with a tested two-row command deck. Each command retains at least 160 pixels at the compact contract, row-major keyboard order matches the visible hierarchy, and the panel's 1016-pixel natural width fits inside the 1100-pixel supported display allowance without horizontal scrolling. Vertical scrolling remains intentional for the full evidence report. Automated proof: SETTINGS_ROOT_LAYOUT, SETTINGS_DESTINATION_REACHABILITY, MIDI_HEALTH, MIDI_CLOSEOUT, and PRIMARY_UI_VISUAL_STATE.
2026-08-10 - MIDI Setup Guide Header Crowding Closed
The MIDI Hardware Setup Guide previously compressed ten navigation and copy actions into one fixed-width row. It now uses a tested 5 x 2 command deck with six-pixel gaps and at least 160 pixels per command in the compact contract. The 1016-pixel natural panel width fits inside the supported 1100-pixel display allowance without horizontal scrolling; deep scenario and template content remains vertically reachable.
Keyboard focus follows the visible two-row hierarchy and then enters the template controls. Automated proof: SETTINGS_ROOT_LAYOUT, SETTINGS_DESTINATION_REACHABILITY, PRIMARY_UI_VISUAL_STATE, MIDI_HEALTH, and MIDI_CLOSEOUT.
2026-08-10 - Persistent Header Readability Closed
The persistent application header now has explicit compact and wide contracts. Primary navigation text scales responsively with a 15.5-point compact floor, the wide status area is 220 pixels, and the compact status area receives the remaining second-row width. Long status receipts are fitted rather than clipped and always retain their full value in tooltip and accessibility metadata. The live chord readout likewise carries the complete chord or note spelling and key-aware guidance.
Standalone-only window controls are removed from hosted plug-in layouts, recovering space and eliminating misleading actions. The original 38-pixel wide and 76-pixel compact header footprints remain intact, so this readability correction does not steal space from the musical work areas. Automated proof: PRIMARY_UI_VISUAL_STATE, SETTINGS_ROOT_LAYOUT, SETTINGS_DESTINATION_REACHABILITY, MIDI_HEALTH, and MIDI_CLOSEOUT. Human eyes should still inspect unusually long project names and dense altered-chord spellings at 1100 x 800 and mixed Windows scaling.
2026-08-10 - Project And Sequencer Context Clipping Closed
The project-name label and sequencer editing-context label now use explicit fitted one-line rendering with readable scale floors. Both retain their complete source strings in tooltip and accessibility metadata. The Piano Roll receipt consumes the unused remainder of the first toolbar row at the compact viewport and receives up to 320 pixels in the wide layout. Drum Composer also receives a responsive 158-to-320-pixel allocation. The compact toolbar remains 76 pixels high and keyboard focus skips the informational receipt.
The focused visual contract uses an intentionally long project name and a sequencer receipt containing clip identity, all four loop-bank ranges, and Step Input. It requires recoverable complete text and at least 280 pixels at 1800x1000 or 300 pixels at 1100x800. PRIMARY_UI_VISUAL_STATE reports chromeText=1 and editingContext=1.
2026-08-10 - Starfield Interaction Layering Closed
Effects and Library starfields are tested as non-interactive, full-page decorative backdrops. The Effects starfield is reasserted as the lowest child after every card outline is ordered, preventing animated stars from painting above hover, focus, card borders, or the EDIT cue. The established bright starfield aesthetic is retained. Automated proof: backdropLayering=1, EFFECTS_DETAIL_LAYOUT, and LIBRARY_LAYOUT. Human mixed-DPI review remains appropriate for perceived contrast and visual calm.
2026-08-10 - Instrument Choice, Patch Identity, And Meter Readout Closed
The Arrangement creation menu and lane reassignment menu previously disagreed about the available tonal engines. Both now consume one ten-engine authority. Add Lane visibly separates immediately playable engines from SoundFont and Quasar, which require a source after creation.
Classic Synth's patch receipt previously received roughly a sliver at the supported 1100x800 viewport after its fixed header controls consumed the row. Compact layout now places the receipt on a full-width second row; wide layout retains the original row. The complete patch and modified state are also preserved in tooltip and accessibility metadata. SYNTH_CONTROL_QUALITY requires at least 240 pixels for this receipt at both supported viewports.
Mixer strip meters previously narrowed their painted dB receipt to approximately 32 pixels at minimum width. The meter now receives approximately 60 pixels without moving neighboring controls. MIXER_LAYOUT measures the -100.0 dB glyph width plus padding and rejects intersection with M, S, or Output controls.
Human-eye follow-up remains appropriate at 100%, 125%, and 150% Windows scaling, especially for long Classic patch names and the visual balance of widened meters.
2026-08-10 - Pad CREATE Accessibility Identity
The four Pad banks now expose 64 distinct CREATE destinations to accessibility clients. Each visible control announces its absolute Pad number, optional custom Pad name, and current source; metadata refreshes through the same path that redraws bank/name/source changes. Explicit focus order follows the visible 4 by 4 card order. PRIMARY_UI_VISUAL_STATE rejects duplicate titles, stale bank identities, generic component IDs, missing source descriptions, and focus-order drift while preserving the existing 24 by 24 minimum target and containment checks.
Human-eye and assistive-technology follow-up remains appropriate with Narrator or NVDA at non-default Windows scaling.
2026-08-10 - Alert Presentation Contract
Clear Piano Roll, Clear Drum Composer, Clear All Pads, Rename Lane, and Change Instrument dialogs now inherit the SpaceAge look-and-feel explicitly. Alert titles use an 18-point bold face, messages use 14 points, and controls/buttons use a 13-point bold face against the shared dark panel, warm text, and subtle gray outline palette. PRIMARY_UI_VISUAL_STATE reports alertPresentation=1.
Human-eye follow-up remains appropriate for the longest clear-warning copy at 100%, 125%, and 150% Windows scaling. The software contract proves palette and typography ownership; it does not replace visual judgment of line wrapping.
2026-08-10 - About And Start Song Guide
The artwork-only About overlay previously exposed no visible workflow guidance and treated every click as a website action. It now reserves a clear footer row for START SONG GUIDE and WEBSITE. The guide uses a responsive two-column, three-row card layout with 28-point heading, 15-point card headings, and 13.5-point body copy. A compact-view regression requires at least 900 by 620 pixels for the guide content plus contained Back and Close controls.
Human review remains required at Windows display scaling above 100%, particularly for the longest Add Lane, Place a Clip, and Mix/Save/Render cards. The automated contract protects geometry and source font sizes but cannot judge perceived line density.
2026-08-10 - Secondary Dialog Ownership Completed
The alert presentation contract now covers discovered secondary workflows as well as the main destructive actions. MIDI import, timing calibration, device-template apply/undo, hardware note/bend tests, recall, Passport/SysEx removal, RPN/NRPN setup, Pad Vault operations, Pad Bank replacement, and beta-evidence dialogs all have an explicit SpaceAge component or look-and-feel owner.
Automated evidence remains alertPresentation=1, 28/28 Settings launches, and 306/306 named interactive controls. Human review should concentrate on the longest hardware reports and confirmation copy at mixed Windows scaling; ownership and typography are protected, while line-wrap comfort remains a perceptual judgment.
2026-08-10 - Pad Vault Large-Category Reachability Closed
Pad Vault no longer paints later saved sounds outside its fixed dialog. The existing four-column visual language now lives inside a vertical viewport with a natural 42-pixel row rhythm. Keyboard focus scrolls the focused choice into view. A 64-sound regression requires contiguous focus order, complete accessibility metadata, minimum 44 by 24 command targets, first/middle/final visibility, and exact final-choice activation. Automated proof: PRIMARY_UI_VISUAL_STATE reports selectionDialogs=1.
2026-08-10 - MIDI Setup Typography Compression Closed
The Hardware Setup Guide previously passed containment tests while still shrinking several important labels into a 7.3-to-9.3-point range. Its natural content height now expands inside the existing vertical scroll shell. Scenario cards have taller rows; action pills, status badges, instructions, template evidence, and safety receipts use explicit readable typography floors. MIDI Sync Preflight likewise raises its trust verdict, next action, last-observed receipt, empty state, and safety line without widening the panel.
The Settings presentation contract now rejects future reductions below the new guide and preflight typography floors. Automated proof: SETTINGS_ROOT_LAYOUT reports setupGuideTypography=1 and syncPreflightTypography=1; SETTINGS_DESTINATION_REACHABILITY, PRIMARY_UI_VISUAL_STATE, AUTOMATION_EDITOR_LAYOUT, MIDI_HEALTH, and complete MIDI_CLOSEOUT pass. Human mixed-DPI review remains required because painted long-form guidance can be perceptually crowded even when geometry is valid.
2026-08-10 - Library Starting Point Names
The corrected CHROMATIC MARIMBA and STACCATO BASS labels retain the existing responsive Starting Points grid and minimum button geometry at 1800x1000 and 1100x800. LIBRARY_LAYOUT now protects both their readable containment and their semantic identity. Human review should still inspect the longer marimba label at supported Windows scaling; the fix did not buy space by shrinking typography.