Skip to content

fortemi-react v2026.6.9

Choose a tag to compare

@github-actions github-actions released this 24 Jun 08:32
c1bd59c

fortemi-react v2026.6.9

fortemi-react v2026.6.9 turns the @fortemi/graph community layout into a real deterministic force settlement, so settled relationship maps are reproducible across static SVG generation, server rendering, and the browser.

Highlights

  • Deterministic force settlement (#206): layoutCommunityGraph's force algorithm now runs a fixed-iteration, seeded settlement — spring link attraction, charge repulsion, collision spacing, community cohesion, centering, and per-tick bounds clamping — instead of a closed-form radial ring. Identical (graph, options) always yields identical coordinates, with no animation frames.
  • Tunable layout options: new optional seed, ticks, nodeRadius, linkDistance, linkStrength, chargeStrength, collisionPadding, communityStrength, and boundsPadding, each with a documented default.
  • Per-node radius and community centroids: positioned nodes carry a stable render radius r (degree-derived by default, overrideable), and the result exposes communities centroids over the final layout.
  • Closed-form algorithms unchanged: radial, community, and manual remain closed-form and now also honor boundsPadding.
  • Documentation build refresh: the docs site builds with the latest @pagenary/publisher (2026.6.13) with no build warnings, and documentation is synced to code.

Published Packages

  • @fortemi/core@2026.6.9
  • @fortemi/graph@2026.6.9
  • @fortemi/react@2026.6.9

Compatibility

Existing 2026.6.8 consumers upgrade without source changes. The layoutCommunityGraph signature is unchanged and all new options are optional; the added r field on positioned nodes and the communities field on the result are additive. Hosts that select the force algorithm now receive settled coordinates rather than a closed-form ring — a visual change in output, not an API change. The radial, community, and manual algorithms produce the same positions as before (now clamped to boundsPadding).

Verification

Release preparation used the configured release flow:

  • pnpm typecheck
  • pnpm lint
  • pnpm test:core
  • pnpm test:e2e
  • pnpm build
  • CI green before tag publication