Skip to content

render cache 10#55

Open
jacob314 wants to merge 7 commits intomasterfrom
render_cache_10
Open

render cache 10#55
jacob314 wants to merge 7 commits intomasterfrom
render_cache_10

Conversation

@jacob314
Copy link
Owner

  • Checkpoint
  • Fix sticky header clipping by respecting margins
  • ts viewer
  • test: migrate replays to optimized serialization format
  • test: update sticky-bug snapshot with 12 items
  • Checkpoint
  • Checkpoint fixing things.

raw_rendering

Enhance ScrollRegion with full content and computed scrollbars

Include full lines, scrollTop, scrollLeft in ScrollRegion to allow render-worker to compute visible area and scrollbars. Remove explicit Scrollbar objects from Output and metadata.

Avoid duplicating scroll region content in main updates

Mask out scroll regions in TerminalBuffer.update to prevent sending their content in the main update payload. Render the content of scroll regions in the worker using renderOverlays.

Checkpoint

Process

Support sticky bottom

Checkpoint

Checkpoint working

Checkpoint

Sticky footers and headers work with fast render.

Stable scrollback

Fixes for stable scrollback.

Support additional options.

Fix clipping

Checkpoint

Checkpoint

Checkpoint

Checkpoint. Everything appears to work.

Checkpoint

Checkpoint

Support snapshots

Fix(test): Update scroll snapshots to remove duplicate output

Move examples/viewer to tools/viewer and refactor to use yargs for argument parsing

Enable strict argument validation in viewer tool

fix(scroll-optimizer): require columns parameter and remove redundant tests

- Passed `this.columns` to `calculateScrollOperations` to ensure the region width can be validated for full screen hardware scrolling optimization.
- Removed redundant integration tests (`repro-sticky-footer.test.tsx` and `sticky-integration-xterm.test.tsx`) as these scenarios are now sufficiently covered by `test/replay/render-worker-replay.test.ts`.

Checkpoint fixing tests.
I have removed the obsolete test replays and retained the two important ones, renamed for clarity:
- `test/replay/sticky-bug.json`
- `test/replay/sticky-scroll-demo.json`

These snapshots have been successfully decoded, migrated to the new Span Grouping (RLE) buffer format, and verified against the replay tests.
Regenerated the snapshot file with --items 12 to include more UI elements for testing.
The optimized serialization keeps the file remarkably small (114KB) even with the
significantly increased amount of text content and scroll height.
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