selfrelease
|
ce06674cba
|
perf: 传统族谱视图全面优化
P0 性能优化:
- 连线计算用 requestAnimationFrame + useLayoutEffect 替代 7个 setTimeout 轮询
- 节点注册改为批量 ref 模式,消除 N 次 setState 重渲染
- 初始定位用 useLayoutEffect + 双 rAF 替代 600ms setTimeout
- 高亮定位用三 rAF 替代 1000ms setTimeout
- 使用 ResizeObserver 替代 window.resize 监听
P1 视觉优化:
- 连线从 div 改为 SVG path 绘制,清晰且支持动画
- 背景纹理图从 transparenttextures.com 本地化到 public/
- 添加骨架屏 loading 状态替代 return null
P2 代码质量:
- 移除 page.tsx 中 5 处 console.log
- 移除 family-node.tsx 中 3 处 console.log
- 消除 handleD3MemberClick 中的直接 DOM 操作(createElement/innerHTML)
- parseName 提取为模块级函数,避免每次渲染重建
P3 增强:
- 缩放范围从 0.1~2 调整为 0.15~3
- 工具栏显示当前缩放比例
- SVG 连线添加 transition 动画
|
2026-07-16 15:45:24 +08:00 |
|
freedakgmail
|
5a604e89f9
|
0.8.3.0
|
2025-12-21 22:42:39 +08:00 |
|
freedakgmail
|
5983f13282
|
0.8.2.0
|
2025-12-21 19:59:57 +08:00 |
|
freedakgmail
|
5c8c70097c
|
0.8.0.0
|
2025-12-21 17:32:33 +08:00 |
|
freedakgmail
|
e7167f4340
|
0.6.2.0
|
2025-12-10 13:03:10 +08:00 |
|
freedakgmail
|
e9b1641509
|
0.6.0.2
|
2025-12-10 10:19:29 +08:00 |
|
freedakgmail
|
09809c0e49
|
0.6.0.1
|
2025-12-09 18:52:00 +08:00 |
|
freedakgmail
|
25ae1107ee
|
0.5.0.3
|
2025-11-30 22:14:24 +08:00 |
|
freedakgmail
|
0326894b09
|
0.3.1.3
|
2025-11-30 20:00:18 +08:00 |
|
freedakgmail
|
89f1e061d4
|
0.3.0.5
|
2025-11-30 13:09:52 +08:00 |
|
freedakgmail
|
fd9c064749
|
0.3.0.0
|
2025-11-30 09:16:43 +08:00 |
|
freedakgmail
|
3d075c6076
|
0.0.8.5
|
2025-11-24 14:02:34 +08:00 |
|
freedakgmail
|
3375a79ed4
|
0.0.5.1
|
2025-11-23 15:56:24 +08:00 |
|
freedakgmail
|
d797f1abb9
|
0.0.4.0
|
2025-11-23 14:46:53 +08:00 |
|
freedakgmail
|
c033e46782
|
0.0.0.4
|
2025-11-22 23:49:24 +08:00 |
|
freedakgmail
|
43c8389705
|
0.0.0.1
|
2025-11-22 19:52:55 +08:00 |
|