forked from 1b-agent/opencadstudio-upstream
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:
1 parent
919128e087
commit
0965e188c9
3 files changed
+174
-22
No files matched your search
@@ -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.
|
||||
|
||||
|
||||
Reference in new issue
Block a user