ocs_doc_api: Phase 2c-ii — dimension sub-types (radius/diameter/angular)

- CreateDimensionRadius/CreateDimensionDiameter (DimensionRadialSpec) +
  CreateDimensionAngular (DimensionAngularSpec) ops (append-only).
- backend add_dimension_radius/diameter (DimensionRadius/DimensionDiameter::new)
  + add_dimension_angular (DimensionAngular3Pt::new computes angle);
  dimension_measurement returns degrees for angular sub-types.
- facade create_dimension_radius/diameter/angular; spec constructors; api_reference
  + binding_schema regenerated; mocks + baseline.
- Test phase2cii_dimension_radius_diameter_angular -> 613 host lib + 3 consistency green.
This commit is contained in:
Sebastian committed 2026-09-06 12:31:23 +02:00
1 parent 2522979285
commit 8d8c120880
12 files changed
+205 -3

No files matched your search

+18
View File
@@ -269,6 +269,24 @@ pub fn apply_op<B: DocApiBackend>(b: &mut B, op: Operation) -> ApiResult<Receipt
b.finalize_op();
OpOutcome::NewId(id)
}
Operation::CreateDimensionRadius(spec) => {
b.push_undo(name);
let id = b.add_dimension_radius(spec)?;
b.finalize_op();
OpOutcome::NewId(id)
}
Operation::CreateDimensionDiameter(spec) => {
b.push_undo(name);
let id = b.add_dimension_diameter(spec)?;
b.finalize_op();
OpOutcome::NewId(id)
}
Operation::CreateDimensionAngular(spec) => {
b.push_undo(name);
let id = b.add_dimension_angular(spec)?;
b.finalize_op();
OpOutcome::NewId(id)
}
};
Ok(Receipt {
outcome: Some(outcome),