This document synthesizes 52 research records added on 2026-08-29 from visual-effects interchange, game-engine asset systems, programming-language research on bidirectional transformation and layout verification, distributed-systems testing, and 2D-rendering conformance practice. Each pattern below is classified as borrowed (adopted as is), adapted (adopted with a stated change) or rejected (ruled out with the reason). Record identifiers (nuif:research:*) carry the locators; this document does not repeat them.
The 52 records synthesized here were reviewed from primary sources (specifications, source code at a named commit and papers with DOI). reviewed does not mean every material claim has completed locator-level verification; research/AUDIT.md defines the stricter verified state. Claims resting on one record inherit its evidence status as well as its confidence. Source conflicts remain explicit until an RFC or experiment resolves them.
Opinion strength ordering over composition arcs (LIVERPS)
openusd-composition-and-crate
Adapt: NUIF needs a total, documented resolution order for library, theme, variant and instance-override opinions; six arc kinds are more than a UI document needs
Reject: file-local identities orphan cross-file references on replacement; NUIF identities are global from creation
spec/02-identity-and-properties.md
Path-based addressing in patches
json-patch-rfc6902-and-merge-patch
Reject for entities; retain for property paths inside an identity-addressed operation
spec/06-operations-and-patches.md
Parent link and fractional position as one atomic property
figma-multiplayer-and-rendering-engineering
Adapt: parent and anchor move together; collaboration profiles may use list identifiers internally, while canonical operations use Start/After(id) anchors
RFC 0006, crates/nuif-protocol
Tree move with undo/redo of concurrent operations and cycle rejection, mechanized proof
crdt-tree-move-operation
Adapt for the collaboration profile; the canonical document keeps a totally ordered log and needs no replica metadata
spec/10-collaboration-profile.md
Random resource identifiers with path fallback and warnings
godot-tscn-scene-format
Borrow the fallback discipline for asset references; a resolved-by-path reference must be diagnosed
Adapt: each core record kind carries a version; migrations are pure functions registered per kind; reading a newer version than known is an error, not silent loss
spec/08-serialization.md, migrate command
Self-describing struct layout embedded in the file
blender-dna-rna-and-headless
Reject: NUIF encodings are schema-versioned, not struct-layout-described; the deterministic CBOR profile already carries structure
ADR 0004
Extension prefix registry with a status ladder that requires validator support before release
gltf-validator-and-sample-assets
Borrow: EXT namespaces are promoted only with a conformance fixture and validator rule
Borrow: the layout differential suite is generated, never edited by hand; divergences are classified per case
experiment layout-differential
Layout as SMT-solvable constraints with a visual assertion logic
cassius-web-layout-verification
Adapt: the assertion vocabulary (no overlap, containment, alignment, text fits) becomes a fixture-level oracle; the SMT encoding itself is out of scope because no formalization covers flex or grid
conformance/HARNESS.md
Relational constraint synthesis from multi-device examples
inferui-and-layout-synthesis
Adapt for import inference only; results are marked inferred with confidence
experiment layout-inference
Flexbox §9.9.1.2 placeholder and grid intrinsic-sizing divergences
css-flexbox-grid-algorithm-specs
Record: NUIF conformance cannot claim exact agreement where the CSS specification is implementation-defined; such cases are tolerance-tiered
The following were examined and excluded from the architecture; the reason is recorded so the question is not reopened without new evidence.
A self-describing binary struct layout (Blender DNA): solves version drift for one implementation but does not preserve data it cannot re-save and does not compose with a schema-versioned interchange model.
Memento undo as the canonical history: does not commute, cannot be merged, and bloats logs; inverse operations are required by spec/06.
Integer child indices in Move and Insert as the only order representation: non-commutative under concurrency; a list identifier is required for the collaboration profile and harmless for the canonical form.
GPU rendering as a normative oracle: implementation-defined by the WebGPU and WGSL specifications.
Perceptual UI screenshot tests as the primary editor test: platform-dependent text rendering makes them a shell-wiring check only.
Heuristic tree matching for NUIF-native merges: unnecessary with stable identity and a source of spurious moves.
Whole-project regeneration as the synchronization model: contradicted by the lens and delta-lens laws that NUIF’s patch model must satisfy (lenses-foster-boomerang, bidirectional-evaluation-direct-manipulation).
The records imply the following changes. Items 1–3 were decided by follow-up research on 2026-08-29 and are recorded as accepted RFCs; items 4–6 remain proposals.
Sibling order is a canonical array without keys; Insert and Move use anchors (Start, After(id)); the collaboration profile maps anchors onto a Fugue-family list CRDT (RFC 0006).
nuif-cbor-0 follows deterministic preferred serialization while preserving integer/real data-model identity; real zero is positive floating zero, text and CBOR key orders are distinct, strict decoders reject non-canonical input, text hashes through CBOR and strings remain verbatim (RFCs 0005 and 0008).
Entities of unknown kind load as Unknown with typed core fields and an opaque payload; ignorant implementations preserve bytes, knowing ones may re-encode; validation severities follow the glTF pattern (RFC 0007).
Every serialized record kind carries a schema version; migrations are registered pure functions; newer-than-known versions load as Unknown for entities (RFC 0007) and are diagnosed for other records.
Validation, import and export reports follow one schema with stable codes, severities and pointers.
Layout conformance declares tolerance tiers per case and classifies every divergence from a browser reference as schema loss, evaluator defect or implementation-defined behavior.