阳台种植布局与养护计划｜制作与修订记录
========================
原始愿望见制作提示词.txt；实施前读取想象显影机 v3.2，先写成可独立执行的制作提示词，再开始实现。任务形态（实用种植规划、二维与三维、日历输出）已由父级制作约定给定，因此不声称媒介选择是一次盲测结果。

创作判断
“先摆下一块地，再安排一季照料”。选择浅绿植物图册与陶土色木箱，主工作台让箱体占主要面积；平面负责放置与尺寸，三维负责分辨箱高、内土面和不同植物轮廓。原先考虑纯种植日历或只有景观效果的立体盆栽，前者缺空间，后者无法支持真实输入到成果，故保留互相支持的两个主视图。

实际首轮与修订
1. review/first.png 是第一次真实同源三维渲染。首轮相机上方留白过大，主体偏低，箱内单行叶菜显得过疏。没有只改背景色，而是降低默认观察目标、适度收紧视角；叶菜箱深从 56 cm 调到 60 cm，让既定 28 cm 株距在真实净内深里成立两行。箱体尺寸、净土量、株位和导出随同修改。
2. 实际查看 default.png：箱体、土面、植物形态与通行留空均可辨。植物分别由弯曲莲座叶、对生叶、枝蔓/果实/支架和花盘几何构成，没有把全部植物画成同一球团。
3. review/edited.png 是扩大阳台、调整株距与土深、移动并转向花箱后的真实状态。查看对应 result.png（直接解码实际 edited-plan.svg）验证列行、转向与标注交出相同结果；没有另画营销图。
4. 导出边界审查发现最多 24 箱时固定 SVG 图例区不够，已按实际箱数增高图面。SVG 明确宽高以保证 PNG 输出得到正确的画幅比例。

完成范围
可改阳台尺寸与标题；箱体增、删、复制、转向、二维拖动、坐标/方向替代；箱长宽高、填土深、植物名称/类别/株距；真实冲突与派生计数；养护增删编辑及重复日期；完整 JSON 保存回读、CSV、ICS、SVG、PNG；整份编辑撤销/重做、暂存失败替代、文件过期读取保护。删除箱体会把引用它的任务改为整个阳台，并明确提示与提供撤销。

独立机制检查
- 第一箱内尺寸 151 × 56 cm，28 cm 株距独立手算 5 × 2 = 10 株；151 × 56 × 30 / 1000 = 253.68 L。
- 调整后完整方案 JSON 回读与派生结果相同；转向不改变计数、净体积。
- 非法填土、任务指向不存在箱体、不存在日期会拒绝，既有方案保持不变。
- 放不下一株、箱体重叠、越界均有文字结果。
- 实际 ICS 是全日 DTSTART/DTEND，并检查 UTF-8 每条物理行不超过 75 字节；12 月 29 日每 3 天共 5 次的独立日期为 12/29、1/1、1/4、1/7、1/10。

资源与证据范围
三维使用共同 Atelier3D 1.0.1 绘制基础，场景与植物几何为本作品实现；这部分工程资源的贡献不归给元提示词。实际出图执行 HTML 内的相同模型与 shader；SVG 输出经 @napi-rs/canvas 解码查看，中文原生 QA 使用官方 Noto Sans CJK SC。网页与 SVG 使用设备系统字体，因此实际字形可能随设备变化。没有浏览器条件，未声称 DOM/CSS、真实拖动事件、冷启 file:// 或移动设备性能验收。场景和格式检查不能代表这些尚未完成的验收。

独立成品审查修订（由 spatial worker 在 parent 明确授权后仅修读取/拖动风险）：从最终 HTML 的实际异步 handler 与 pointermove 复现旧方案读取在拖动中替换箱体数组，下一次 pointermove 对不存在箱体写 x 抛异常。已让文件选择、读取、取消、拖动开始/移动/结束、普通文档提交、页面隐藏/离开共用递增代次；旧读取不会提交。打开载入前取消未完成拖动；lostpointercapture、Escape、页面隐藏与离开会恢复拖动前位置；拖动中撤销只取消本次动作。切换文档先结束未完成拖动，并在 pointermove 检查对象仍存在。最后一次选择才能生效，错误/取消保留当前方案。此次只修改最终 HTML 的 UI 脚本，纯模型、图形和资源未变；受控执行实际处理函数核对了原竞态、连续文件、取消、隐藏与拖动结束，不称为浏览器事件验收。
