Optional ReadonlyblockClose condition for the current block. The paragraph parser calls it to decide when to stop collecting inline content.
Optional ReadonlydivBudget for div nesting: tracks how many more nested divs can open.
Optional ReadonlyexcludedBlock names excluded from paragraph-boundary detection.
ReadonlyfootnoteUsed by the footnote-block rule to reject duplicate top-level occurrences.
Scope is per spread copy of ParseContext, not document-global. This keeps
the original primitive semantics while avoiding rollback-unsafe shared state.
Per-scope state propagated by spread + override semantics.
Every field is
readonlyso a rule cannot accidentally mutate the parent scope by writing through a shared reference. Updates must be expressed as a replacement:ctx.scope = { ...ctx.scope, X: ... }.