pf_app
A highlight is a rectangle of grid coordinates. Post a decrease on a grid sorted by sales descending and the customer drops down the list, while the highlight holds the coordinate and comes to rest over whoever took that position. `slices` is value-based, so the panel goes on writing to the customer it always meant -- the grid is the only thing that lies, which is the worst place for the lie to be. The rectangles are re-derived from the slices now rather than tracked: after a post or an undo, sweep the grid the way a drag does (slicesFromRegion, quietly) and keep the cells whose slice is still selected. That also survives the column axis shifting, which it does on almost every post -- a new segment column group moves every x by one. - Bounded at 5,000 displayed rows. The sweep reads what the pivot shows, not the grain, so at any ordinary depth it is a handful; fully expanded it is the whole traversal and not worth a highlight. - Past the bound, or on any failure, the highlight is cleared rather than left in place: losing it says "I don't know where it went", which is true, and leaving it says "it is here", which is not. - A slice may now land on more cells than it did -- one that never named the segment column matches the customer under the old segment and under the adjustment's own. That is what the slice covers. Co-Authored-By: Claude Opus 5 <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 | ||