Package-level declarations
Types
A directive occurrence's arguments — all verbatim (unresolved). Resolve what you need through DirectiveContext; an argument nobody resolves is never evaluated.
A directive body's entire capability set. bindings form a child frame on the environment chain (nearest frame → outer frames → defs → state), giving shadowing and per-iteration isolation for free.
An immutable marker → Directive table — the resolver's only extension point.
RFC 6901 JSON Pointer — parse and data walk.
Conflict policy for DirectiveRegistry.merge.
The one failure type of Resolver.resolve: same inputs always produce the same tree or the same error — never a partial tree.
Turns a dynamic view template — a JoyDOM Spec containing $-marked directives — into a static document the renderer draws unchanged.
A creation-time finding from Resolver.validate. Authoring tools must run validation before persisting a document; Resolver.resolve never re-checks these (runtime name collisions are settled by precedence, not errors).
Functions
Builds a Directive from a lambda — keeps custom directives one expression.