#[non_exhaustive]pub enum Reason {
Show 31 variants
DataCountMatchesInitial,
DataCountClampedByOccurMax,
DataCountLiftedByOccurMin,
SubformMaterialisedFromData,
SubformMaterialisedFromInitial,
SubformSuppressedNoData,
PresenceHidden,
PresenceInvisible,
PresenceInactive,
PresenceVisible,
PaginateFitsCurrentPage,
PaginateDeferToNextPageMinH,
PaginateDeferToNextPageKeep,
PaginateSplit,
SuppressEmptyDataPageDropped,
SuppressCappedByFormDom,
SuppressStaticBindNonePreserved,
SuppressGatedByDataBoundSignal,
SuppressSkippedNoDataBoundSignal,
BindNoneFieldExcludedFromDataCheck,
StaticXfafTrimAllowed,
StaticXfafTrimBlocked,
InvisibleFieldBindingIgnored,
NonDataWidgetExcludedFromDataCheck,
BindNoneSubformExpansionSkipped,
ResolveLookupMiss,
MeasureSingleLine,
MeasureWrapped,
EmitOk,
StaticFallbackTaken,
Unspecified,
}Expand description
The reason behind a trace event — a closed vocabulary of decision codes.
§Stability policy
Each variant has a stable lower-snake-case tag. Variants may be added to the end of the enum without ceremony. Tags must never be renamed because committed snapshots reference them; a rename is a taxonomy bump and forces a snapshot regeneration.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
DataCountMatchesInitial
Number of dataset records matched the template’s occur.initial.
DataCountClampedByOccurMax
Dataset record count was clamped to occur.max.
DataCountLiftedByOccurMin
Dataset record count was lifted to occur.min.
SubformMaterialisedFromData
Subform was materialised because data was present.
SubformMaterialisedFromInitial
Subform was materialised because occur.initial > 0.
SubformSuppressedNoData
Subform instance was suppressed because no data was bound.
PresenceHidden
Node hidden by presence="hidden".
PresenceInvisible
Node hidden by presence="invisible".
PresenceInactive
Node hidden by presence="inactive".
PresenceVisible
Node visible by default or explicit presence="visible".
PaginateFitsCurrentPage
Container fits on the current page.
PaginateDeferToNextPageMinH
Container deferred to next page because of minH/overflow.
PaginateDeferToNextPageKeep
Container deferred because keep chain forbade splitting.
PaginateSplit
Container split across pages.
SuppressEmptyDataPageDropped
Empty data-bound page was dropped because real data binding was present elsewhere.
SuppressCappedByFormDom
Page suppression was capped by the form-DOM’s page area count.
SuppressStaticBindNonePreserved
Static bind=none page was preserved.
SuppressGatedByDataBoundSignal
suppress_empty_pages_only_when_real_data_bound ran and decided
the data-bound signal is present, so the suppression heuristic
is allowed to run.
SuppressSkippedNoDataBoundSignal
suppress_empty_pages_only_when_real_data_bound ran and decided
no real data binding occurred, so the suppression heuristic stays
off (e.g. blank-form output preserves all template pages).
BindNoneFieldExcludedFromDataCheck
exclude_bind_none_fields_from_page_data_suppression: at least
one field with <bind match="none"> was excluded from the page
data-field count. Emitted at most once per flatten with the
exclusion count attached to the decision string.
StaticXfafTrimAllowed
static_xfaf_excess_page_trim_with_form_dom_guard: static XFAF
surplus host pages may be trimmed under the form-DOM guard.
StaticXfafTrimBlocked
static_xfaf_excess_page_trim_with_form_dom_guard: the form DOM
(or the dynamic-template hint) prevented the static-trim path
from firing.
InvisibleFieldBindingIgnored
ignore_invisible_server_metadata_bindings_for_data_bound_signal:
at least one binding on an invisible / hidden / inactive field
was observed and ignored for purposes of the global data-bound
signal. Emitted at most once per merge with the total ignored
count attached to the decision string.
NonDataWidgetExcludedFromDataCheck
exclude_non_data_widgets_from_page_suppression: at least one
signature / button / barcode widget was excluded from the
per-page data-field count. Emitted at most once per flatten
with the total exclusion count attached.
BindNoneSubformExpansionSkipped
bind_none_subform_does_not_auto_expand: a subform with
<bind match="none"> was preserved as a single template
instance instead of being auto-expanded from datasets, even
though its <occur> would otherwise allow repetition
(XFA §4.4.3). Emitted per repeating named subform when the
rule actively blocks expansion.
ResolveLookupMiss
Generic SOM lookup miss; node not found.
MeasureSingleLine
Text measurement produced a single line.
MeasureWrapped
Text measurement produced a wrapped multi-line block.
EmitOk
Final emit completed for a node without remarks.
StaticFallbackTaken
pdf-xfa::flatten caught an inner-pipeline error (or
timeout) and served a non-XFA passthrough to the caller via
static_fallback. Carries a short decision summary (the
underlying error or “timeout”). Critical signal for fidelity
gates: a flatten that returns Ok with this event is not
real XFA output.
Unspecified
Unspecified reason; for callers without a more precise tag.