家之本
族谱工具。录人物、连关系,自动推算称谓,普通话与粤语各算一套。数据只落本机,不登录、不上云。
Selected work
都是自己每天在用的东西。写下来的是实际跑过的情况,不是设想。
族谱工具。录人物、连关系,自动推算称谓,普通话与粤语各算一套。数据只落本机,不登录、不上云。
在 8 GB 显存的笔记本上跑本地视频生成,逐个验证启动参数和加速插件。同一份配置先跑两遍量噪声,再判断差异是不是真的。
零构建
原生 CSS 分层写 token,三个 JS 模块做主题与入场,字体自托管。没有打包步骤,改完文件推上去就上线。
把散在各处的清理项收进一次点击:浏览器缓存、DNS 缓存、系统临时文件。清理前先列清单,按风险分级,删完再核对空间是否真的归还。
Case study
一张族系布线图。人是端子,关系是走线,
每一代是一条走线槽,称谓总表就是接线表。
一个微信小程序,原生 WXML / WXSS / JS,零第三方依赖,没有框架也没有 npm 包。四个界面在同一页里切换:概览、世系、大事、我的。录人物、连父子与婚恋、记大事,剩下的交给引擎算。
难的不是录,是算。称谓得从关系里推出来,不是查表:普通话和粤语各一套,书面与口语口径可切;手动改过的称谓会被标记,引擎重算时不覆盖。生日支持四种粒度,包括只知道年份这种最含糊的情况。
族谱画在 Canvas 2D 上,不是静态图,可以拖、可以缩,点一个人就移过去。大件只在指纹变化时下发:2000 人的结构重算一次 574 KB,只换选中只要 272 B。355 项测试锁着这些约束,契约、引擎、视图推导各跑一遍。
本地优先是设计前提,不是待补功能。
Canvas 2D 画族谱,可拖可缩。超过 400 人直接跳转,不拿动画换卡顿。
普通话与粤语,书面与口语。关系推称谓,改过的单独记。
一步撤销留 3 分钟,自动备份按日按周轮转,导出导入自己保管。
亮暗手动切换,令牌唯一源,冷启动恢复上次的选择。
系统与运维
自动化与脚本
本地 AI
我不是设计师,这个站也不打算装成设计公司。这里放的是我真正做过的事:把混乱的目录收拾干净,把要折腾半小时的流程压成一条命令,把跑不动的模型调到能跑。做的时候尽量量数据,不靠感觉。