Commit Graph
314 Commits
Author SHA1 Message Date
ramox81 a59ea47990 Complete UNION command behavior 2026-09-07 11:27:03 +03:00
Hakan Seven d66e89ca19 Complete application localization across all supported languages 2026-09-07 01:05:02 +03:00
Hakan Seven 3385160493 Merge PR #1028: add document API with atomic edits
Add the typed document facade and plugin IPC adapter. Prepare bulk edits
before mutation, preserve undo and dirty state, keep profile elevations,
validate numeric inputs and session bindings, and generate Python constructors
with typed results.

Reuse existing entity transforms and profile conversion. Compute mass
properties and closed-surface bounds in cadkernel; pin its main revision
6a5e6fc2822f6af6b2611cd605b44437b35158f0. Keep plugin API metadata at version 6.

Validation: 646 native application tests, 597 kernel tests, 12 document API
tests, 91 plugin API tests, 3 Python tests, default/IPC feature builds and
wasm32 check passed.
2026-09-06 21:43:02 +03:00
github-actions[bot] ddbbdd27ba Release v2026.36 2026-09-06 12:27:42 +00:00
Hakan Seven 2ebad14586 fix(web): capture save previews from the browser canvas
Capture the rendered canvas during the clean frame instead of requesting synchronous GPU buffer readback. Preserve embedded previews and allow saving when canvas readback is denied. Add a browser save and reopen regression check.

Fixes #1021
2026-09-06 13:14:56 +03:00
Sebastian e41086b058 Add ocs_doc_api: object-oriented CAD entity API (v2)
New crate crates/ocs_doc_api: object-centric facade (DocApi -> Document ->
collections -> typed handles), transport-agnostic wire layer (DocApiEnvelope =
single op | read-only query batch), per-op autocommit (no write transactions),
bulk ops with upfront-validation all-or-nothing, structured ApiError, and
build-time codegen (spec/entities.toml -> ops/query enums, api_reference.md,
binding_schema.json).

ocs_plugin_api: append-only PluginRequest::DocApiRequest / PluginResponse::
DocApiResponse (serde_bytes payload) + defaulted HostApi::doc_api_dispatch.

Host: DocApiBackend impl for HostSession (src/app/doc_api.rs) mapping to scene
primitives (solid_models lift-on-miss, register_prepared_solid_model, meshes
metrics), entity conversions (doc_api_convert.rs), HostSession accessors +
doc_api_dispatch override.

