feat(layers): add layer management panel

This commit is contained in:
syntaxbullet
2026-07-03 17:26:50 +02:00
parent ba3f253ee5
commit fedeaffa57
27 changed files with 1525 additions and 156 deletions

View File

@@ -12,6 +12,7 @@ const imageLayerInsetColor: RgbaColor = [0.48, 0.54, 0.64, 1];
export function renderLayers(context: WebGlRendererContext, document: ImageDocument, viewport: ViewportState, imageTextureRenderer: ImageTextureRenderer) {
for (const artboard of document.artboards) {
if (!artboard.visible) continue;
const clipRect = documentRectToScreenRect(context.canvas, artboard.bounds, viewport);
for (const layer of artboard.layers) renderLayer(context, document, viewport, layer, imageTextureRenderer, clipRect);
}

View File

@@ -56,7 +56,7 @@ export function createRenderer(canvas: HTMLCanvasElement, backend: RendererBacke
context.enable(context.SCISSOR_TEST);
for (const artboard of frame.document.artboards) {
renderArtboard(rendererContext, artboard, frame.editor.viewport);
if (artboard.visible) renderArtboard(rendererContext, artboard, frame.editor.viewport);
}
imageTextureRenderer.syncAssets(frame.document.assets);
renderLayers(rendererContext, frame.document, frame.editor.viewport, imageTextureRenderer);