Skip to content

Appearance slices: integration, performance and QA (Slice 7) - #522

Draft
raiseCatError wants to merge 12 commits into
feature/shader-studio-previews-20261028from
feature/appearance-integration-20261029
Draft

raiseCatError wants to merge 12 commits into
feature/shader-studio-previews-20261028from
feature/appearance-integration-20261029

Conversation

@raiseCatError

Copy link
Copy Markdown
Owner

Slice 7: the integration of the native appearance work. It is based on #520 (Slice 5) and merges #521 (Slice 6, which includes #518). Draft; retarget only after review.

What

Verification

  • Typecheck clean.
  • Related tests for every slice, run through the repository runner's private-HOME isolation (58 files): 533 tests, 531 pass, 0 fail, 2 skipped. This includes:
    • Ghostty 1.3.1 and a staged 1.4.0: uniform parity, +validate-config, proxy compile;
    • installed Kitty 0.49.2: parser and compile checks;
    • live startup/session tests.
  • Performance:
    • Studio preview: 0.19 ms per render, and nothing once it settles.
    • Welcome startup frame: 0.14–0.19 ms, under 30 ms of CPU for a whole 5 s animation.
    • File reads for routing and cursor facts: ≤0.3 ms, on open only.
  • The full suite is left to CI.

Not verified

  • Physical Ghostty/Kitty/Zed QA (checklist included).
  • GPU output: only headless parsing and proxy compiles were run.
  • Whole-app idle RSS/CPU on real hosts.

Merge order (for the maintainer)

#515 → #516 → #517 → #519 → #520 / #521 → this PR. #518 merges into dev independently.

…nest loading state

A missing or unreadable configuration keeps the historical startup card; only
a Studio save selects the native layout. While a startup image loads the card
says so, and no still is stored until it settles. Startup animation repaints
are capped at about 30 a second, and an archived card that was never painted
keeps its layout without the asset path. Documents Slice 6.
…lice 5)

# Conflicts:
#	docs/development/native-appearance-welcome/DECISIONS.md
#	docs/development/native-appearance-welcome/TEST_RESULTS.md
#	docs/development/native-appearance-welcome/progress.md
…cklist

Records the combined related-test results across the shader, routing, studio
and Welcome Studio work, micro-measurements of their frame and file costs,
the remaining scope, and a physical QA checklist for Ghostty, Kitty and the
Welcome Studio.
…ths on every platform

webpDecoderAvailable() is async, so 'if (webpDecoderAvailable())' tested a
Promise and always expected a successful decode. Ubuntu runners have no
WebP converter, so the Welcome admission test failed there.

A test-only seam (setWebpConvertersForTests) now forces the converter
list, so the no-converter refusal, a working converter, and a failing or
silent converter are each exercised on every platform. The no-converter
advice on Linux also names ffmpeg, which is a supported converter.

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant