ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Archify 自动路由与标签排布:何时该手动指定 via、labelAt,何时不该?完整决策指南

Archify 自动路由与标签排布:何时该手动指定 via、labelAt,何时不该?完整决策指南 Archify 自动路由与标签排布何时该手动指定 via、labelAt何时不该完整决策指南【免费下载链接】archifyAgent skill for beautiful, verifiable architecture, workflow, sequence,>项目地址: https://gitcode.com/GitHub_Trending/arch/archifyArchify 是一个把系统描述编译成自包含 HTML/SVG 架构图的渲染系统它内置自动路由auto route与标签排布label placement能力。新手最常纠结的问题是连线坐标via和标签锚点labelAt到底该不该手写本文给出 6 条判断规则帮你在交给路由器和手动接管之间快速做出正确选择。自动路由默认做什么先理解 auto 的能力边界Archify 中每条关系connection/edge的路由方式由route字段控制可选auto、straight、orthogonal-h、orthogonal-v默认就是auto。字段定义可以直接在 schema 里查到架构模式archify/schemas/architecture.schema.json公共类型point即[x, y]坐标对via和labelAt共用它archify/schemas/common.schema.json在auto模式下路由器会自动做三件事垂直进出首段与末段沿fromSide/toSide指定的方向垂直离开/进入节点自动端口展开Automatic Port Spread多条线共享同一侧锚点时自动对称展开保持 16px 边角留白节奏约束每一段非零线段 ≥ 8px内部线段 ≥ 16px避免出现狗牙式微小折角。这些规则写在 archify/references/authoring-contract.md 的Executable geometry rules一节是所有模式的统一契约。何时不该写 via、labelAt三种保持沉默的场景场景一拓扑简单、无穿越。当连线不穿过无关节点、不与其它线共享长走廊时auto就能产出合规路径。此时写via反而会关闭端口展开——自动展开对显式via、labelAt、非auto路由一律不生效。场景二只有一条线或少数稀疏连线。单条关系没有展开需求手动坐标只会增加维护成本。场景三时序图sequence消息。消息拥有自己的纵向秩序sequence 模式根本不走自动端口展开手写via属于过度干预。 经验法则能用fromSide/toSide表达的方向意图就不要升级为坐标。侧面side是方向契约比坐标稳定得多。何时该手动指定 via诊断信息驱动的 4 种接管信号判断该不该手写坐标的依据不是手感而是validate输出的diagnostics[]。每次编辑后跑一次校验看稳定错误码再决定是否接管。几何诊断的生成逻辑在 archify/renderers/shared/geometry.mjs 中每条诊断都附带supportedFixes修复建议诊断码示意含义该不该写 viaedge-through-node连线穿过无关节点硬性失败✅ 调fromSide/toSide仍无解时写via绕开ambiguous-corridor两条无关线共享 ≥8px 的走廊语义歧义✅ 写via让两条线走不同走廊route-rhythm/cramped-turn折角过小、走廊拥挤✅ 移动via点腾出空间endpoint-side-direction首末段方向不垂直于指定侧面⚠️ 优先改side或删掉显式路由让 auto 重来最后一条最值得注意当auto已经失效、显式via又没写好时诊断建议里会明确告诉你对齐首末段与 fromSide/toSide改侧面或移除显式路由让 auto 重新选择。也就是说有时候最佳修复恰恰是把手写的 via 删掉。真实样例可以对照 archify/examples/product-analytics.dataflow.jsonrestricted-join这条安全线用via: [[878, 157], [878, 212], [960, 212]]手动绕行正是为了避开中间的数据湖节点而普通的identity-map只用route: straight一行坐标都没写。何时该手动指定 labelAt一条可计算的标签排布公式标签排布有量化标准来自 authoring-contract.md 的Spacing and labels清晰空隙 标签掩码宽度 8px 呼吸边距 标签掩码宽度 ≈ 6.5px × ASCII 单位数 13px中文字符按 2 单位计判断流程很简单空隙足够→ 不写labelAt标签默认挂在路线中段标签压到其它连线label-route-clearance 诊断→ 诊断建议是调整labelAt、labelDx/labelDy、labelSegment或改另一条关系的路由空隙太小→ 按契约顺序处理移动标签 → 调整路由或间距 → 缩短文案保留语义。只有当两端节点已完全蕴含该关系、且标签不含协议/动作/方向/同步异步/跨边界机制时才允许删标签。⚠️ 关键纪律一次只动一个控制量。契约明确要求先应用诊断给出的labelAt再去猜其它几何控制。如果诊断直接给了一个labelAt坐标直接用那个点不要凭感觉估算另一个偏移。标签落点演示route probe 帮你验证排布结果生成完成后可以在 HTML 里用 route probe 检查任意两点间的最短授权路径顺便确认标签没有压线快速决策清单6 条规则 默认不写via/labelAt信任auto路由与端口展开 以validate的diagnostics[]为准不靠肉眼判断该不该接管️ 只有出现edge-through-node、ambiguous-corridor、route-rhythm类诊断时才写vialabelAt按掩码宽度 8px公式量化判断能不算就不算 诊断给了labelAt坐标就直接采用禁止连续猜多个几何参数️ 方向不对时优先删掉显式路由交还 auto而不是叠加更多坐标。完整修复顺序质量档 → 节点重叠 → 穿越 → 交叉/走廊/节奏 → 标签间距见 archify/references/authoring-contract.md更多对照样例archify/examples/event-stream.dataflow.json、archify/examples/production-deployment.architecture.json。【免费下载链接】archifyAgent skill for beautiful, verifiable architecture, workflow, sequence,>项目地址: https://gitcode.com/GitHub_Trending/arch/archify创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表