pf_app
Column collapse did not survive flipping away from the browser and back, because it was the one piece of state still held outside the config: applySplitDepth restored a *truncated* split_by, and a rebuilt view took its split_by from the config while the levels it had dropped lived only in splitFull. split_by_depth is the config-level equivalent, and it works now that apply_update applies it -- server.cpp does ctx2->set_depth(HEADER_COLUMN, column_pivot_depth - 1), so it is 1-based exactly like group_by_depth. Everything that existed to support truncation goes with it: - splitFull no longer has to outlive split_by, because split_by keeps every level. It is just the live axis, for rendering the buttons. - split_full is no longer persisted beside the config. Still read on load, for layouts saved by the old scheme. - collapsingRef and the prefix test are gone. They existed to tell our own collapse from the user rearranging the pivot, which only mattered because a collapse looked like a shorter split_by. - The selection survives a collapse. It was cleared because slices name the split_by dimensions they were cut from and the axis was changing shape; with a depth those dimensions are all still there. CLAUDE.md's §Column hierarchy describes the old mechanism throughout, and is now wrong; updating it separately. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| lib | ||
| public | ||
| routes | ||
| setup_sql | ||
| ui | ||
| .env.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| install.sh | ||
| package-lock.json | ||
| package.json | ||
| PERSPECTIVE.md | ||
| pf_perspective_options.md | ||
| pf_spec.md | ||
| pf.sh | ||
| server.js | ||