Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
T
Tidal
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • PLN
  • Tidal
  • Repository

Switch branch/tag
  • Tidal
  • docs
  • 2026-09-22-midiviz-state-wire.md
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    midiviz: the whole surface has a resting position, and the rain says what to type · 64c29a05
    Two things PLN asked for, and one correction to how step 3 was planned.
    
    State covers all 48 cells now, not just the three family filters -- but only
    where the event layer cannot speak: a cell whose last event value equals the
    surface value is skipped entirely, track included. That keeps one fact to one
    picture, and what is left is exactly the gap an edge-triggered stream leaves
    behind -- a control untouched since launch, and a control the surface moved
    while this window was not listening. The family filters stay exempt, since a
    left-anchored bar lies about a centre detent whoever draws it.
    
    E needed nothing: the driver already owns the latch, because v3 DAW buttons are
    momentary, so it publishes 127 until the next press. This just draws it, which
    is why it cannot drift out of step with the board.
    
    The dirty-cell repaint the design doc was waiting on was the wrong screw. The
    widget repaints whole frames and its budget is made of drawText calls, not
    fillRects; the layer needed a rule about when NOT to draw, not a cheaper way to
    draw.
    
    And the gutter rains corpus tokens now -- ^42, the exact string a .tidal file
    types -- for controls the grid owns, where before only un-gridded CCs rained at
    all. Rate-gated per control, because the relative rows send a message per
    encoder click and an ungated sweep fills all 32 heads with one repeated word.
    The lanes are computed from the text width, so a three-glyph token in a
    five-glyph gutter cannot be drawn off the edge.
    PLN (Algolia) authored Sep 22, 2026
    64c29a05
2026-09-22-midiviz-state-wire.md 8.75 KB
EditWeb IDE
×

Replace 2026-09-22-midiviz-state-wire.md

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.