Skip to content

v0.5.0

Choose a tag to compare

@ferdinandobons ferdinandobons released this 08 Jun 21:48
· 59 commits to main since this release

Completes the block-type matrix: Word now renders every block type natively
(the toc block was the last to degrade), and Excel resolves a cell's semantic
number format to the template's own mask. Brand Profiles from 0.1.x-0.4.0 keep
working unchanged; an absent comprehension is still the deterministic path.

Added

  • Word toc blocks render natively. The toc block was the last block type
    that degraded instead of rendering; it now authors a real, updateable outline
    table-of-contents field. If the shell already carries an outline TOC the block
    defers to it (refreshed in place, never a duplicate); otherwise it authors a
    native outline TOC field at the block's position, with its visible cache filled
    from the generated headings and the field marked dirty + updateFields so Word
    rebuilds it on open. It defers only to an OUTLINE TOC, so a shell shipping only a
    table-of-figures still gets its requested table of contents. Byte-idempotent.
    Every Word block type now renders natively.
  • Excel resolves a cell's semantic number format. The number_format resolver
    type is now wired end-to-end (previously reserved/staged). extract classifies
    the template's own number-format masks into brand-agnostic families
    (currency/percent/date/datetime/time/accounting/decimal/integer/
    text/scientific) and emits a number.<family> role bound to the template's
    VERBATIM mask. A GridDocument names the intent via formats: {name: family}
    (keyed by the same named-range/cell vocabulary as cells/regions); generation
    resolves number.<family> and applies the template's own mask to the filled
    cell(s). A format is never fabricated: an intent the template does not carry
    degrades loudly (number_format_degraded) and leaves the existing format, and a
    resolver whose mask is not in the template's surfaced formats is rejected at
    validation.