Files

18 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Context
图片元素现有模型以 `points` 和二维 `angle` 为主命中、缩放、导出都依赖该矩形几何。3D 旋转应作为浏览器画布内的视觉变换保存,避免扩大到导出和命中模型。
## Decisions
- 数据保存在图片元素可选字段 `transform3d`,包含 `rotateX``rotateY``perspective`
- popup-toolbar 面板负责编辑 `rotateX``rotateY``perspective`,中间预览不写历史,确认时提交一次历史。
-`rotateX``rotateY` 都为 0 时移除 `transform3d`,旧数据保持无感兼容。
- 首版只支持普通图片;视频、音频封面和 PPT 占位图片不显示 3D 控件。
- 逻辑角度允许穿过 `90deg` 到另一侧;渲染时将背面角度折回 `-90..90` 区间,避免 SVG `foreignObject` 对 CSS 3D 背面渲染裁剪。
- 选中带二维旋转或 3D 变换的普通图片作为 AI 参考图时,图片仍传原图;二维/三维旋转参数作为文本上下文进入提示词,避免参考图像素被透视烘焙后影响生成质量。
- 若带旋转参数的普通图片与图形重叠AI 选区处理仍将该图片保留为原图引用,并从图形合成集中剔除,避免同一图片既作为原图又作为变形像素进入模型。
## Non-Goals
- 不修改 Plait 包源码。
- 不实现 PPT/图片导出的透视渲染。
- 不将 3D 视觉变换烘焙到 AI 参考图像素。
- 不实现拖拽式画布 3D handle精确调节先收口在 popup-toolbar 面板。