Skip to content

Adds a Note on ADR-0008: a second elkjs renderer in statifier_blocks - #175

Merged
johnnyt merged 1 commit into
mainfrom
sui-dcj2-elk-renderer-note
Sep 29, 2026
Merged

johnnyt merged 1 commit into
mainfrom
sui-dcj2-elk-renderer-note

Conversation

@johnnyt

@johnnyt johnnyt commented Sep 29, 2026

Copy link
Copy Markdown
Member

Refs: sui-dcj2

What

One dated foot Note on docs/adr/0008-client-side-elkjs-layout.md, appended after "Alternatives considered" as ## Note (2026-09-28): ... (the shape of ADR-0004's foot Note, and ADR-0007's rule that a Note takes a heading when nothing of its section follows it). It records that statifier_blocks ships a second elkjs renderer, its Map, which lays out a block document's tree; that the renderer this record decides lays out every SCXML state of a chart; that each is a projection of its own document kind; that neither replaces the other and no merge is planned; and that a Note decides nothing.

Docs only: no change under lib/, test/ or assets/, no README change (docs/adr/README.md indexes no Notes), no changelog fragment (changelog.d/README.md excludes ADRs). Zero removed lines.

This Note is true once the Map hook is on statifier_blocks main (riddler/statifier_blocks#619); it should merge only after that request.

Direction check

Every claim checked by anchor. In this repository at e3141f4: ADR-0008's Context and Decision name the renderer's domain (compound states, parallel regions, history pseudo-states, cross-hierarchy transitions) and the data-* identity stamps from ADR-0007's sync contract; StatifierUI.Live's moduledoc section "The diagram is Mermaid source, and no Mermaid client ships" (lib/statifier_ui/live.ex) says the elkjs renderer "is not built yet", and StatifierUI.Diagram's moduledoc names the Mermaid backend as the first cut. In statifier_blocks at 43c584e (its main): docs/adr/0018-the-map-reads-the-view-model.md is at proposed; its decision (a) says the Map is built from the view model, one node per block, beside a host's list; decision (c) names the StatifierBlocksMap hook that lays out and draws the graph as SVG; decision (d) makes the view model the one input; "What this record does not decide" keeps any merge with this record's renderer out. The quoted title is that record's own H1 prefix. The Note's heading, date and position follow the two precedents above. git diff origin/main -- docs/adr/ removes no line.

Provenance

  • The Note says this record's renderer is not built yet. The bead states the relation as "this record's renderer lays out every SCXML state"; on main the package's diagram is still the Mermaid first cut, so the Note adds that sentence to stay true. It changes no decision.

Gate

Full mix quality on the committed tree, quoted whole:

==> ex_quality
Compiling 35 files (.ex)
Generated ex_quality app
==> statifier_ui
Running quality checks...

✓ Format: No changes needed (304ms)
✓ Compile: dev + test compiled (warnings as errors) (1.5s)

Running analysis stages in parallel...

○ Gettext: skipped (:gettext not installed)
○ Sobelow: skipped (:sobelow not installed)
✓ Doc links: 9 links checked (20ms)
✓ Dependencies: No unused dependencies (480ms)
✓ Doctor: Passed (860ms)
✓ Credo: No issues (2.0s)
✓ Docs: No warnings (2.2s)
✓ Tests: 1,208 of 1,208 passed, 93.7% coverage (4.5s)
⋯ Dialyzer: building PLT (this is a one-time cost)
✓ Dialyzer: No warnings (PLT built this run) (25.8s)

✓ All quality checks passed!

The two skips are the repository's declared not-applicable skips.

statifier_blocks ships a Map that lays out a block document's tree
with elkjs. A dated foot Note on ADR-0008 records the relation: the
renderer this record decides lays out a chart's SCXML states, the Map
lays out a block document, each is a projection of its own document
kind, neither replaces the other, and no merge is planned.

The Note also says that this record's renderer is not built yet: the
package draws the Mermaid first cut today (StatifierUI.Live's
moduledoc). It decides nothing and removes no line.

Refs: sui-dcj2
@johnnyt
johnnyt merged commit dfaa234 into main Sep 29, 2026
1 check passed
@johnnyt
johnnyt deleted the sui-dcj2-elk-renderer-note branch September 29, 2026 01:38
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.

1 participant