docs: make the change ready for upstream review

Remove personal names, local paths and fork-only process notes from code comments,
docs and the plugin manifest (repository now points at the upstream project), and
drop the handoff section from the plan.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Felix RiestraandClaude Sonnet 5 committed 2026-09-21 22:35:09 +02:00
1 parent c7c698eaad
commit 8f68006bea
8 files changed
+26 -45

No files matched your search

+1 -1
View File
@@ -119,7 +119,7 @@ expression, not statements). Phases 1.2 (read), 1.3 (2D write) and part of
| `ocs.remove_record(handle, app_name)` | Removes the XDATA record for `app_name` from `handle`, if any. Returns `True` if a record was actually removed. |
| `ocs.command(cmd)` | Superseded. Only the `experimental-command-replay` build has it (the old fire-and-forget replay). Use `doc.command`, `doc.start_command` and `doc.modify` from the document model (see "Running OCS commands" below). |
| `ocs.select(handles)` | Replaces the selection with exactly these handles, in order (document-model build); `doc.selection = [...]` is the same. |
| `ocs.system_variable(name)` / `ocs.set_system_variable(name, value)` | Development-only `experimental-host-settings` feature. Reads or sets host-managed CLAYER (text) and SNAPANG (degrees) without nested command dispatch. Requires the Felix OCS fork's `plugin/host-model-api` branch; absent from the portable default build. |
| `ocs.system_variable(name)` / `ocs.set_system_variable(name, value)` | Development-only `experimental-host-settings` feature. Reads or sets host-managed CLAYER (text) and SNAPANG (degrees) without nested command dispatch. Needs the host API v7 build that provides `system_variable`; absent from the portable default build. |
`add_line`/`add_circle`/`add_arc` take plain Python numbers —
`ocs.add_line(0, 0, 10, 10)` works with ints, not just floats. (Needed an
+1 -1
View File
@@ -24,7 +24,7 @@ needs.
| | Host-embedded | Plugin (this plan) |
|---|---|---|
| Requires OCS core changes / Hakan's buy-in | Yes | No — ships from an independent repo, installed via the existing Plugin Manager |
| Requires OCS core changes and maintainer sign-off | Yes | No — ships from an independent repo, installed via the existing Plugin Manager |
| Crash isolation | Relies on RustPython's memory safety alone | Gets OS-process isolation for free (plugins already run out-of-process) |
| Distribution | Bundled into every OCS release, forever | Opt-in install, versioned independently, can iterate fast |
| Cost | New maintenance burden on the host | Same ABI-pinning cost every plugin already has (see Phase 1, Risk) |
+1 -1
View File
@@ -90,7 +90,7 @@ pub struct FieldOverride {
#[serde(default)]
pub exclude: bool,
/// `ocs.add()` errors if this field is missing rather than silently
/// defaulting it to zero/empty (Felix's Phase 1 review: "add should
/// defaulting it to zero/empty (Phase 1 review feedback: "add should
/// reject missing required geometry rather than defaulting to zero").
/// Only meaningful on the generic (non-`rust_getter`/`rust_setter`)
/// path — `ocs.update()` never requires a field (a merge onto an
+1 -1
View File
@@ -5,7 +5,7 @@ version = "0.1.0"
description = "Embedded Python scripting (RustPython) for Open CAD Studio."
author = "Felix Riestra"
license = "GPL-3.0-only"
repository = "felixriestra/OpenCADStudio"
repository = "HakanSeven12/OpenCADStudio"
[opencad]
api_version = 7
+4 -4
View File
@@ -4257,7 +4257,7 @@ mod ocs {
//
// `get_entity` is deliberately a *new*, separate function rather than a
// change to `get()` above: existing scripts already depend on `get()`'s
// small `{handle, kind, layer, point}` shape (Felix's Phase 1 review —
// small `{handle, kind, layer, point}` shape (Phase 1 review feedback —
// don't break that compatibility to hand out the fuller schema).
/// Full entity schema for `handle` (every field the type registry knows
@@ -4552,7 +4552,7 @@ mod ocs {
/// Update `handle` by merging `entity`'s keys onto its *current* value —
/// a key `entity` doesn't mention is left exactly as it was, not reset to
/// a type default (Felix's Phase 1 review: reconstructing from a partial
/// a type default (Phase 1 review feedback: reconstructing from a partial
/// dict could silently drop properties this generic API can't represent
/// at all, e.g. color/line-weight/XDATA). Errors if `handle` doesn't
/// exist or isn't a supported kind.
@@ -5396,7 +5396,7 @@ mod ocs {
#[test]
fn add_rejects_missing_required_geometry_instead_of_defaulting_to_zero() {
with_vm(|vm| {
// Felix's Phase 1 review: a Circle with no center/radius must
// Phase 1 review feedback: a Circle with no center/radius must
// error, not silently become a zero-radius circle at the origin.
let dict = vm.ctx.new_dict();
dict.set_item("kind", vm.new_pyobj("Circle"), vm).unwrap();
@@ -5571,7 +5571,7 @@ mod ocs {
});
}
/// The concrete Phase 1 acceptance test Felix asked for: create, read,
/// The concrete Phase 1 acceptance test: create, read,
/// edit, delete, save, and reopen a Line and an Ellipse, with common
/// properties preserved — exercised against a real
/// `acadrust::CadDocument` and a real DWG round trip (not a fake