3b6ce2c57e
问题(09-20 实测复现): dsp/common.py 的 open_store() 是"文件不存在就零填充创建", 而 /dev/shm 是 tmpfs —— 重启后参数全变 0。听感上不是"参数没保存", 而是**"混响突然没了"** (湿量 0), 极易被当成链路故障去查。 修法: - common.py: 加 params.json 落盘(load_saved_params / save_params / restore_params); open_store() 检测到文件是"新建的"就从落盘恢复(带上下限夹取)。幂等 —— 两个声道进程 同时判定为新建也没关系, 写进去的值一样。 - web/server.py: 面板每次改参数(POST /api/eq|volume|wet)后 save_params() 落盘; 值没变不写。 - 初始化.py: 改成"优先用落盘, 没有才用默认值", 并报告参数来源。 实测(rm /dev/shm/collaplex-eq* + 重启 pipewire): 参数自动恢复, 与落盘逐值一致 (总音量 +2.0 / 湿量 0.600 / EQ 非零 30 段)。 落盘位置 ~/.local/state/cinema-spatial/params.json(与 loudness.json 同目录)。 README 加「参数持久化」节 + 坑表条目。