设定库人物 tab 新增 React Flow 关系图谱,仅用现有角色读端点数据
(CharacterRelationView={name,kind,note}):边按 name-join、kind 作中文
标签、节点按 role 上色,无 closeness/阵营(数据不存在,不硬造)。
- lib/characters/graphLayout.ts:纯逻辑(role→分组配色关键词映射 / 节点
去空重名 / kind→标签+DEFAULT_RELATION_LABEL / 悬空边跳过并计数 / 自指
跳过 / 互指无向去重 / @dagrejs/dagre 一次性确定性初始坐标、中心→左上、
不可变更新)+22 单测。
- components/characters/RelationshipGraph.tsx:'use client',经 CodexPage
dynamic(ssr:false) 挂载;显式容器高度 + import RF CSS + prefers-reduced-
motion 关 fitView 动画 + 纸感 CSS 变量配色 + 悬空计数提示。
- 依赖:@xyflow/react@^12.11.2 + @dagrejs/dagre@^3.0.0。
无后端契约变更/迁移/gen:api。门禁:lint/typecheck 干净、vitest 565、
coverage lib 95.4%(graphLayout 97.6%)、build OK。
15 lines
253 B
YAML
15 lines
253 B
YAML
packages:
|
|
- .
|
|
allowBuilds:
|
|
esbuild: true
|
|
sharp: true
|
|
unrs-resolver: true
|
|
minimumReleaseAgeExclude:
|
|
- '@xyflow/react@12.11.2'
|
|
- '@xyflow/system@0.0.79'
|
|
onlyBuiltDependencies:
|
|
- esbuild
|
|
- sharp
|
|
- unrs-resolver
|
|
verifyDepsBeforeRun: false
|