Problem
Intl.DateTimeFormat.prototype.format still builds a structural DtfPart list, allocates each formatted numeric field, optionally performs a second digit-translation pass over those parts, and then concatenates every part into the returned string. That work is necessary for formatToParts and interval analysis, but not for text-only formatting.
This remains after #572 compiled immutable resolved formatter state.
Scope
- Introduce one authoritative DateTimeFormat emission algorithm with direct text and structural-parts sinks.
- Stream text-only formatting directly into the final byte buffer, including non-Latin digit translation as fields are emitted.
- Keep exact part boundaries for
formatToPartsand range formatting without duplicating locale/calendar/Temporal ordering logic. - Preserve coercion order, TimeClip errors, Temporal field restrictions, OOM behavior, GC safety, and read-only no-GIL sharing.
- Measure exact-parent text/parts/range controls and retain exact test262 DateTimeFormat and Temporal results.
Out of scope
- New CLDR interval-pattern coverage.
- Constructor resolved-state work (completed in #572).
- Promise/microtask/Worker/job lifecycle work.