Tests: 592 host lib (incl. 7 DocApi integration tests: create/boolean/query,
unknown-id, transform-many all-or-nothing, query-batch cap, 2D/geometric/DWG
roundtrips), 8 crate unit tests. Examples + README/ARCHITECTURE/IMPLEMENTATION docs.
2026-09-06 00:15:27 +02:00
Hakan Seven 071e224d26 Add client-neutral native MCP control 2026-09-04 23:27:03 +03:00
Hakan Seven 28cc473062 Add persistent live OpenCADStudio control 2026-09-04 22:25:55 +03:00
Hakan Seven 9026017cd0 Pin reviewed codec and kernel fixes 2026-09-04 19:34:38 +03:00
ramox81 22e707072d Update kernel for deep negative PRESSPULL cuts 2026-09-04 16:49:19 +03:00
ramox81 c9c5b35d29 Retain native PRESSPULL surface data across CAD formats 2026-09-04 15:53:15 +03:00
ramox81 43c7992967 Use corrected mixed-profile extrusion kernel 2026-09-04 15:33:31 +03:00
ramox81 9279384e9a Complete PRESSPULL selection, face editing and extrusion history 2026-09-04 15:31:30 +03:00
ramox81 509e4b7e7f Use stable repeated binary CAD serialization 2026-09-04 13:52:18 +03:00
ramox81 6e3c625e34 Use persistent LOFT surface history 2026-09-04 13:42:09 +03:00
ramox81 8bd8ff3e33 Fix LOFT scripted picks and binary history persistence 2026-09-04 13:31:11 +03:00
ramox81 c995995db5 Use orientation-safe loft guide curves 2026-09-04 13:18:51 +03:00
ramox81 abb8c91ca7 Use complete loft curve and orientation handling 2026-09-04 13:10:48 +03:00
ramox81 479bf87988 Complete LOFT commands, surfaces, previews and editable history 2026-09-04 13:03:33 +03:00
ramox81 ad47b17603 Complete SWEEP command options and kernel integration 2026-09-04 11:15:44 +03:00
ramox81 44c94d1da1 Avoid surface meshes in live sweep previews 2026-09-04 10:24:56 +03:00
Hakan Seven edd3faeeae fix(save): decouple native saves from screenshots (#956) 2026-09-03 21:06:19 +03:00
Hakan Seven a581636aea fix(save): handle screenshot map failures (#956) 2026-09-03 20:45:00 +03:00
Hakan Seven b5a926cc20 Merge remote-tracking branch 'origin/main' into review/pr-986
# Conflicts:
#	Cargo.lock
#	Cargo.toml
2026-09-03 19:52:20 +03:00
Hakan Seven 89b1a22850 fix: render multi-loop hatches completely 2026-09-03 19:38:17 +03:00
ramox81 96811c1fe9 Update revolution surface kernel 2026-09-03 16:43:10 +03:00
ramox81 1a913ee640 Fix revolve angle and wireframe display 2026-09-03 16:24:43 +03:00
ramox81 5bbb0bbe1f Harden revolve validation and properties 2026-09-03 15:01:38 +03:00
ramox81 2e112f9aeb Complete revolve workflow and properties 2026-09-03 13:40:23 +03:00
Hakan Seven 4679eb2a5e fix: finish extrude grip preview integration 2026-09-03 12:52:03 +03:00
ramox81 ea6eb58c53 Fix extruded solid grip preview and taper range 2026-09-03 10:35:02 +03:00
Hakan Seven b1deec753c Merge main and preserve revolve history grips 2026-09-02 18:05:50 +03:00
Hakan Seven 47549b168b Merge main and preserve loft history grips 2026-09-02 17:56:00 +03:00
Hakan Seven fe669b7d90 fix(extrude): preserve region profiles 2026-09-02 17:41:21 +03:00
ramox81 15c44c0f3a Restore revolve profile and axis grips 2026-09-02 17:01:35 +03:00
ramox81 7fbde18151 Restore loft section grip editing 2026-09-02 16:26:14 +03:00
ramox81 d23a910de7 Align EXTRUDE command state and path behavior 2026-09-02 11:29:59 +03:00
ramox81 847d218c35 Complete EXTRUDE behavior and properties 2026-09-02 10:25:00 +03:00
Hakan Seven 5c7e8976e1 fix(sweep): validate property geometry 2026-09-02 00:51:20 +03:00
ramox81 529ecd8cd6 Merge remote-tracking branch 'fork/codex/polysolid-parity' into codex/polysolid-parity
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	src/scene/model/solid_history.rs
2026-09-01 23:14:21 +03:00
ramox81 8ec47061fe Align polysolid sweep properties 2026-09-01 23:10:40 +03:00
Hakan Seven 227a41ec59 fix(polysolid): preserve kernel history behavior 2026-09-01 23:09:35 +03:00
Hakan Seven efd4765c8f Merge remote-tracking branch 'origin/main' into review-pr-955
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	src/scene/model/solid_history.rs
2026-09-01 22:56:53 +03:00
ramox81 8a23ecb085 fix(model): use mitered polysolid sweeps 2026-09-01 22:42:46 +03:00
ramox81 1dd6b115cf feat(model): align polysolid workflow 2026-09-01 22:01:43 +03:00
ramox81 9aa720bec0 Use closed-hole torus kernel 2026-09-01 12:39:37 +03:00
ramox81 0bfa48909f Match pyramid creation and properties behavior 2026-09-01 10:38:05 +03:00
Hakan Seven 6d6defa0ad fix(color): show color book identity 2026-09-01 08:44:28 +03:00
Hakan Seven 7ea4f338f6 fix(render): preserve transparency inheritance
Resolve ByBlock alpha independently from color and keep explicit opaque values from falling back to layer transparency.

Pin the matching cadcodec API across desktop, plugin, and web targets.

Refs HakanSeven12/cadcodec#2
2026-08-31 22:48:57 +03:00
Hakan Seven 72669f58f3 feat(model): complete cone workflow 2026-08-31 22:07:49 +03:00