1.3 KiB
Extraction model
Extraction nodes contain actual engine match/capture values and ranges. The syntax tree supplies capture names and parent relationships; engine results supply participation, value and offsets.
Statuses distinguish:
- participated with non-empty text;
- participated and matched empty;
- did not participate;
- unavailable range;
- preview-truncated value.
Exact match and capture ranges are retained even when a displayed value exceeds the 64 Ki UTF-16 per-value preview limit or the shared 8 Mi-unit preview budget. Consumers must inspect the preview status rather than treating a preview as complete. In particular, list export is disabled if its template would consume an incomplete value.
Repeated ECMAScript, PCRE2, Python and Java captures expose only the final retained capture. The UI labels this limitation and does not invent history. Later .NET support may add actual engine capture-history nodes without degrading them to this model.
The syntactic hierarchy remains useful even if actual spans overlap or fall outside a parent's geometry; native and normalized ranges are preserved rather than “fixed”. ECMAScript and Java native offsets are UTF-16 code units, PCRE2 native offsets are UTF-8 bytes and Python native offsets are Unicode code points. All editor ranges are normalized to UTF-16 without discarding the native unit.