Files
TrueGrowth/openspec/changes/add-image-3d-rotation-control/design.md

1.5 KiB
Raw Blame History

Context

图片元素现有模型以 points 和二维 angle 为主命中、缩放、导出都依赖该矩形几何。3D 旋转应作为浏览器画布内的视觉变换保存,避免扩大到导出和命中模型。

Decisions

  • 数据保存在图片元素可选字段 transform3d,包含 rotateXrotateYperspective
  • popup-toolbar 面板负责编辑 rotateXrotateYperspective,中间预览不写历史,确认时提交一次历史。
  • rotateXrotateY 都为 0 时移除 transform3d,旧数据保持无感兼容。
  • 首版只支持普通图片;视频、音频封面和 PPT 占位图片不显示 3D 控件。
  • 逻辑角度允许穿过 90deg 到另一侧;渲染时将背面角度折回 -90..90 区间,避免 SVG foreignObject 对 CSS 3D 背面渲染裁剪。
  • 选中带二维旋转或 3D 变换的普通图片作为 AI 参考图时,图片仍传原图;二维/三维旋转参数作为文本上下文进入提示词,避免参考图像素被透视烘焙后影响生成质量。
  • 若带旋转参数的普通图片与图形重叠AI 选区处理仍将该图片保留为原图引用,并从图形合成集中剔除,避免同一图片既作为原图又作为变形像素进入模型。

Non-Goals

  • 不修改 Plait 包源码。
  • 不实现 PPT/图片导出的透视渲染。
  • 不将 3D 视觉变换烘焙到 AI 参考图像素。
  • 不实现拖拽式画布 3D handle精确调节先收口在 popup-toolbar 面板。