`,不再套 `.proto-root`/`.app-shell`/`.jc-stage`
- * (那是 E04/I01 自己的视觉底约定,不是平台要求 —— ui-kit / view-render 从未引用过这几个类名;
- * 目标件本身就是直接 `page > card`,搬版面就该原样搬这一层)。
- * 收件人 / 关联任务两格由引擎注入;目标件的「最迟交回」(`card.deadline`)本仓没有真数据源,不摆;
- * 工单编号(`card.id`)换成本次评估案号 `eval_ref`。
- */
-const doc = (input: { css: string; alias: string; badge: string; hic?: string; tag: string; kicker: string; title: string; step: string; body: string; footTag: string }): string =>
- `
-
`;
-
-/* ==================== 内联 SVG 图标 —— 逐字节搬自「数据工单-01」目标件(它们是版面语言的一部分) ==================== */
-const HIC =
- '
';
+/* ==================== 内联 SVG 图形 ==================== */
+/** 分区小图标(丝印风,描边取 currentColor) */
const ZIC_TASK =
- '
';
+ '
';
const ZIC_TABLE =
- '
';
+ '
';
+/**
+ * 芯片封装(SOIC 俯视,铜引脚 + 晶粒)—— hero 舞台的主角。全部样式走 CSS class
+ * (c-body / c-pin / c-die / c-dot),不用 defs 渐变:同一份文档里出现两次时渐变 id 会撞。
+ */
+const CHIP =
+ '
';
-/* ==================== 通用绑定小工具 ==================== */
-const zone = (label: string, aside: string, icon = ''): string => `
${icon}【${label}】—— ${aside}
`;
-const note = (items: readonly string[]): string => `
${items.map((p) => `
${p}
`).join('')}
`;
+/* ==================== 通用绑定小工具(输出形状被包内测试钉死,改字就是改契约) ==================== */
+const zone = (label: string, aside: string, icon = ZIC_TASK): string =>
+ `
${icon}【${label}】${aside}`;
+const note = (items: readonly string[]): string => `
`;
const flow = (text: string): string => `
${text}
`;
const editGate = (address: string, label: string): string => `
${label}
@@ -243,39 +78,98 @@ const addrow = (address: string, label: string, hint: string): string => `
`;
/** 可改格:只读那一份留空,渲染器自动配孪生 `
`(手写 input 会不填值,人一点编辑就是白框) */
const cell = (col: string, cls = ''): string => `
`;
-/** 只读格:即便挂在可改的表里也不许被 `table.on` 藏起来 —— 目标件自己就有这条覆盖(`.jc-vcell.ro`) */
+/** 只读格:即便挂在可改的表里也不许被 `table.on` 藏起来 */
const ro = (col: string, cls = ''): string => `
`;
const select = (col: string, options: ReadonlyArray
, required = false): string =>
``;
/**
* 枚举徽标。可改表里挨着 `