From 7288c6f641696c1c1867f684ed57d5c0e20fd0a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Wed, 9 Sep 2026 16:32:43 +0800 Subject: [PATCH] =?UTF-8?q?Fix/=E4=BF=AE=E5=A4=8D=E6=97=A0=E9=99=90?= =?UTF-8?q?=E7=94=BB=E5=B8=83=E5=9B=BE=E6=A0=87=E6=96=87=E5=AD=97=E6=A8=A1?= =?UTF-8?q?=E7=B3=8A=20(#285)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes #279 closes #284 实现: 从2(暂定)倍放大绘制的画布scale 0.5* 真正的scale before: ![shotmd-1788579338.jpg](/attachments/9d44ec5e-454c-449b-86bc-b2131fbbc8cc) ![shotmd-1788578910.jpg](/attachments/c9da61a2-b467-43eb-a5de-e5e4d5cb8f70) after: ![shotmd-1788580930.jpg](/attachments/f1f06e8e-90bf-45e2-a30b-a63ccc308c19) ![shotmd-1788583400.jpg](/attachments/c48ca741-e470-42b3-8030-064e0579f63a) svg看起来stroke窄了一点点, 可以接受 Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/285 --- apps/ai-game-creator-shell/src/styles.css | 10 ++++- .../src/view/project-development/index.tsx | 12 ++---- .../appSurface/project-development.suite.ts | 3 ++ .../tests/assetCanvasSurface.test.tsx | 33 ++++++++++++---- .../tests/previewWorkspaceZoom.test.tsx | 38 +++++++++++-------- .../shared-memory/decision-log.md | 7 ++++ docs/project-memory/shared-memory/pitfalls.md | 8 ++++ ...案】AI游戏创作智能体App实施计划-2026-06-24.md | 1 + ...【交互设计】预览画布缩放滑杆-2026-09-05.md | 1 + .../image-canvas-react/src/CanvasWorld.tsx | 37 ++++++++++++++---- .../src/canvasWorldRendering.ts | 16 ++++++++ packages/image-canvas-react/src/index.ts | 4 ++ .../src/sharedCanvasReact.test.tsx | 27 ++++++++++++- .../src/useImageCanvasStageInteractions.ts | 5 ++- .../ImageCanvasEditorView.test.tsx | 13 +++++-- .../ImageCanvasWorldView.test.tsx | 9 +++-- .../useImageCanvasStageInteractions.test.tsx | 35 +++++++++++++---- 17 files changed, 201 insertions(+), 58 deletions(-) create mode 100644 packages/image-canvas-react/src/canvasWorldRendering.ts diff --git a/apps/ai-game-creator-shell/src/styles.css b/apps/ai-game-creator-shell/src/styles.css index 201a310a2..09729a15b 100644 --- a/apps/ai-game-creator-shell/src/styles.css +++ b/apps/ai-game-creator-shell/src/styles.css @@ -5869,7 +5869,7 @@ iframe.preview-frame { height: var(--resource-card-height); min-height: var(--resource-card-height); padding: 0; - overflow: hidden; + overflow: visible; border: 1px solid #eadbd4; border-radius: 12px; background: #fff; @@ -5912,6 +5912,7 @@ iframe.preview-frame { inset: 0; display: grid; overflow: hidden; + border-radius: inherit; background: linear-gradient(145deg, #fffaf6, #f6ece6); color: #c46a40; place-items: center; @@ -5973,6 +5974,13 @@ iframe.preview-frame { text-overflow: ellipsis; white-space: nowrap; box-shadow: 0 8px 18px rgb(96 62 47 / 20%); + transform: scale(var(--genarrative-image-canvas-inverse-scale, 1)); + transform-origin: top right; +} + +.game-resource-card-media-control { + transform: scale(var(--genarrative-image-canvas-inverse-scale, 1)); + transform-origin: bottom right; } .game-resource-card-open { diff --git a/apps/ai-game-creator-shell/src/view/project-development/index.tsx b/apps/ai-game-creator-shell/src/view/project-development/index.tsx index f539fc02f..6735ec1b4 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/index.tsx +++ b/apps/ai-game-creator-shell/src/view/project-development/index.tsx @@ -3,6 +3,7 @@ import { type CanvasViewport, resolveViewportFromWheel, } from '@genarrative/image-canvas-core'; +import { CanvasWorld } from '@genarrative/image-canvas-react'; import { Code2, FileText, @@ -4906,17 +4907,12 @@ export default function ProjectDevelopmentView({ >