Resolve a set's root-manifest entry and its own manifest's entry into the one ParsedSet to project (engine#246, step 3).
The fields in ROOT_OWNED_SET_FIELDS come from the root entry; every
other field from the set manifest. Either way, a value one file leaves
absent or null is taken from the other, so the projection defaults
apply only when both are silent. Neither input is mutated.
learn-content-engine — framework-agnostic content parse/transform engine.
Public API: the source→canonical boundary. A source adapter turns raw content (today: a single-JSON lesson) into the canonical internal lesson object (ContentLesson); the manifest transform projects a raw
manifest.yamlset into a canonical ContentSetEntry.The library is framework-agnostic: no fetch, no database, no UI. The consumer supplies the raw bytes + set context and keeps network/persistence.