fix(tui): fixed inline image transmit replay for full paint
- Adjusted image budget IDs to use a shared 24-bit seed and wrap safely so new budgets no longer collide. - Added transmit-state reset and changed image output ordering so full paints can replay image data after terminal clears. - Updated image and protocol tests to match the new wrapped-id behavior and cursor-save/restore-wrapped transmit sequences.
This commit is contained in:
@@ -55,8 +55,13 @@ it("uses independent graphics ids for repeated probe panels", () => {
|
||||
const secondBytes = second.render(80).join("\n");
|
||||
budget.endPass();
|
||||
|
||||
expect(firstBytes).toContain("i=1");
|
||||
expect(secondBytes).toContain("i=2");
|
||||
const firstMatch = firstBytes.match(/i=(\d+)/);
|
||||
const secondMatch = secondBytes.match(/i=(\d+)/);
|
||||
expect(firstMatch).not.toBeNull();
|
||||
expect(secondMatch).not.toBeNull();
|
||||
const firstId = Number(firstMatch![1]);
|
||||
const secondId = Number(secondMatch![1]);
|
||||
expect(secondId).toBe((firstId + 1) & 0xffffff || 1);
|
||||
});
|
||||
|
||||
describe("buildLargeTextLines", () => {
|
||||
|
||||
Reference in New Issue
Block a user