From c0a3236836790a27811d6ad107cbec101e47db2f Mon Sep 17 00:00:00 2001 From: forbes-0023 Date: Thu, 5 Mar 2026 10:44:03 -0600 Subject: [PATCH] docs(fix): add cross-links between C++ and Python origin docs (#165) - Fix 5 broken links to nonexistent docs (custom-origin-python.md, python-silo-origin.md, python-custom-origin-guide.md) by pointing to closest existing content - Add Python cross-references (kcsdk-python.md, silo guide) to 7 C++ origin doc See Also sections - Add C++ foundation links (OriginManager, FileOrigin, FileOriginPython, CommandOrigin) to kcsdk-python.md and guide/silo.md - 9 files updated, 16 cross-links added --- docs/src/guide/silo.md | 8 ++++++++ docs/src/reference/cpp-command-origin.md | 5 +++-- docs/src/reference/cpp-custom-origin-guide.md | 10 +++++++--- docs/src/reference/cpp-file-origin-python.md | 6 ++++-- docs/src/reference/cpp-file-origin.md | 5 ++++- docs/src/reference/cpp-local-file-origin.md | 3 ++- docs/src/reference/cpp-origin-manager.md | 4 ++++ docs/src/reference/cpp-origin-selector-widget.md | 2 ++ docs/src/reference/kcsdk-python.md | 6 ++++++ 9 files changed, 40 insertions(+), 9 deletions(-) diff --git a/docs/src/guide/silo.md b/docs/src/guide/silo.md index 43efc69d99..884b7f4ca0 100644 --- a/docs/src/guide/silo.md +++ b/docs/src/guide/silo.md @@ -149,3 +149,11 @@ mods/silo/ - `mods/silo/README.md` — server quickstart and CLI usage - `mods/silo/ROADMAP.md` — strategic roadmap (6 phases, Q2 2026 → Q4 2027) +- [FileOrigin Interface (C++)](../reference/cpp-file-origin.md) — abstract + interface that `SiloOrigin` implements via the Python bridge +- [FileOriginPython Bridge (C++)](../reference/cpp-file-origin-python.md) — + how `SiloOrigin` connects to the C++ origin system +- [OriginManager (C++)](../reference/cpp-origin-manager.md) — singleton + registry where `SiloOrigin` is registered +- [CommandOrigin (C++)](../reference/cpp-command-origin.md) — file menu + commands that dispatch to `SiloOrigin` diff --git a/docs/src/reference/cpp-command-origin.md b/docs/src/reference/cpp-command-origin.md index f895328554..4eccad3690 100644 --- a/docs/src/reference/cpp-command-origin.md +++ b/docs/src/reference/cpp-command-origin.md @@ -138,5 +138,6 @@ User clicks File > Commit (or Ctrl+Shift+C) `findOwningOrigin()` used by every command - [FileOriginPython](./cpp-file-origin-python.md) — bridges the dispatch from C++ to Python origins -- [SiloOrigin adapter](./cpp-file-origin.md) — Python implementation - that handles the actual Silo operations +- [Silo Guide — Origin Integration](../guide/silo.md#origin-integration) — + Python `SiloOrigin` that handles the actual Silo operations +- [KCSDK Python API](./kcsdk-python.md) — Python SDK origin functions diff --git a/docs/src/reference/cpp-custom-origin-guide.md b/docs/src/reference/cpp-custom-origin-guide.md index 36b804aa4b..f6ef7531d8 100644 --- a/docs/src/reference/cpp-custom-origin-guide.md +++ b/docs/src/reference/cpp-custom-origin-guide.md @@ -2,7 +2,7 @@ This guide walks through implementing and registering a new `FileOrigin` backend in C++. By the end you will have a working origin that appears in the toolbar selector, responds to File menu commands, and integrates with the command dispatch system. -For the Python equivalent, see [Creating a Custom Origin in Python](./python-custom-origin-guide.md). +For the Python equivalent, see the [FileOriginPython Bridge](./cpp-file-origin-python.md) documentation and the [Silo Guide — Origin Integration](../guide/silo.md#origin-integration) for a real-world example. ## Prerequisites @@ -530,8 +530,12 @@ No changes are needed to `CommandOrigin.cpp`, `OriginSelectorWidget.cpp`, or `Wo - [FileOrigin Interface](./cpp-file-origin.md) — complete API reference - [LocalFileOrigin](./cpp-local-file-origin.md) — reference implementation (simplest origin) -- [FileOriginPython Bridge](./cpp-file-origin-python.md) — how Python origins connect to the C++ layer -- [Creating a Custom Origin in Python](./python-custom-origin-guide.md) — Python alternative (no rebuild needed) +- [FileOriginPython Bridge](./cpp-file-origin-python.md) — how Python + origins connect to the C++ layer (no rebuild needed) +- [KCSDK Python API](./kcsdk-python.md) — `register_origin()` and + document-origin Python bindings +- [Silo Guide — Origin Integration](../guide/silo.md#origin-integration) — + real-world Python origin implementation - [OriginManager](./cpp-origin-manager.md) — registration and document resolution - [OriginSelectorWidget](./cpp-origin-selector-widget.md) — toolbar UI integration - [CommandOrigin](./cpp-command-origin.md) — command dispatch diff --git a/docs/src/reference/cpp-file-origin-python.md b/docs/src/reference/cpp-file-origin-python.md index 14941a0c67..15bce3aa59 100644 --- a/docs/src/reference/cpp-file-origin-python.md +++ b/docs/src/reference/cpp-file-origin-python.md @@ -253,5 +253,7 @@ FreeCADGui.addOrigin(py_obj) gets registered - [CommandOrigin](./cpp-command-origin.md) — commands that dispatch through this bridge -- [Creating a Custom Origin (Python)](../guide/custom-origin-python.md) - — step-by-step guide using this bridge +- [Silo Guide — Origin Integration](../guide/silo.md#origin-integration) — + real-world Python origin using this bridge +- [KCSDK Python API](./kcsdk-python.md) — Python SDK wrappers for + `register_origin()` and document-origin functions diff --git a/docs/src/reference/cpp-file-origin.md b/docs/src/reference/cpp-file-origin.md index 94a363c1a9..d70601b1d9 100644 --- a/docs/src/reference/cpp-file-origin.md +++ b/docs/src/reference/cpp-file-origin.md @@ -196,4 +196,7 @@ fallback** — it owns any document that no other origin claims. - [OriginSelectorWidget](./cpp-origin-selector-widget.md) — toolbar dropdown for switching origins - [Creating a Custom Origin (C++)](../guide/custom-origin-cpp.md) -- [Creating a Custom Origin (Python)](../guide/custom-origin-python.md) +- [KCSDK Python API](./kcsdk-python.md) — Python bindings for origin + registration and document-origin resolution +- [Silo Guide — Origin Integration](../guide/silo.md#origin-integration) — + `SiloOrigin` as a real-world `FileOrigin` implementation in Python diff --git a/docs/src/reference/cpp-local-file-origin.md b/docs/src/reference/cpp-local-file-origin.md index ce7d5ab611..933eebf6f8 100644 --- a/docs/src/reference/cpp-local-file-origin.md +++ b/docs/src/reference/cpp-local-file-origin.md @@ -215,4 +215,5 @@ static const char* PREF_CURRENT_ORIGIN = "CurrentOriginId"; - [FileOrigin Interface](./cpp-file-origin.md) — abstract base class - [OriginManager](./cpp-origin-manager.md) — singleton registry and document resolution - [FileOriginPython Bridge](./cpp-file-origin-python.md) — Python adapter for custom origins -- [SiloOrigin](./python-silo-origin.md) — PLM origin that contrasts with LocalFileOrigin +- [Silo Guide — Origin Integration](../guide/silo.md#origin-integration) — + PLM origin that contrasts with LocalFileOrigin diff --git a/docs/src/reference/cpp-origin-manager.md b/docs/src/reference/cpp-origin-manager.md index 993a29d2e2..e7152883d9 100644 --- a/docs/src/reference/cpp-origin-manager.md +++ b/docs/src/reference/cpp-origin-manager.md @@ -232,3 +232,7 @@ OriginManager (singleton) origins via this manager - [OriginSelectorWidget](./cpp-origin-selector-widget.md) — toolbar UI driven by this manager's signals +- [KCSDK Python API](./kcsdk-python.md) — Python bindings including + per-document origin functions +- [Silo Guide — Origin Integration](../guide/silo.md#origin-integration) — + SiloOrigin registration example diff --git a/docs/src/reference/cpp-origin-selector-widget.md b/docs/src/reference/cpp-origin-selector-widget.md index 376bc253e3..dadb1280a1 100644 --- a/docs/src/reference/cpp-origin-selector-widget.md +++ b/docs/src/reference/cpp-origin-selector-widget.md @@ -222,3 +222,5 @@ fastsignals::scoped_connection m_connChanged; // signalCurrentOriginChang - [LocalFileOrigin](./cpp-local-file-origin.md) — built-in default origin - [OriginManager](./cpp-origin-manager.md) — singleton registry and signal source - [CommandOrigin](./cpp-command-origin.md) — PLM commands in the Origin Tools toolbar +- [KCSDK Python API — Per-Document Origin API](./kcsdk-python.md#per-document-origin-api) — + Python bindings for origin queries diff --git a/docs/src/reference/kcsdk-python.md b/docs/src/reference/kcsdk-python.md index 360a95e75d..fb1edeb799 100644 --- a/docs/src/reference/kcsdk-python.md +++ b/docs/src/reference/kcsdk-python.md @@ -312,3 +312,9 @@ When `kcsdk` is not available (console mode, build not installed), `kindred_sdk` - [Writing an Addon](../development/writing-an-addon.md) - [Package.xml Schema Extensions](../development/package-xml-schema.md) - [Create Module Bootstrap](./create-module-bootstrap.md) +- [OriginManager (C++)](./cpp-origin-manager.md) — singleton that backs + the origin Python API +- [FileOrigin Interface (C++)](./cpp-file-origin.md) — abstract interface + that registered origins implement +- [FileOriginPython Bridge (C++)](./cpp-file-origin-python.md) — how + Python origins connect to the C++ layer