Skip to content

(step-layout-memory) Per-step layout memory, landing trim and series doc sweep#240

Merged
krissen merged 4 commits into
devfrom
feature/step-layout-memory
Jul 17, 2026
Merged

(step-layout-memory) Per-step layout memory, landing trim and series doc sweep#240
krissen merged 4 commits into
devfrom
feature/step-layout-memory

Conversation

@krissen

@krissen krissen commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

Sixth and final PR in the navigation-overhaul series (#235#239).

  • Per-step layout memory (Capture One workspaces pattern): each pipeline step persists its layout under ansikten-workspace-<step>; re-entering a step morphs toward your saved arrangement instead of the factory spec. "Återställ layout" resets only the current step (dirty-confirm kept). The legacy ansikten-flexlayout key is migrated and removed; corrupt saves fall back to factory. Parked "Bakgrund" tabs belong to the live model and are stripped from step snapshots so old parkings can't resurrect from memory.
  • StartupLanding trimmed to a welcome card: the step grid is gone (the WorkflowBar owns navigation), the Fortsätt affordance has a single source, and the double-Continue note from (workflow-bar) Persistent workflow bar + UX principles doc #236 is resolved.
  • Cleanup: dead layout-full-review/layout-template-full-image command-table entries and the unused menu.window.fullImage i18n key removed (flagged in (workspace-morph) Morph layouts on step switch instead of replacing the model #237's review).
  • Doc sweep: workspace-guide rewritten to reflect the end state; ux-principles finalized (per-step memory, landing role, reset semantics); ROADMAP updated (workflow-layout-presets item resolved by this PR; FileQueue companion item rephrased to current status).

Testing

  • npm test: 88 files / 832 tests passed (new: per-step round-trip, migration, corrupt fallback, border-strip, reset scoping, landing regression)
  • npm run build:workspace: OK

krissen added 4 commits July 17, 2026 22:26
The always-visible WorkflowBar already provides the pipeline steps, the
working-set chip, the Fortsatt continuation and the Verktyg tools menu at
all times — including on an empty workspace. Re-rendering the step grid,
tools grid and continue row on the landing only duplicated the bar (the
double-Fortsatt-buttons problem).

Reduce StartupLanding to a pure welcome/orientation card: title, subtitle
and a hint pointing at the bar. It no longer needs backend, moduleAPI or
working-folder wiring. The bar is the single source for navigation and
continuation.
Each pipeline step (import/rename/review/count/culling) now remembers the
shape the user leaves it in — an extra pane, changed pane weights — and
restores it on re-entry instead of the bare factory layout (Capture One
workspaces pattern, Nielsen N7).

stepLayoutMemory.js stores one pane spec per step under
ansikten-workspace-<step>. A spec ({ moduleId, weight }[]) — not a full
model — feeds the existing non-destructive morph, so restoring a
remembered layout preserves live module state and the parked-in-background
semantics. A snapshot reads only real tabsets, so border-parked Bakgrund
tabs never leak into a step's memory. resolveStepSpec merges saved with
factory so a step's essential modules can never go missing.

Persistence is scoped and settled: handleModelChange writes the active
step's spec on real user changes only (programmatic morphs are suppressed);
changes with no active step are not remembered. Mount always builds the
neutral default preset — memory surfaces only when a step is entered. The
legacy ansikten-flexlayout key is migrated once into review's memory, then
removed.

Reset layout now forgets the current step's memory and rebuilds it to
factory; new Reset all layouts (Window menu) forgets every step. Both keep
the dirty-Review confirm.
The command-table entries layout-full-review and layout-template-full-image
are inert — no menu item dispatches them any more (Helbild was removed from
the Layoutmallar submenu when the workflow bar took over Cmd+1..5). Remove
them and the now-unused menu.window.fullImage i18n key.
- ux-principles.md: navigation rules 7 (per-step memory) and 8 (landing is
  orientation, not navigation); reset semantics in rule 3 updated to
  morph-to-factory for a step; N4/N7 reflect the bar as the single nav source.
- workspace-guide.md: per-step layout memory + Reset all layouts; startsida
  rewritten as a welcome card pointing at the bar.
- ROADMAP.md: drop the delivered Arbetsflodes-layoutpresets item; refresh the
  FileQueue n/p entry (companion foundation exists via the role catalog, the
  gate itself remains a future PR).
- CHANGELOG.md: Added (per-step memory), Changed (landing trim), Removed
  (dead menu commands + fullImage key).
@krissen krissen added the enhancement New feature or request label Jul 17, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@krissen
krissen merged commit ca53f0f into dev Jul 17, 2026
2 checks passed
@krissen
krissen deleted the feature/step-layout-memory branch July 17, 2026 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant