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
@@ -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_*`
|
||||
|
||||
Reference in new issue
Block a user