Skip to content

Allow linear layouts without Force layout (#101) - #103

Merged
martin-raden merged 2 commits into
issue-74-canvas-interactionsfrom
issue-101-static-linear-layout
Oct 7, 2026
Merged

martin-raden merged 2 commits into
issue-74-canvas-interactionsfrom
issue-101-static-linear-layout

Conversation

@Alexander-Mitrofanov

Copy link
Copy Markdown
Collaborator

Linear horizontal RRI and intramolecular stem layouts now work with Force layout disabled. Selecting either option preserves the user's force choice; disabling Force layout retains the linear selections. Both checkboxes appear above Force layout, and examples, existing URL names, share links, and the standalone API preserve these independent settings.

For static rendering, the existing rail constraints and D3 engine run at most 60 synchronous settling ticks, then stop and remove their listeners before the canvas is shown. Annotations and viewport fitting use the settled positions. Nodes remain available for manual edits, release, reset, and undo. Animated rendering retains its existing behavior; free trailing ends and pseudoknot pulling remain force-only options.

Fixes #101. Based on and targeting issue-74-canvas-interactions as requested. This PR is independent of #102, which addresses the remaining dialog review on #97.

Validation:

  • Architecture checks and all 473 unit tests pass, including static RRI, intramolecular, combined, unpaired, crossing, cancellation, and replacement cases.
  • Native and bundled cores produce identical static linear coordinates; positions stay frozen, release does not restart forces, and undo restores the original placement.
  • Complete Chromium and Firefox UI workflows, static share-link restoration, packed/installed package, and help/citation checks pass.
  • All five visual fixtures match unchanged baselines with zero changed pixels.
  • Visually reviewed ordinary versus static-linear rendering for all five examples: horizontalization/straightening is intentional; graph counts, annotations, and labels remain present. The crossing example stays unchanged. See geometry review.

@martin-raden
martin-raden merged commit 1eca00f into issue-74-canvas-interactions Oct 7, 2026
1 of 2 checks passed
@martin-raden
martin-raden deleted the issue-101-static-linear-layout branch October 7, 2026 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants