ocs_doc_api: Phase 2b-b (Hatch)

- CreateHatch(HatchSpec) op + GetHatchBoundary query (append-only).
- HatchSpec{boundary: Vec<[f64;2]>, solid}; executor validates >= 3 boundary points.
- backend add_hatch (Line-edge BoundaryPath, solid/pattern) + hatch_boundary
  (reconstruct loops from Line edges; non-line edges -> Unsupported).
- Hatch bounds from boundary edges; facade create_hatch + Entity handle.
- spec Hatch family; api_reference + binding_schema regenerated; mocks + baseline.
- Test phase2b_hatch_create_boundary_bounds_delete -> 606 host lib + 8 crate + 3 consistency green.
This commit is contained in:
Sebastian committed 2026-09-06 09:24:11 +02:00
1 parent fc0e2c2c9d
commit ba8e5ed0cd
16 files changed
+223 -3

No files matched your search

+21
View File
@@ -290,6 +290,27 @@ op = "SetTextContent"
args = [{ name = "value", ty = "&str" }]
returns = "()"
# ============================================================================
# HATCH FAMILY (phase 2b) — filled regions
# ============================================================================
[[family]]
name = "Hatch"
acadrust_variant = "Hatch"
handle = "Entity"
collection = "curves"
description = "Filled region over a closed polyline boundary. boundary() returns the loops; bounds from boundary; generic delete."
[[family.constructor]]
name = "create_hatch"
args = [{ name = "boundary", ty = "&[[f64; 2]]" }, { name = "solid", ty = "bool" }]
op = "CreateHatch"
[[family.method]]
name = "boundary"
kind = "query"
query = "GetHatchBoundary"
returns = "Vec<Vec<[f64; 2]>>"
# ============================================================================
# CONTAINER FAMILY (phase 3) — block references
# ============================================================================