ocs_doc_api: Phase 2b-c (linear Dimension) — Phase 2 complete

- CreateDimensionLinear(DimensionSpec) op + GetDimensionMeasurement query (append-only).
- backend add_dimension_linear (Dimension::Linear via DimensionLinear::new) +
  dimension_measurement (linear/radius/diameter distance).
- Dimension bounds from measured + definition points; Dimension handle + measurement().
- spec Dimension family; api_reference + binding_schema regenerated; mocks + baseline.
- Test phase2c_dimension_linear_create_measurement_bounds -> 607 host lib + 8 crate
  + 3 consistency green. Phase 2 (full 2D + annotations) is now complete.
This commit is contained in:
Sebastian committed 2026-09-06 09:43:37 +02:00
1 parent ba8e5ed0cd
commit 2dba0158ca
16 files changed
+209 -3

No files matched your search

@@ -57,6 +57,7 @@ fn operation_variants() -> Vec<String> {
Operation::CreateMText(ocs_doc_api::ops::MTextSpec { value: String::new(), insertion_point: [0.0; 3], height: 0.0 }),
Operation::SetTextContent { id: ObjectId::from_u64(0), value: String::new() },
Operation::CreateHatch(ocs_doc_api::ops::HatchSpec { boundary: vec![], solid: true }),
Operation::CreateDimensionLinear(ocs_doc_api::ops::DimensionSpec { first_point: [0.0; 3], second_point: [0.0; 3], definition_point: [0.0; 3] }),
];
// Derive the variant names by serializing a probe of each and reading the
// bincode variant index -> name map is not available; instead match by
@@ -83,6 +84,7 @@ fn query_variants() -> Vec<String> {
Query::GetGeometryRevision,
Query::GetTextContent { id: ObjectId::from_u64(0) },
Query::GetHatchBoundary { id: ObjectId::from_u64(0) },
Query::GetDimensionMeasurement { id: ObjectId::from_u64(0) },
];
marker
.iter()
@@ -137,6 +139,7 @@ const OPERATION_BASELINE: &[&str] = &[
"CreateMText",
"SetTextContent",
"CreateHatch",
"CreateDimensionLinear",
];
/// Recorded baseline of the `Query` variant order.
@@ -149,6 +152,7 @@ const QUERY_BASELINE: &[&str] = &[
"GetGeometryRevision",
"GetTextContent",
"GetHatchBoundary",
"GetDimensionMeasurement",
];
#[test]