ARTICLE · 1257400
族谱软件开发日志 (漫游世系)10.26
老闫的族谱软件开发日志
这是一份持续更新的开发日志。我按时间节点记录「族谱管理」软件从想法到交付的全过程。本文为第 13 篇,全程文字记录,不涉及任何真实族人信息。
📖 前言
上一篇写到 1.3.6:族人变成星球,夫妻并排转,选中的一家人一起亮,宇宙照片铺满塔外的天空。
这一篇记 10 月 26 日,也把中间几天的活一起补上。这几天没有加很多新页面,主要是在把已经做出来的东西,做得更像一本能用的谱书:把世系从一块文字面板,换成能翻的 B6 谱册;把格式、同步状态、缩放和拖动放到顺手的位置;再把 3D 漫游的结尾,接成一条能自己回家的路。
听起来都是小修小补,真正动手才知道,小地方最容易反复。左栏明明写了居中,打印一样靠上;状态圈明明画好了,放在按钮外面就不像按钮的一部分;两只侧栏能弹出来了,却还是一顿一顿的;镜头能钻到塔里了,却又在下坠的最后一段只看见一片空星空。
最后留下的这一版,是一遍遍看、一遍遍退回重调之后的版本。
🎯 今日目标
✅ 世系 PDF 左栏父名和子序,水平和垂直都居中 ✅ 世系改为左侧 510px 面板滑出,不再弹窗;支持适配、放大、小手拖动 ✅ 世系支持 Ctrl+滚轮,以鼠标位置为中心缩放,最小只缩到适配宽度 ✅ 左上角加入「家谱格式」下拉,A1 到 B6 六种格式;当前只有 B6 可用 ✅ 同步状态圈收进按钮内部,世系、刷新、3D、备份五处联动 ✅ 世系和详情面板统一为 240 毫秒先快后慢滑出 ✅ 底部只保留一条半透明状态条,绿色提示行删除 ✅ 3D 漫游变成循环:中段切入 → 世代电梯 → 成员环内螺旋俯冲 → 第一世再漫游 ✅ 世代电梯和俯冲减速,BGM 贯穿循环,Esc 或点击画面可停止 ✅ 导出一轮完整循环视频《星空10.26.mp4》 ✅ 七套测试全绿,测试版版本号升到 1.3.8 ⏳ 正式版更新、A1-A5 传统格式模板(我自己来)
🧩 方案选型 & 设计思路
这次没有新增复杂功能,主要是在几个“位置”和“节奏”之间做选择。
老闫思考: 好的界面不是把功能堆在眼前,而是让人知道下一步该点哪里。按钮上的小圈、抽屉的弹速、镜头最后停在哪里,都是在回答这个问题。
💻 核心改动
一、一本能翻的谱
1.3.7 最重要的变化,是世系窗口不再是一块只能滚动的文字面板,而是直接在左侧生成 B6 现代牒记式 PDF。全谱从当前数据库自动载入,一页一页向下滚动,显示和导出共用同一份文件。树状图点一位成员,谱册就翻到那一页;点妻子,翻到丈夫那一页。
二、让等待看得见
同步 PDF 要花一点时间。以前只有一个绿色提示条在底部闪一下;现在把状态做成一个细圆圈,直接放进按钮里:库同步、导出、刷新、3D 谱系图、备份,五处都有。
默认是绿色对勾;同步时变成旋转的绿环;失败是红色感叹号。后台生成 PDF 时,五处一起转;生成完自动刷新窗口,导出菜单也跟着当前格式改名。3D 谱系图按钮选中时是绿底,绿色圆圈会看不清,所以给这个状态圈加了一层很浅的白底,像给按钮别了一枚小徽章。
三、抽屉要稳,状态条要静
世系和详情这两只侧栏,以前要么瞬间出现,要么滑得一顿一顿的。这次统一成 240 毫秒、先快后慢的滑出;更关键的是,滑出时里面的内容保持 510 像素固定宽度,只改变外面看得见的宽度。PDF 不再每一帧重新排版,详情表单也不跟着抖。
四、在星空里绕一圈
3D 漫游本身没有变:从第一世开始,沿塔心上升,一层一层点亮名字和世代环,最后回到重置视角。
先在中段切开一个口子,镜头从全景滑到塔身中部;然后像电梯一样逐世上升,每到一层停一下,点亮该世世代环,显示「第 X 世 · N 位族人」;到顶后,不再沿中轴直下,而是从顶世成员环的内部进入,一边向下、一边绕着塔心收紧,穿过每一层的成员,再进入下一世。每一世在环平面附近都会慢一点。最后到第一世的成员环内,接回漫游的第一帧,继续下一轮。
世代电梯和顶部俯冲后来都放慢了:电梯时长翻倍,俯冲时长变成原来的三倍。BGM《开智小曲》贯穿整轮循环,按 Esc 或点击画面可以停下,界面会自动恢复。循环开始时,屏幕下方会短暂提示一句“循环漫游中 · 按 Esc 或点击画面停止”。
这一轮完整循环约 103.9 秒,我把它录成了《星空10.26.mp4》,1920×1080,带开智小曲。视频画面是纯 3D 场景,不含界面字幕和提示浮层,和之前的漫游视频保持一致。
⚠️ 踩坑记录
左栏怎么都不居中
两个状态栏
抽屉越做越卡
螺旋不是画一条线就行
📝 开发复盘
✨ 收获
- 固定内容宽度,比换一条更好看的曲线更有用
- 状态圈在按钮外面,用户得先找它;收进按钮里,才像按钮自己在说话。
- 循环必须有出口。
- 镜头路线要先服从数据。
🤔 不足与下一步
A1 到 A5 的传统格式模板还没准备好,目前只能在菜单里看到、不能选; 循环内部段的绝对半径会随中段圆环外扩,这是为了保证镜头真的穿过成员环,后面还需要用不同数据多看几遍; 导出的视频是纯 3D 画面,没有界面字幕;如果以后要带字幕,需要另做画面合成; 正式版还是我自己手动更新,不劳 AI 打包。
💬 写在最后
一篇篇写下来,越来越觉得族谱软件做的不是“把数据摆出来”,而是把人和时间摆在一个能看懂的位置上。
左边是一本可以翻的谱,右边是一条可以走的世系;抬头是星空,低头是祖先。这次改的都是位置和节奏:让格子真正居中,让按钮自己说明状态,让抽屉安静地滑出,让镜头从族人之间穿过去,再回到第一世。
路走完一圈,还是回到第一页。这大概就是族谱最朴素的样子。
想要什么功能?留言区告诉老闫哦
老闫的开发日志|持续记录软件开发实战过程 公众号:老闫开发笔记
(未完待续,下一篇见文首新的时间节点。)
—— 2026 年 10 月 26 日















































































