From 9559005bbce80f7f7f10c20e9e9983e33c4e9198 Mon Sep 17 00:00:00 2001 From: Anthony Kim Date: Thu, 9 Jul 2026 11:39:38 -0700 Subject: [PATCH] wroding --- addons/addon-webgl/src/GlyphRenderer.ts | 4 ++++ addons/addon-webgl/src/Types.ts | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/addons/addon-webgl/src/GlyphRenderer.ts b/addons/addon-webgl/src/GlyphRenderer.ts index dcba0b4b8..720427723 100644 --- a/addons/addon-webgl/src/GlyphRenderer.ts +++ b/addons/addon-webgl/src/GlyphRenderer.ts @@ -214,6 +214,10 @@ export class GlyphRenderer extends Disposable { this.handleResize(); } + /** + * Call when a frame is being drawn. Returns whether the full model must be rebuilt before + * rendering this frame because the atlas page layout changed since this renderer last drew. + */ public beginFrame(): boolean { if (!this._atlas) { return true; diff --git a/addons/addon-webgl/src/Types.ts b/addons/addon-webgl/src/Types.ts index 0a46a0071..bfd6fd76c 100644 --- a/addons/addon-webgl/src/Types.ts +++ b/addons/addon-webgl/src/Types.ts @@ -68,9 +68,10 @@ export interface ITextureAtlas extends IDisposable { warmUp(): void; /** - * Incremented whenever atlas page indexes or coordinates cached by renderers may be stale. - * Each renderer tracks its own last-seen value so shared atlas layout changes are observed - * independently by every terminal. + * Incremented whenever cached glyph texture page mappings may be stale, such as after atlas page + * merges or overflow page creation. Renderers compare this against their own last-seen value and + * rebuild their model when it changes; a shared atlas can have many renderers, so this must not + * be a consume-once flag. */ readonly pageLayoutVersion: number;