Liking cljdoc? Tell your friends :D

scicloj.plotje.impl.compositor

Composite-pose chrome layout, composite-pose->draft, and composite-draft->plan. Pure data-side: shared-scale reconciliation, chrome geometry computation, per-leaf opt adjustment. The plan-to-membrane rendering for composites lives in render/composite.clj, keeping this namespace free of membrane dependencies.

Shared scales are reconciled before drafting by stamping a forced domain on matching leaves (impl.pose/inject-shared-scales).

When the composite root carries a legend-producing mapping (:color/:size/:alpha), the chrome reserves a strip on the right of the grid; the per-leaf opts get :suppress-legend true so each cell hides its own legend, and the rendering side (render/ composite.clj) draws ONE shared legend in the reserved strip.

Composite-pose chrome layout, composite-pose->draft, and
composite-draft->plan. Pure data-side: shared-scale reconciliation,
chrome geometry computation, per-leaf opt adjustment. The
plan-to-membrane rendering for composites lives in
`render/composite.clj`, keeping this namespace free of membrane
dependencies.

Shared scales are reconciled before drafting by stamping a forced
domain on matching leaves (impl.pose/inject-shared-scales).

When the composite root carries a legend-producing mapping
(:color/:size/:alpha), the chrome reserves a strip on the right
of the grid; the per-leaf opts get :suppress-legend true so each
cell hides its own legend, and the rendering side (render/
composite.clj) draws ONE shared legend in the reserved strip.
raw docstring

composite-draft->planclj

(composite-draft->plan composite-draft)

Convert a CompositeDraft into a CompositePlan. Per sub-draft, this calls draft->plan to produce a leaf plan and wraps it with its rect and path in :sub-plots. The shared-legend spec is computed once from a representative leaf draft (eliminating the rep-leaf-plan N+1 issue from the round-2 internals review).

Convert a CompositeDraft into a CompositePlan. Per sub-draft, this
calls draft->plan to produce a leaf plan and wraps it with its rect
and path in :sub-plots. The shared-legend spec is computed once
from a representative leaf draft (eliminating the rep-leaf-plan
N+1 issue from the round-2 internals review).
sourceraw docstring

composite-pose->draftclj

(composite-pose->draft composite)

Resolve a composite pose into a CompositeDraft. Each sub-draft entry carries the leaf's path, its rect inside the composite, the contextualized leaf draft (shared-scale domains injected, per-leaf opts adjusted), and the per-leaf opts (width/height merged from the rect).

Per-leaf draft contextualization happens here, not at plan stage:

  • Shared-scale domains are stamped via inject-shared-scales / apply-shared-scale-domains, so per-leaf drafts carry forced :x-scale / :y-scale.
  • Matrix-layout strip labels suppress the per-leaf x-label / y-label (so axis labels appear only on the strip, not inside each cell).

The chrome-spec captures the resolved chrome geometry for the composite as a whole; the layout map (path -> rect) is kept as a first-class field on the CompositeDraft so downstream stages do not need to recompute layout from the original pose tree.

Resolve a composite pose into a CompositeDraft. Each sub-draft entry
carries the leaf's path, its rect inside the composite, the
contextualized leaf draft (shared-scale domains injected,
per-leaf opts adjusted), and the per-leaf opts (width/height
merged from the rect).

Per-leaf draft contextualization happens here, not at plan stage:
  - Shared-scale domains are stamped via inject-shared-scales /
    apply-shared-scale-domains, so per-leaf drafts carry forced
    :x-scale / :y-scale.
  - Matrix-layout strip labels suppress the per-leaf x-label /
    y-label (so axis labels appear only on the strip, not inside
    each cell).

The chrome-spec captures the resolved chrome geometry for the
composite as a whole; the layout map (path -> rect) is kept as a
first-class field on the CompositeDraft so downstream stages do
not need to recompute layout from the original pose tree.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close