## 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 面板。