fix(renderer): derive backing size from viewport state

This commit is contained in:
syntaxbullet
2026-07-03 09:41:12 +02:00
parent dd1b892034
commit 90897e3993
2 changed files with 7 additions and 10 deletions

View File

@@ -8,7 +8,6 @@ export type RenderFrame = {
export type ImageRenderer = {
render(frame: RenderFrame): void;
resize(width: number, height: number): void;
dispose(): void;
};
@@ -25,16 +24,16 @@ export function createRenderer(canvas: HTMLCanvasElement, backend: RendererBacke
}
return {
render() {
context.viewport(0, 0, canvas.width, canvas.height);
render(frame) {
const { w, h } = frame.editor.viewport.size;
if (canvas.width !== w) canvas.width = w;
if (canvas.height !== h) canvas.height = h;
context.viewport(0, 0, w, h);
context.clearColor(0, 0, 0, 0);
context.clear(context.COLOR_BUFFER_BIT);
},
resize(width, height) {
canvas.width = width;
canvas.height = height;
context.viewport(0, 0, width, height);
},
dispose() {},
};
}