forked from 1b-agent/opencadstudio-upstream
ocs_doc_api: update docs + fix review-drift findings
- lib.rs: export all 14 facade handles (add ArcCurve/Ellipse/Spline/Ray/XLine/Text/ MText/Dimension + Circle) — public surface matches collection return types. - build.rs: fix step-1 comment (enums are hand-maintained, not 'regenerated'); generic_reference_md: Clone (not Copy) + full 14-handle list (was stale 6). - ops.rs/query.rs: correct 'hand-maintained' module doc comments (were 'GENERATED'). - layouts.json: extend to all 22 Operation + 12 Query variants (was stale phase-1). - binding_schema.json regenerated (complete layouts + derived handles). - generate.py: inject 'id': self.id for SetTextContent/SetAttribute/SetViewportView/ Transform/Delete/AddVertex (was malformed id-less payloads); _apply_op/_apply_query accept want=None; extend PY_TYPES (String/&str/Vec returns/new handles). - README.md: Clone (not Copy) + full scope (2D curves, annotations, containers, viewports, media) replacing stale 'Not yet' list. - Plan (.kilo): mark implemented & published; pointer to live crate docs.
This commit is contained in:
1 parent
8417375e5a
commit
a9c278e32a
9 files changed
+90
-32
No files matched your search
@@ -41,7 +41,7 @@ fn intersect_solids(api: &DocApi) -> ApiResult<()> {
|
||||
([`InProcess`]) or over the `ocs_plugin_api` IPC channel ([`OcsPluginApiIpc`]);
|
||||
only the `Transport` differs. The host executes them through one crate-owned
|
||||
executor.
|
||||
- **Stable across async IPC** — handles are `Copy`, `Send`, `Sync` `{ObjectId,
|
||||
- **Stable across async IPC** — handles are `Clone`, `Send`, `Sync` `{ObjectId,
|
||||
Arc<Session>}` tokens, safe to share across plugin worker threads. A stale
|
||||
handle's methods return `ApiError::UnknownId`, never a panic.
|
||||
|
||||
@@ -67,10 +67,20 @@ fn intersect_solids(api: &DocApi) -> ApiResult<()> {
|
||||
booleans (union/intersect/subtract), transform, and queries
|
||||
(bounds/volume/centroid). Host resolves bodies via the `solid_models` cache
|
||||
(lift-on-miss from ACIS SAT).
|
||||
- **Minimal 2D** — line, circle, polyline, point (construction + bounds); used as
|
||||
boolean/sweep inputs.
|
||||
- Not yet: sweep/revolve profiles, `AddVertex`, non-solid transforms, annotations,
|
||||
containers (insert/block), viewports, media. See `IMPLEMENTATION.md`.
|
||||
- **Solids** — primitives (cuboid, sphere, cylinder, cone, torus, wedge), sweep
|
||||
(`extrude`/`revolve` from profiles, `loft` multi-profile), booleans
|
||||
(union/intersect/subtract), transform, and queries (bounds/volume/centroid).
|
||||
Host resolves bodies via the `solid_models` cache (lift-on-miss from ACIS SAT).
|
||||
- **2D curves** — line, circle, arc, polyline (`add_vertex`), point (incl. bulk),
|
||||
ellipse, spline, ray, xline; construction + bounds + transform (solids & 2D via
|
||||
`transform`/`transform_many`).
|
||||
- **Annotations** — `Text`/`MText` (create + `content`/`set_content`), `Hatch`
|
||||
(create + `boundary` query), linear `Dimension` (create + `measurement`).
|
||||
- **Containers** — `create_insert` (block references) + `attributes`/`set_attribute`
|
||||
+ `block_entities` (read-only nested block traversal).
|
||||
- **Paper-space** — `create_viewport` + `set_view` (retarget/re-zoom) + `viewport_view`.
|
||||
- **Media** — `create_raster_image`; other media families read-only (`EntityView`).
|
||||
- See `IMPLEMENTATION.md` for the full capability matrix and phased roadmap.
|
||||
|
||||
## Features
|
||||
|
||||
|
||||
Reference in new issue
Block a user