删掉节点的「说明」字段 —— 它填得进、存得下,却从来画不出来
`sub` 声称是「画布上的第二行小字」,但画笔里那支只在 `variant !== 'business'` (步骤图)才走,而全仓的调用点一律是 business:这个字段写了、存了、 一次也没显示过。属性面上那句提示是句假话。 整条清:属性面的一行 · `ProcessNode.sub`(契约) · `FlowNode.sub` · 图↔包两处映射 · 画笔里那支画不出来的分支(连同它带来的「两种画法」分叉, 现在节点框里就一行活动名) · 节点宽度算法里 `node.sub || node.ghost` 的宽框判据 (sub 没了,只剩 ghost 决定宽窄)。 存量数据不受影响:库里没有一条带 sub 的定义(查过),schema 非严格, 真有旧值也只是解析时被剥掉。 五闸绿;契约快照随本提交入库(去一个可选字段,加法的反面,无下游)。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
This commit is contained in:
@@ -473,7 +473,6 @@ export declare const listProcessPackagesRoute: {
|
||||
kind: z.ZodLiteral<"start">;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -485,7 +484,6 @@ export declare const listProcessPackagesRoute: {
|
||||
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -510,7 +508,6 @@ export declare const listProcessPackagesRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -538,7 +535,6 @@ export declare const listProcessPackagesRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -600,7 +596,6 @@ export declare const saveProcessRoute: {
|
||||
kind: z.ZodLiteral<"start">;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -612,7 +607,6 @@ export declare const saveProcessRoute: {
|
||||
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -637,7 +631,6 @@ export declare const saveProcessRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -665,7 +658,6 @@ export declare const saveProcessRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -711,7 +703,6 @@ export declare const saveProcessRoute: {
|
||||
kind: z.ZodLiteral<"start">;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -723,7 +714,6 @@ export declare const saveProcessRoute: {
|
||||
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -748,7 +738,6 @@ export declare const saveProcessRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -776,7 +765,6 @@ export declare const saveProcessRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -855,7 +843,6 @@ export declare const setProcessStateRoute: {
|
||||
kind: z.ZodLiteral<"start">;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -867,7 +854,6 @@ export declare const setProcessStateRoute: {
|
||||
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -892,7 +878,6 @@ export declare const setProcessStateRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -920,7 +905,6 @@ export declare const setProcessStateRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -978,7 +962,6 @@ export declare const deleteProcessVersionRoute: {
|
||||
kind: z.ZodLiteral<"start">;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -990,7 +973,6 @@ export declare const deleteProcessVersionRoute: {
|
||||
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -1015,7 +997,6 @@ export declare const deleteProcessVersionRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -1043,7 +1024,6 @@ export declare const deleteProcessVersionRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -1102,7 +1082,6 @@ export declare const renameProcessRoute: {
|
||||
kind: z.ZodLiteral<"start">;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -1114,7 +1093,6 @@ export declare const renameProcessRoute: {
|
||||
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -1139,7 +1117,6 @@ export declare const renameProcessRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -1167,7 +1144,6 @@ export declare const renameProcessRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -1217,7 +1193,6 @@ export declare const validateProcessRoute: {
|
||||
kind: z.ZodLiteral<"start">;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -1229,7 +1204,6 @@ export declare const validateProcessRoute: {
|
||||
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -1254,7 +1228,6 @@ export declare const validateProcessRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -1282,7 +1255,6 @@ export declare const validateProcessRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -2344,7 +2316,6 @@ export declare const govWorkflowRoute: {
|
||||
kind: z.ZodLiteral<"start">;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -2356,7 +2327,6 @@ export declare const govWorkflowRoute: {
|
||||
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -2381,7 +2351,6 @@ export declare const govWorkflowRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -2409,7 +2378,6 @@ export declare const govWorkflowRoute: {
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
|
||||
@@ -113,7 +113,6 @@ export declare const processNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
||||
kind: z.ZodLiteral<"start">;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -125,7 +124,6 @@ export declare const processNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
||||
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -150,7 +148,6 @@ export declare const processNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -178,7 +175,6 @@ export declare const processNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -225,7 +221,6 @@ export declare const processPackageSchema: z.ZodObject<{
|
||||
kind: z.ZodLiteral<"start">;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -237,7 +232,6 @@ export declare const processPackageSchema: z.ZodObject<{
|
||||
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -262,7 +256,6 @@ export declare const processPackageSchema: z.ZodObject<{
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
@@ -290,7 +283,6 @@ export declare const processPackageSchema: z.ZodObject<{
|
||||
message: z.ZodOptional<z.ZodString>;
|
||||
id: z.core.$ZodBranded<z.ZodString, "NodeId", "out">;
|
||||
label: z.ZodString;
|
||||
sub: z.ZodOptional<z.ZodString>;
|
||||
layout: z.ZodOptional<z.ZodObject<{
|
||||
row: z.ZodNumber;
|
||||
col: z.ZodNumber;
|
||||
|
||||
@@ -865,14 +865,6 @@ function FlowLab({
|
||||
</Field>
|
||||
{node.kind === 'activity' && (
|
||||
<>
|
||||
<Field k="说明" hint="画布上的第二行小字">
|
||||
<input
|
||||
className="g-input"
|
||||
value={node.sub ?? ''}
|
||||
placeholder="如:照谱执行 / 临场演绎 / 人裁节点"
|
||||
onChange={(e) => patch((n) => ({ ...n, sub: e.target.value === '' ? undefined : e.target.value }))}
|
||||
/>
|
||||
</Field>
|
||||
<Field k="节点类型" hint="只分两种;审批点是系统内置要素,不链活动">
|
||||
<Seg
|
||||
value={node.flavor === 'approval' ? 'approval' : 'act'}
|
||||
|
||||
@@ -29,7 +29,6 @@ export interface FlowNode {
|
||||
/** Case 节点引用的库案例 id(cases[].id):L2 只是引用,下钻编辑共享库案例。 */
|
||||
caseRef?: string;
|
||||
label: string;
|
||||
sub?: string | undefined;
|
||||
code?: string;
|
||||
ghost?: boolean;
|
||||
note?: string;
|
||||
@@ -265,7 +264,7 @@ function nodeWidth(node: FlowNode, m: Metrics, shrink: number): number {
|
||||
case "callout":
|
||||
return m.calloutW;
|
||||
case "activity":
|
||||
return Math.max(80, (node.sub || node.ghost ? m.actWide : m.actW) - shrink);
|
||||
return Math.max(80, (node.ghost ? m.actWide : m.actW) - shrink);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -126,24 +126,7 @@ export function paintNode(group: SVGElement, node: FlowNode, w: number, h: numbe
|
||||
const titleSize = variant === "business" ? 12 : 11.5;
|
||||
const inkColor = ghost ? "#6A7686" : skin.ink;
|
||||
const title = fitLine(node.label, w - 12, titleSize, 10);
|
||||
// L2 主图只留 标号/活动名/责任角标(2026-07 精简)——sub 小字仅步骤图(steps)渲染。
|
||||
if (node.sub && variant !== "business") {
|
||||
const sub = fitLine(node.sub, w - 12, 8.6, 8);
|
||||
group.append(
|
||||
svgEl(
|
||||
"text",
|
||||
{ x: w / 2, y: 18, "text-anchor": "middle", "font-family": FLOW_SANS, "font-size": title.size, "font-weight": 600, fill: inkColor },
|
||||
title.text,
|
||||
),
|
||||
);
|
||||
group.append(
|
||||
svgEl(
|
||||
"text",
|
||||
{ x: w / 2, y: 32, "text-anchor": "middle", "font-family": FLOW_SANS, "font-size": sub.size, fill: ghost ? "#9AA6B4" : "#6A7686" },
|
||||
sub.text,
|
||||
),
|
||||
);
|
||||
} else {
|
||||
// 节点框里只写活动名(标号走左上角标)—— sub 第二行小字已退役,没有第二种画法了。
|
||||
group.append(
|
||||
svgEl(
|
||||
"text",
|
||||
@@ -151,7 +134,6 @@ export function paintNode(group: SVGElement, node: FlowNode, w: number, h: numbe
|
||||
title.text,
|
||||
),
|
||||
);
|
||||
}
|
||||
// 标号角标:business 一贯有;步骤图(steps)的真实节点也要 S#/B# 编号与指导书条目对齐
|
||||
// (2026-07 用户纠正)——ghost 骨架节点不标。
|
||||
if (variant === "business" || !ghost) {
|
||||
|
||||
@@ -47,7 +47,6 @@ export function mergeGraphIntoPackage(
|
||||
const base = {
|
||||
id,
|
||||
label: n.label,
|
||||
...(n.sub === undefined ? {} : { sub: n.sub }),
|
||||
layout,
|
||||
};
|
||||
|
||||
|
||||
@@ -87,7 +87,6 @@ export function packageToGraph(pkg: ProcessPackage, marks: readonly InstanceMark
|
||||
kind: 'activity',
|
||||
label: n.label,
|
||||
code: n.id,
|
||||
...(n.sub === undefined ? {} : { sub: n.sub }),
|
||||
...(state === undefined ? {} : { note: state }),
|
||||
};
|
||||
if (n.kind === 'approval') {
|
||||
|
||||
@@ -118,8 +118,11 @@ export type NudgeLadder = z.infer<typeof nudgeLadderSchema>;
|
||||
const nodeBase = {
|
||||
id: nodeIdSchema,
|
||||
label: z.string().min(1),
|
||||
/** 画布上的第二行小字(如「照谱执行 / 临场演绎」)—— 呈现注记,不影响语义 */
|
||||
sub: z.string().optional(),
|
||||
/*
|
||||
* (已退役 2026-07-30)sub —— 「画布上的第二行小字」。
|
||||
* 它只在 `variant !== 'business'` 的步骤图里画,而全仓的调用点一律是 business:
|
||||
* 填得进、存得下,**却从来画不出来**;属性面上那句「画布上的第二行小字」是句假话。
|
||||
*/
|
||||
/**
|
||||
* 画布坐标 —— 布局引擎的输入;不影响语义。
|
||||
* row/col = 编译布局的行列;x/y = **手绘几何**(编辑器保存后,手绘成为呈现真相)。
|
||||
|
||||
Reference in New Issue
Block a user