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

+10 -2
View File
@@ -56,8 +56,16 @@ fn intersect_solids(api: &DocApi) -> ApiResult<()> {
`brep::combine` is pure; `erase_sources` runs only on success.
- **Bulk ops** (`CreateMany`/`TransformMany`/`DeleteMany`, and read-only query
batching) are single ops, **all-or-nothing via upfront validation** (no
rollback), item-capped — for bulk data (see `ARCHITECTURE.md` § Performance).
- **Structured errors** — `ApiError::{Validation, Geometry, UnknownId,
rollback), item-capped — for bulk data (see `ARCHITECTURE.md` § Performance).
`Loft` and query batches are item-capped the same way (no unbounded kernel call
from one request).
- **Accurate mass properties.** `volume`/`centroid` use a fine tessellation for
near-analytic results, memoized per (handle, geometry_epoch) on the per-tab
scene; the cold-tessellation budget (256/tab) persists across dispatches and
degrades to the coarse mesh value when exhausted.
- **Tab authorization.** A request must name the tab the session is bound to;
mismatched `tab_id` is rejected (no cross-tab access).
- **Structured errors** — `ApiError::{Validation, Geometry, UnknownId,
Unsupported, Transport}`, serializable so IPC returns the same error the
in-process executor produced.