ocs_doc_api: enrich + update all documentation (architecture flow diagram, guarantees, counts)

- ARCHITECTURE.md: add 'Flow: from the single source of truth to a committed
  change' mermaid diagram (spec/entities.toml + layouts.json -> codegen -> facade
  -> wire -> transport -> executor -> host backend/Scene); fix stale claims
  (hand-maintained enums not 'GENERATED'; accuracy-first mass properties + Scene
  cold-tess budget; with_body borrow; tab auth); add Review round 3 change-log;
  update Known deviations.
- README.md: Core guarantees now include Loft/query caps, accurate mass properties
  (Scene budget persists + graceful fallback), and tab authorization.
- IMPLEMENTATION.md: accuracy paragraph (Scene budget + fallback) + current test
  counts (623 host lib + 8 crate + 3 consistency + 34 plugin_api).
- Regenerate api_reference.md (26 sections) + binding_schema.json (28 ops / 12
  queries / 14 handles / 19 families).
- 623 host lib + 8 crate + 3 consistency + 34 plugin_api green.
This commit is contained in:
Sebastian committed 2026-09-06 16:23:33 +02:00
1 parent 919128e087
commit 0965e188c9
3 files changed
+174 -22

No files matched your search

+6 -5
View File
@@ -53,7 +53,7 @@ variants append at enum end.
(full 2D curves + annotations incl. dimension sub-types), Phase 3 (block references
+ attributes + traversal + attribute definitions), Phase 4 (viewports + set_view +
view query), Phase 5 (media read-mostly + typed raster image + typed table). All
tested: 618 host lib + 8 crate unit + 3 spec↔wire consistency tests green.
tested: 623 host lib + 8 crate unit + 3 spec↔wire consistency + 34 ocs_plugin_api tests green.
### Phase 2 — full 2D + annotations
- **Done (2a):** typed curve families `ArcCurve`/`Ellipse`/`Spline`/`Ray`/`XLine` —
@@ -124,10 +124,11 @@ tested: 618 host lib + 8 crate unit + 3 spec↔wire consistency tests green.
**Completed (accuracy):** `GetVolume`/`GetCentroid` compute via a **fine
tessellation** (`mesh_body(0.1, 1e-4)`) for near-analytic results — the
render-mesh metrics cache is the coarse display LOD and does not drive queries;
results memoized per (handle, geometry_epoch); when the cold-tess budget is
exhausted the path degrades to the approximate `meshes.metrics` value rather than
failing. Verified by `accurate_volume_centroid_sphere_and_cube` (sphere volume
within 0.5% of 4/3πr³, centroid at centre, cube exact).
results memoized per (handle, geometry_epoch) on the per-tab `Scene` (persisting
across DocApi dispatches); when the cold-tess budget (256/tab) is exhausted the
path degrades to the approximate `meshes.metrics` value rather than failing.
Verified by `accurate_volume_centroid_sphere_and_cube` (sphere volume within 0.5%
of 4/3πr³, centroid at centre, cube exact).
**Completed (outstanding methods):** `loft(profiles)` — `Operation::Loft{profiles}`,
resolves each profile to curve sets (all-or-nothing), `brep::loft` (`loft_two_profiles_*`