Map RasterImage with host-created image definitions

Scripts name an image file; the host reads its pixel size, creates and links
the ImageDefinition and derives size and the default clip boundary.
staged_python_raster_image_lifecycle_over_real_ipc passes every gate in OCS
with a real PNG. ACAD_IMAGE_DICT and reactor linkage are not created, so the
kind is recorded as integration-tested.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
Felix RiestraandClaude Sonnet 5 committed 2026-09-20 14:55:29 +02:00
1 parent d4c2520907
commit 7f65d6d373
10 files changed
+207 -13

No files matched your search

+1 -1
View File
@@ -94,7 +94,7 @@ The host-owned catalog classifies all 48 entity variants and tracks every
traced field, including fields marked `unmapped`. Query it with
`doc.coverage()` or `doc.coverage("Line")`; each row includes source field,
type, access, and current validation status. Geometry edits remain limited to
the 31 mapped kinds.
the 32 mapped kinds.
For any entity, `entity.snapshot` returns a detached dictionary of its raw
CAD fields, including `snapshot["common"]` and kind-specific nested values.
It can inspect an unmapped kind; editing the dictionary does
+12 -1
View File
@@ -30,7 +30,8 @@
"PolygonMesh",
"PolyfaceMesh",
"Mesh",
"Helix"
"Helix",
"RasterImage"
],
"manual_kinds": ["Dimension"],
"base_fields": ["handle", "layer", "owner_handle"],
@@ -340,6 +341,16 @@
"major_version": { "read_only": true },
"maintenance_version": { "read_only": true }
}
},
"RasterImage": {
"fields": {
"insertion_point": { "required": true },
"file_path": { "required": true },
"class_version": { "read_only": true },
"size": { "read_only": true, "_comment": "Pixel size of the image; the host takes it from the file." },
"definition_handle": { "read_only": true },
"definition_reactor_handle": { "read_only": true }
}
}
}
}
+1 -1
View File
@@ -4756,7 +4756,7 @@ mod tests {
);
}
}
assert_eq!(emitted.len(), 31);
assert_eq!(emitted.len(), 32);
}
#[cfg(feature = "experimental-host-model")]