Skip to content

id(ssh): incremental (diff) ANSI renderer instead of full clear-repaint #562

Closed

Description

@dezren39

What and why

Render only changed cells/rows to the terminal. This is the terminal-side counterpart of F12.11 delta frames and the biggest win on xterm-class terminals. This is the terminal-side counterpart of F12.11 delta frames and the biggest win on xterm-class terminals.

Source

  • RPT §14 Tier 2
  • RPT §3 'no incremental diffing'

RPT = doc/2026-10-18T18-40-00Z_report_platform_world_state/2026-10-18T18-40-00Z_report_platform_world_state.md, REF = doc/2026-10-18T00-00-00Z_reference_platform_state/2026-10-18T00-00-00Z_reference_platform_state.md. Both are uncommitted reports in the platform-world-apps-migration worktree.

Current status

Not started. pkgs/id/src/world_presentation.rs:370 starts every render with \x1b[H\x1b[2J; no diff state is kept per session.

Acceptance criteria

  • Each session keeps the previous frame and sends only changed cells or rows
  • Resize and attach still send a full repaint
  • A parity test shows applying the diffs reproduces the full render
  • Byte savings are measured against the F11.9 baseline

Size

M

Prerequisites

Activity

  1. dezren39 commented on Oct 24, 2026

    @dezren39
    MemberAuthor

    id train triage (2026-10-24): too-big-needs-design — incremental (diff) ANSI renderer (D1-044), terminal-side counterpart of F12.11.

  2. added
    kind/performancePerformance problem or optimization
    source/humanFiled directly by a human
    priority/normalOrdinary priority (the default)
    effort/mMedium: expected under 1 day of work
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 26, 2026
  3. dezren39 commented on Oct 26, 2026

    @dezren39
    MemberAuthor

    Intake review

    Fleet-monitor intake pass (2026-10-26). Body already carries a full ## Acceptance criteria section, so this pass is label normalization plus a liveness check — no body edit.

    Verified live on main e3467560 (2026-10-26): pkgs/id/src/world_presentation.rs:370 still starts every render with \x1b[H\x1b[2J (full clear-repaint), and the test fixture at line 524 confirms the same shape. No per-session diff state exists. Still live, exactly as filed.

    Related: prerequisite #545 (alternate screen for the raw SSH session) is still open and unenriched. Byte-savings measurement depends on the F11.9 baseline, #542. Server-side counterpart: #561 (redraw batching) — the two compose; neither blocks the other.

    Risks / notes: diff-renderer bugs corrupt terminals subtly (stale cells on resize/attach are the classic failure); the parity test in the acceptance criteria is the load-bearing one and should land with the renderer, not after.

    Suggested approach: keep the previous frame per session in the presentation layer, emit row/cell diffs, force full repaint on resize and attach, and gate the rollout on the parity test plus a byte-savings measurement against the #542 baseline.

  4. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Nov 1, 2026
  5. 2 remaining items

  6. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    event: done
    task: 2157 (openchamber scheduled lane)
    outcome: Triage complete; follow-up fix task 4837 queued. Issue remains open. Sandbox bookkeeping deferred to fleet reconciliation.

  7. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    event: picked_up
    task: 4837 (repo-health-code-pilot, repo-worker-code)
    state: Claimed small_fix; issue #562 is open and the targeted PR search found no active competing implementation. Revalidating scope and preparing a dedicated laptop worktree.

  8. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    event: handed_off
    task: 4837 (repo-health-code-pilot, repo-worker-code)
    state: Implementation pushed as PR #3773; per-session raw SSH screen diffs, resize/non-view invalidation, and commit-after-write cache semantics are included. Local targeted renderer tests are running; SSH channel regression test and CI are pending.

  9. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    event: done
    task: 4837 (repo-health-code-pilot, repo-worker-code)
    outcome: PR #3773 opened with per-session incremental ANSI rendering; renderer parity/byte-savings suite passed 15 tests and the raw SSH steady-state integration test passed. Issue remains open pending PR review/merge. Sandbox backlog and sweep-log bookkeeping deferred to fleet reconciliation.

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

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)effort/mMedium: expected under 1 day of workenhancementNew feature or requestkind/performancePerformance problem or optimizationmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)source/humanFiled directly by a humanstatus:done

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions