用途:为所有 paper-ds-* 技能提供统一的 Paper 画布绘制规则,任何写入 Paper 文件前都应先加载本技能。
主要能力与用法:写入前,用目标 fileId 调用 get_basic_info,核对返回的 file.id 是否为预期文件,写错文件无法撤销;读取 paper-ds.json 与 ../paper-ds-manage/references/versioning.md;写文字前对每个字体家族调用 get_font_family_info;调用 get_tokens 并与清单的 contentHash 比对,不一致需重新读取。覆写作品前先建立检查点,保存其真实来源、令牌与用户改动。
写入规则:每次 write_html 只画一个视觉分组;只用 Flex,不用 margin、grid、inline 或表格;字号单位 px 且不低于 12,字距用 em,行高用 px;结构元素设置 layer-name;Paper 接受处一律用 var(--name) 引用令牌,不要硬写字面值;从响应最后一个 content item 的 createdNodes[0].id 读取新节点 ID;用 x-paper-clone 或 duplicate_nodes 复用;用小修 update_styles 或 set_text_content,不要删了重画;完成后调用 finish_working_on_nodes。
主题与配色:Paper 令牌只有单一值,帧无法为子级覆盖变量,因此明暗主题使用不同令牌(--color-ground、--color-ink 与 --color-dark-ground、--color-dark-ink),每帧只用一个主题的令牌,不能混用;先读 paper-ds.json 的 themes 决定画一个还是两个舞台;代码同步用 paper-ds-tokens。注释色保留为独特的霓虹粉角色,仅用于评审语义。
回读与放置:写入后立即截图可能空白或过期,先用 get_tree_summary 再截图,不能凭空白图判断;截图默认 scale 1,读小字才用 scale 2;画板显式设置 left 与 top,成排间隔 80px;概览是独立画板,宽 760px、无内边距,放在画板行上方 left: 0 且下方留 80px 以上。
限制:codemode 中 setTimeout 未定义,不能靠定时器等待;fill-content 画板高度报 null 或 ?,只能从截图读取;SVG 内的 color-mix() 会被压平、SVG 噪点滤镜不渲染、帧不能切换主题、字体在启动时加载(新装字体需退出并重开 Paper)、paper-gen:// 仅在用户明确要求图片时生成图像。上述限制若被项目代码依赖,应记录到清单的 divergences 中。资料未提供收费、平台或效果信息。