From 8d2700ded23099f985ed5089e0cb4dbaaf18c720 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 24 Oct 2026 02:59:39 +0000 Subject: [PATCH 1/5] =?UTF-8?q?=EC=8B=9C=EC=9E=91=20=E2=80=94=20pf=2076?= =?UTF-8?q?=EB=B0=94=ED=80=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Bhpuo7Z37H7CHDvAMqopiS From 5d56f8eef68f2016e7905704859f0eb7bb32ea73 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 24 Oct 2026 03:07:15 +0000 Subject: [PATCH 2/5] =?UTF-8?q?web:=20Pattern=20Lab=20=EC=BD=94=EB=93=9C?= =?UTF-8?q?=EC=9D=98=20@matrix=20=EC=A4=84=EC=9D=B4=20=ED=8E=B8=EC=A7=91?= =?UTF-8?q?=EA=B8=B0=EB=A5=BC=20=EB=96=A0=EB=82=A0=20=EB=95=8C=20=ED=95=9C?= =?UTF-8?q?=20=EB=B2=88=EB=A7=8C=20=ED=8C=90=EC=9D=84=20=EB=B0=94=EA=BE=BC?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Bhpuo7Z37H7CHDvAMqopiS --- .../pattern-lab/panels/CodePanel.module.css | 13 ++ .../app/pattern-lab/panels/CodePanel.test.tsx | 74 ++++++++- web/src/app/pattern-lab/panels/CodePanel.tsx | 46 +++++- web/src/lib/lab/pixelHistory.ts | 1 + web/src/lib/lab/store.ts | 9 +- web/src/lib/lab/store/layers.test.ts | 142 ++++++++++++++++++ web/src/lib/lab/store/layers.ts | 45 ++++-- web/src/lib/lab/store/shared.ts | 8 +- 8 files changed, 320 insertions(+), 18 deletions(-) create mode 100644 web/src/lib/lab/store/layers.test.ts diff --git a/web/src/app/pattern-lab/panels/CodePanel.module.css b/web/src/app/pattern-lab/panels/CodePanel.module.css index ec8deb95d..bf68f3190 100644 --- a/web/src/app/pattern-lab/panels/CodePanel.module.css +++ b/web/src/app/pattern-lab/panels/CodePanel.module.css @@ -27,3 +27,16 @@ button.promptButton { align-items: center; gap: 6px; } + +/* Under the bar while a typed @matrix line waits for the editor to lose + focus, or when the Lab cannot read it. */ +.matrixNote { + flex: 0 0 auto; + padding: 6px 8px; + border-bottom: 1px solid rgba(23, 21, 18, 0.12); + color: #756f64; + font-family: var(--font-inter), system-ui, sans-serif; + font-size: 12px; + line-height: 1.5; + text-wrap: pretty; +} diff --git a/web/src/app/pattern-lab/panels/CodePanel.test.tsx b/web/src/app/pattern-lab/panels/CodePanel.test.tsx index 30931f673..f31a0d203 100644 --- a/web/src/app/pattern-lab/panels/CodePanel.test.tsx +++ b/web/src/app/pattern-lab/panels/CodePanel.test.tsx @@ -8,7 +8,37 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import CodePanel from "./CodePanel"; import { useLabStore } from "@/lib/lab/store"; -vi.mock("@monaco-editor/react", () => ({ default: () =>