Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f24949f732 | |||
| a3dfd37576 | |||
| fb8720e3af |
@@ -5904,14 +5904,17 @@ iframe.preview-frame {
|
||||
transform-origin: top right;
|
||||
}
|
||||
|
||||
.game-resource-card-media-control,
|
||||
.game-resource-card-placeholder > svg,
|
||||
.game-resource-card-version-visual > svg,
|
||||
.game-resource-card-audio-visual > svg {
|
||||
.game-resource-card-media-control {
|
||||
transform: scale(var(--genarrative-image-canvas-inverse-scale, 1));
|
||||
transform-origin: center;
|
||||
}
|
||||
|
||||
.game-resource-card-placeholder > svg *,
|
||||
.game-resource-card-version-visual > svg *,
|
||||
.game-resource-card-audio-visual > svg * {
|
||||
stroke-width: calc(2px * var(--genarrative-image-canvas-inverse-scale, 1));
|
||||
}
|
||||
|
||||
.game-resource-card-open {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
|
||||
@@ -7952,7 +7952,7 @@ CI 上 `background_agent_runtime_recovers_stale_running_before_pending_task` 在
|
||||
## 2026-09-05 共享 CanvasWorld 统一超采样与资源页迁移
|
||||
|
||||
- 背景:资源总览页曾在业务层重复实现 world 的 transform、动态矩形尺寸和 2× `zoom`,与网站 / Tauri 共用的 `@genarrative/image-canvas-react` 形成第二套缩放逻辑;超采样还会让 SVG 卡片图标的线条产生视觉加粗。
|
||||
- 决策:`CanvasWorld` 默认统一采用 2× 超采样,内容按 `zoom: 2` 排版,外层使用 `viewport.scale / 2`,最终视觉比例仍由 `viewport.scale` 定义。所有调用方继续使用共享默认正方形 `CANVAS_WORLD_SIZE = 12000`,不引入 `worldWidth/worldHeight` 等矩形 API。资源页 `navigationBounds` 只保留布局、fit、依赖线 geometry 和 data 属性用途,不再驱动 world DOM 尺寸。共享样式对 world 内 SVG 几何元素设置 `vector-effect: non-scaling-stroke`;位图维持浏览器默认插值,不全局启用 `pixelated`。
|
||||
- 决策:`CanvasWorld` 默认统一采用 2× 超采样,内容按 `zoom: 2` 排版,外层使用 `viewport.scale / 2`,最终视觉比例仍由 `viewport.scale` 定义。所有调用方继续使用共享默认正方形 `CANVAS_WORLD_SIZE = 12000`,不引入 `worldWidth/worldHeight` 等矩形 API。资源页 `navigationBounds` 只保留布局、fit、依赖线 geometry 和 data 属性用途,不再驱动 world DOM 尺寸。非缩放描边只应用于资源依赖关系线等几何 overlay,静态卡片图标不继承统一 SVG 描边规则;位图维持浏览器默认插值,不全局启用 `pixelated`。
|
||||
- 影响范围:资源总览迁移为直接渲染共享 `CanvasWorld`,卡片控件通过共享 inverse-scale CSS 变量保持屏幕级尺寸;Asset Canvas、UI Editor 和依赖线继续消费相同 viewport 坐标与事件换算,不改变业务状态或持久化合同。
|
||||
- 验证方式:共享包与 AGC 定向类型 / 测试、资源页集成测试、`npm run check:encoding` 和 `git diff --check`;重点检查 `scale=1/2` 的最终 transform、SVG 描边、拖拽坐标、关系线端点和默认 `12000 × 12000` world。
|
||||
|
||||
|
||||
@@ -549,7 +549,7 @@ game-project/
|
||||
- 中间主视窗提供 `资源管理 / 运行` 切换。`code-prototype` 任务完成前运行入口保持视觉不可用,但仍可点击查看“当前无可运行版本”,不能使用会阻断说明交互的原生 `disabled` 或 `aria-disabled`;完成后才允许进入运行表现层。切回资源管理只修改前端展示态,不伪造后端预览暂停结果。
|
||||
- 资源管理从当前 `GameCreationAppManifest`(包含可选 `versions`)、合法 Agent 文本回执和已导入附件派生资源,固定按文档、项目版本、美术资源、音乐音效资源分区;未知任务产物不再兜底为版本,任务声明中的未登记音频也不冒充正式音频。`按依赖 / 按类型` 使用各自前端排列,dependency 模式额外绘制当前 manifest 与资源投影可证明的依赖关系。排列与图层都不写回 manifest,不能推断或伪造缺失依赖。
|
||||
- 资源卡支持点击聚焦、搜索和类型筛选。2026-07-28 起完成两套二维坐标与本地 CAS sidecar;2026-07-31 起 dependency 模式增加不持久化的原生 SVG 关系图层。2026-08-03 mentor 决定暂缓资源卡拖动,当前卡片不挂载 Pointer Down / Move / Up / Cancel 拖动入口,只允许自动布局和点击聚焦。聚焦态替换中央主视窗内容,保留左侧导航、右侧对话和底部 Agent 状态栏,退出后恢复搜索、布局模式、滚动位置与选中资源;不提供工具栏、工具侧边栏或可拖动标题栏。2026-08-10 起聚焦态以资源元数据、Rust 权威深度、同类型上下游 / 任务流和版本信息为首屏;美术图片与视频只保留卡内本体,不在详情重复放大。安全文档正文与按意图读取的音频控制位于元数据之后;美术编辑、音频编辑 / 替换、版本替换或运行模块仍不在本阶段。
|
||||
- 2026-09-05 起所有 `@genarrative/image-canvas-react` 的 `CanvasWorld` 默认使用统一 2× 超采样:内容层按 `zoom: 2` 排版,外层 transform 使用 `viewport.scale / 2`,因此 `viewport.scale` 仍表示最终视觉比例(`1` 为原始大小,`2` 为放大两倍)。world 继续使用共享默认正方形 `CANVAS_WORLD_SIZE = 12000`,不新增矩形尺寸 API;资源页的 `navigationBounds` 只用于布局、fit、关系线 geometry 和数据属性,不能再设置 world DOM 宽高。共享 world 为 SVG 几何元素启用 `vector-effect: non-scaling-stroke`,避免超采样或缩放使卡片图标和关系线描边变粗;普通位图不强制 `pixelated` 插值。依赖线、卡片拖拽、平移和滚轮锚点继续使用同一逻辑 viewport 坐标。
|
||||
- 2026-09-05 起所有 `@genarrative/image-canvas-react` 的 `CanvasWorld` 默认使用统一 2× 超采样:内容层按 `zoom: 2` 排版,外层 transform 使用 `viewport.scale / 2`,因此 `viewport.scale` 仍表示最终视觉比例(`1` 为原始大小,`2` 为放大两倍)。world 继续使用共享默认正方形 `CANVAS_WORLD_SIZE = 12000`,不新增矩形尺寸 API;资源页的 `navigationBounds` 只用于布局、fit、关系线 geometry 和数据属性,不能再设置 world DOM 宽高。非缩放描边只应用于资源依赖关系线等几何 overlay,Lucide 等静态卡片图标保持自身正常缩放,避免被统一 SVG 规则压窄;普通位图不强制 `pixelated` 插值。依赖线、卡片拖拽、平移和滚轮锚点继续使用同一逻辑 viewport 坐标。
|
||||
|
||||
#### 资源管理串行改造:本体卡、分区缩放与依赖聚类
|
||||
|
||||
|
||||
@@ -29,16 +29,6 @@
|
||||
transform-origin: 0 0;
|
||||
}
|
||||
|
||||
.genarrative-image-canvas__world svg path,
|
||||
.genarrative-image-canvas__world svg line,
|
||||
.genarrative-image-canvas__world svg polyline,
|
||||
.genarrative-image-canvas__world svg polygon,
|
||||
.genarrative-image-canvas__world svg circle,
|
||||
.genarrative-image-canvas__world svg rect,
|
||||
.genarrative-image-canvas__world svg ellipse {
|
||||
vector-effect: non-scaling-stroke;
|
||||
}
|
||||
|
||||
.genarrative-image-canvas__layer {
|
||||
position: absolute;
|
||||
display: block;
|
||||
|
||||
Reference in New Issue
Block a user