pub fn project_document(doc: &str) -> Vec<ComponentOccurrence>Expand description
Project a parsed document body into ordered keyed item sequences, one per component occurrence.
Components whose body is not item-structured (not a list component and not
exchange, or with no splittable / uniquely-keyed children) are projected as
a single whole-component item keyed component:occurrence:body:0 — so the
diff degrades to a whole-component Update (still scoped to that occurrence,
never cross-component) exactly where the live merge would fall back to the
flat path.