From 012f115ffa7bdc95fcd4c6dcea95a962ef78e2b0 Mon Sep 17 00:00:00 2001 From: Dario Gabriel Lipicar Date: Wed, 10 Jun 2026 23:05:38 -0300 Subject: [PATCH] =?UTF-8?q?fix(qml-ui):=20navigate=20Settings=20=E2=86=92?= =?UTF-8?q?=20Modules=20=E2=86=92=20Core=20Modules=20in=20basecamp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit basecamp moved its modules view: the old top-level "Modules" sidebar entry was renamed to "Package Manager", and the UI Modules / Core Modules tabs now live under Settings → Modules. The Part 2 UI doc-test still clicked a top-level "Modules", which no longer exists, so the step failed with: click("Modules"): No element found with text 'Modules' Click "Settings" first (and wait for the Settings view to render), then the now-nested "Modules" sub-tab — mirroring logos-basecamp's own basecamp-modules doc-test. Prose and the generated outputs/ markdown updated to "Settings → Modules → Core Modules". Caught by the logos-workspace nightly doc-test run against the bumped logos-basecamp commit. Co-Authored-By: Claude Opus 4.8 --- outputs/tutorial-qml-ui-app.md | 8 ++++---- tests/tutorial-qml-ui-app.test.yaml | 20 +++++++++++++++----- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/outputs/tutorial-qml-ui-app.md b/outputs/tutorial-qml-ui-app.md index 6042101..9299aff 100644 --- a/outputs/tutorial-qml-ui-app.md +++ b/outputs/tutorial-qml-ui-app.md @@ -628,15 +628,15 @@ Launch basecamp pointed at that data directory. The `calc_ui` plugin appears in ![calc_module returns 3 + 5 = 8](images/basecamp-calc-installed.png) The doc comments you wrote on `calc_module`'s methods and events in -Part 1 also surface in basecamp. Open **Modules → Core Modules**, then -open `calc_module`'s **Interface** — each method and event shows its -`description`. +Part 1 also surface in basecamp. Open **Settings → Modules → Core +Modules**, then open `calc_module`'s **Interface** — each method and +event shows its `description`. ![Method and event descriptions render (single- and multi-line)](images/basecamp-interface-docs.png) The result `8` comes back from `calc_module`: pressing **Add** calls `logos.callModule("calc_module", "add", [3, 5])`, which basecamp routes to your core module and back to the QML view. Both modules — the `calc_module` core plugin and the `calc_ui` view plugin — are loaded from the `basecamp-data` directory you installed them into. -The **Interface** screen (Modules → Core Modules → *Interface*) lists every method **and event** with the `description` from its doc comment — the same docs `lm` and `logoscore module-info` showed in Part 1, here in the GUI. Multi-line `///` comments render as multiple lines, exactly as written. +The **Interface** screen (Settings → Modules → Core Modules → *Interface*) lists every method **and event** with the `description` from its doc comment — the same docs `lm` and `logoscore module-info` showed in Part 1, here in the GUI. Multi-line `///` comments render as multiple lines, exactly as written. The sidebar labels each UI plugin by its `name` from `metadata.json`, which is why the tab reads `calc_ui`. diff --git a/tests/tutorial-qml-ui-app.test.yaml b/tests/tutorial-qml-ui-app.test.yaml index 9cb2599..162c80b 100644 --- a/tests/tutorial-qml-ui-app.test.yaml +++ b/tests/tutorial-qml-ui-app.test.yaml @@ -675,12 +675,22 @@ sections: timeout: 10000 screenshot: "basecamp-calc-installed.png" # ── Verify the `///` method + event docs surface on the Interface screen ── - - name: "Open the Modules system view" + # The modules view now lives under Settings: the old top-level "Modules" + # sidebar entry was renamed to "Package Manager", so "Modules" is reached + # via Settings → Modules → (UI Modules / Core Modules). + - name: "Open Settings" text: | The doc comments you wrote on `calc_module`'s methods and events in - Part 1 also surface in basecamp. Open **Modules → Core Modules**, then - open `calc_module`'s **Interface** — each method and event shows its - `description`. + Part 1 also surface in basecamp. Open **Settings → Modules → Core + Modules**, then open `calc_module`'s **Interface** — each method and + event shows its `description`. + action: click + target: "Settings" + - name: "Settings view loads" + action: wait_for + texts: ["Sections", "Modules"] + timeout: 30000 + - name: "Open the Modules sub-tab" action: click target: "Modules" - name: "Switch to the Core Modules tab" @@ -710,7 +720,7 @@ sections: post_text: | The result `8` comes back from `calc_module`: pressing **Add** calls `logos.callModule("calc_module", "add", [3, 5])`, which basecamp routes to your core module and back to the QML view. Both modules — the `calc_module` core plugin and the `calc_ui` view plugin — are loaded from the `basecamp-data` directory you installed them into. - The **Interface** screen (Modules → Core Modules → *Interface*) lists every method **and event** with the `description` from its doc comment — the same docs `lm` and `logoscore module-info` showed in Part 1, here in the GUI. Multi-line `///` comments render as multiple lines, exactly as written. + The **Interface** screen (Settings → Modules → Core Modules → *Interface*) lists every method **and event** with the `description` from its doc comment — the same docs `lm` and `logoscore module-info` showed in Part 1, here in the GUI. Multi-line `///` comments render as multiple lines, exactly as written. The sidebar labels each UI plugin by its `name` from `metadata.json`, which is why the tab reads `calc_ui`.