作品：书架设计与板材排料 / ROOM IN A BOARD
原始愿望：我想自己设计一组书架，知道每块板多大，怎样排在整张板材上比较省。

制作一个无需项目安装、完整自包含的中文 HTML 木作规划工具。命题是“一组站起来的书架，仍然能在整板上找到每一片的来处”。让真实尺寸的木作立面/三维拆解，与同状态的整板排料成为相邻工作面；用炭灰、暖木、纸色与冷蓝，像一份清楚、可使用的工坊工单。默认书架应有实际侧板、顶底、分隔、层板、踢脚和后覆背板，少量摆书可关掉，不是单个长方体。

用户可修改书架宽高总深、主体板厚、开间数、每开间层板数量、踢脚高度和背板厚度/有无。明确顶底与层板装在侧板之间，背板后覆且包含在总深内，板件长度全部以 mm 推导。整数宽度不能均分时把余量分配给开间，真实板件和总宽仍对齐。板件各有稳定编号；在表格或排料上选中，三维同步高亮，支持装配/展开、轨道观察、数值与按钮替代。

按厚度将主体板与背板分开排料。整板长宽、四边修边、锯缝、单张价格、最多可用板张数与木纹方向可改。实现真实可解释的矩形启发式排料；可以比较面积优先、长边优先、宽边优先，挑选较好的方案，但不声称全局最优。沿切分保留锯缝，示出每个实际板件的编号、方向与尺寸。未能排下的板件始终可见，不将它们算成完成。已使用的板数与成本、净板件、锯缝、剩余与修边面积能够对账。

用户带走切割 CSV（含板件、尺寸、材质、排入哪张板、位置与方向）、采购 CSV、SVG 排料工单和可完整恢复的方案 JSON。格式输出来自同一个派生结果。撤销/重做覆盖文档编辑；展开滑动只记一次。浏览器暂存失败可手动保存。严格验证 JSON，错误不覆盖现有工作。全部资源内嵌，三维失效仍保留排料、清单、尺寸与导出。

建立无 DOM AppModel、Artwork 与 SceneApp。用实际模型检验外廓、分隔与层板数量、边界、排料矩形与锯缝、面积守恒、材料成本、完整状态回读和非法输入。实际同源出图后查看默认、展开、改尺寸排料与放不下的状态；修主要问题并保留首轮。木作模型不做连接件钻孔、载荷、抗倾倒或 CNC 加工保证，材料名称和示例价格可编辑。交付单 HTML、完整说明、制作前提示词、真实修订记录与必要证据。
