diff --git a/_Sidebar.md b/_Sidebar.md index d631f54..2bfff12 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -157,11 +157,11 @@ **[Connecting an AI assistant](ai_assistants)** — setup for Claude, Copilot, Gemini, Codex, Cursor, LM Studio -**[Script buttons](script_buttons)** — stored scripts with an icon, by hand or by an assistant _(pending)_ +**[Script buttons](script_buttons)** — stored scripts with an icon, by hand or by an assistant -**[Live mode](assistant_live_mode)** — an assistant working in the open project while you watch _(pending)_ +**[Live mode](assistant_live_mode)** — an assistant working in the open project while you watch -**[Macro recorder](macro_recorder)** — record a task by hand, for an assistant to script _(pending)_ +**[Macro recorder](macro_recorder)** — record a task by hand, for an assistant to script **[Development Roadmap](development_roadmap)** diff --git a/ai_assistants.md b/ai_assistants.md index d964d12..ef7715d 100644 --- a/ai_assistants.md +++ b/ai_assistants.md @@ -278,13 +278,11 @@ It also tells you, in bold, when something is missing: | *Python est introuvable sur cet ordinateur* | the Python the setup names is not there. On Windows, run the QElectroTech installer again and tick *Python pour l'assistant IA*, or install Python; elsewhere, install Python 3 from your system's packages | | *Python n'est peut-être pas installé* (Windows) | only the Microsoft Store shortcut answers to `python`, which opens the Store instead of running the server | -## Coming next: buttons, live mode, recordings +## Buttons, live mode, recordings -> **Status: pending.** Described on their own pages, each in open pull -> requests ([#1219](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1219)–[#1225](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1225), -> [#1227](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1227), -> [#1228](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1228)). -> None works until they are merged. +Merged on 2 October 2026 ([#1219](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1219)–[#1225](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1225), +[#1227](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1227), [#1228](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1228)), so in development builds made since then. +Each has its own page: - **[Script buttons](script_buttons)**: ask the assistant for a button; it writes the script, tests it on a copy of a project, and stores it with an @@ -308,4 +306,4 @@ still use the server's reading tools on a project you upload to it. See - **[MCP server](mcp_server)**: every tool and setting - **[JavaScript Scripting](scripting)**: what edits run underneath -- **[Script buttons](script_buttons)**, **[Live mode](assistant_live_mode)**, **[Macro recorder](macro_recorder)**: pending +- **[Script buttons](script_buttons)**, **[Live mode](assistant_live_mode)**, **[Macro recorder](macro_recorder)**: what an assistant can do with buttons, the open project and recordings diff --git a/assistant_live_mode.md b/assistant_live_mode.md index cc2af5f..7cd40d8 100644 --- a/assistant_live_mode.md +++ b/assistant_live_mode.md @@ -7,7 +7,8 @@ assistant on one screen, QElectroTech on the other, and each thing it does happens in front of you, in the project you have open — where you can watch it, refuse it, undo it, or carry on by hand. -> **Status: pending.** Nothing on this page is merged yet: +> **Status: merged** on 2 October 2026. Everything on this page is in +> development builds made since then; it is not in a release yet. The pull requests: > > | PR | What it adds | Builds on | > |---|---|---| @@ -15,8 +16,7 @@ it, refuse it, undo it, or carry on by hand. > | [#1223](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1223) | the *Assistant* panel, ask-first, the allowed commands, the screenshot | #1222 | > | [#1225](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1225) | the `qet_live_*` MCP tools | [#1224](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1224) | > -> Check those PRs before trying any of this against your own build. The -> proposal is +> The proposal is > [discussion #1226](https://github.com/qelectrotech/qelectrotech-source-mirror/discussions/1226). Menu and option names are given in French, as QElectroTech shows them until @@ -89,8 +89,6 @@ there was one. ### The Assistant panel -> **Status: pending** — [PR #1223](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1223). - A panel called **Assistant** opens on the right while live mode is open. It lists every action, newest first: the time, ✓ or ✗, and its undo step's name. Hover an entry, or double-click it, for the details: the error, what the @@ -128,9 +126,6 @@ hand stays yours to undo. ## What the assistant can do -> **Status: pending** — [PR #1225](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1225) -> (and #1223 for the commands and the screenshot). - | Tool | Does | Needs `QET_ENABLE_SCRIPTING=1` | |---|---|---| | `qet_live_status` | is QElectroTech there and live mode open; the project and sheet on screen, how many sheets, what is selected, the last undo step; the stored scripts; whether a [macro recording](macro_recorder) is under way | no | diff --git a/drawing_arcs.md b/drawing_arcs.md index fd47dc4..fc5e771 100644 --- a/drawing_arcs.md +++ b/drawing_arcs.md @@ -66,12 +66,7 @@ along its width or height (section 2, with Shift). Drag one of the end handles a the middle handle disappears, and the end handles work as in section 2. Drag the end back to make a half arc again and the middle handle returns. -> **Status: pending.** This paragraph describes -> [PR #1211](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1211), -> not yet merged. Until it lands, the middle handle shows in both handle -> modes and covers the handle under it. - -The middle handle shows with the **size** handles only. Click the arc again +Since [PR #1211](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1211) (2 October 2026) the middle handle shows with the **size** handles only. Click the arc again to switch to the rotate and skew handles and it goes away, so the skew handle at the top of the arc can be grabbed. With the size handles, the resize handle that would sit under it is hidden: the middle handle already changes that diff --git a/drawing_faster.md b/drawing_faster.md index 2606137..f5b05cf 100644 --- a/drawing_faster.md +++ b/drawing_faster.md @@ -93,15 +93,7 @@ A project that has none yet gets the common collection's **Coming arrow** and **Going arrow**. If the common collection isn't available either, the submenu is hidden. It is also hidden on a read-only sheet. -> **Status: pending.** The paragraph below describes -> [PR #1218](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1218), -> not yet merged. Until it lands, current builds show the bug it fixes -> ([#1210](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/1210)): -> once you place a Coming arrow, the Going arrow drops out of the submenu -> (and the other way round), and comes back only after closing the project -> without saving. - -With #1218 the submenu always lists the standard **Coming arrow** and +Since [PR #1218](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1218) (2 October 2026) the submenu always lists the standard **Coming arrow** and **Going arrow**, after the report symbols the project already uses, and each name appears once. Placing one arrow no longer hides the other. diff --git a/macro_recorder.md b/macro_recorder.md index 4c531f3..e6aa196 100644 --- a/macro_recorder.md +++ b/macro_recorder.md @@ -5,15 +5,15 @@ recording to an AI assistant, which turns it into a general, tested **[script button](script_buttons)** — "rotate the selected coils half a turn" rather than "rotate KA1 and KA2". -> **Status: pending.** Nothing on this page is merged yet: +> **Status: merged** on 2 October 2026. Everything on this page is in +> development builds made since then; it is not in a release yet. The pull requests: > > | PR | What it adds | Builds on | > |---|---|---| > | [#1227](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1227) | recording in QElectroTech: start, stop, the files, the status bar, the request to paste | [#1223](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1223) | > | [#1228](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1228) | the `qet_recording_*` MCP tools | [#1225](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1225) | > -> Both sit at the end of the [script buttons](script_buttons) series. Check -> the PRs before trying any of this against your own build. +> Both sit at the end of the [script buttons](script_buttons) series. > **Not the same "macros" as templates.** QElectroTech's > **[templates](templates)** — reusable blocks of symbols — live in a folder @@ -42,8 +42,6 @@ QElectroTech answers. So the recording is saved where the assistant's ## Recording -> **Status: pending** — [PR #1227](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1227). - 1. Open the project and select what the task starts from (the selection is recorded too). 2. **Projet > Scripts > Enregistrer une macro** (*Project > Scripts > Record a @@ -115,8 +113,6 @@ step. ## Turning it into a script -> **Status: pending** — [PR #1228](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1228). - Paste the copied request into the assistant's chat. It names the recording and asks the assistant to read it with `qet_recording_read`, write a script that does the same **in general** (on the selected items rather than on those diff --git a/mcp_server.md b/mcp_server.md index e1fe22f..b09ee2c 100644 --- a/mcp_server.md +++ b/mcp_server.md @@ -244,16 +244,15 @@ from before the setting existed need nothing. \* Needs `QET_ENABLE_SCRIPTING=1`. -> **Status: pending.** Three more groups of tools are in open pull requests, -> each described on its own page: -> -> | Tools | Page | PR | -> |---|---|---| -> | `qet_script_api`, `qet_script_test`, `qet_script_install`, `qet_script_list`, `qet_script_read`, `qet_script_remove`, `qet_about` | [Script buttons](script_buttons#letting-an-ai-assistant-write-the-script) | [#1224](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1224) | -> | `qet_live_status`, `qet_live_run_script`, `qet_live_run_stored`, `qet_live_command`, `qet_live_show_folio`, `qet_live_undo_last`, `qet_live_screenshot` | [Live mode](assistant_live_mode#what-the-assistant-can-do) | [#1225](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1225) | -> | `qet_recording_list`, `qet_recording_read`, `qet_recording_check`, `qet_recording_remove` | [Macro recorder](macro_recorder#turning-it-into-a-script) | [#1228](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1228) | -> -> None of them works until its PR is merged. +Three more groups of tools, merged on 2 October 2026, are described on their +own pages: + +| Tools | Page | PR | +|---|---|---| +| `qet_script_api`, `qet_script_test`, `qet_script_install`, `qet_script_list`, `qet_script_read`, `qet_script_remove`, `qet_about` | [Script buttons](script_buttons#letting-an-ai-assistant-write-the-script) | [#1224](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1224) | +| `qet_live_status`, `qet_live_run_script`, `qet_live_run_stored`, `qet_live_command`, `qet_live_show_folio`, `qet_live_undo_last`, `qet_live_screenshot` | [Live mode](assistant_live_mode#what-the-assistant-can-do) | [#1225](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1225) | +| `qet_recording_list`, `qet_recording_read`, `qet_recording_check`, `qet_recording_remove` | [Macro recorder](macro_recorder#turning-it-into-a-script) | [#1228](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1228) | + --- @@ -401,10 +400,6 @@ Across the shipped examples: 3190 conductors, not one with a cable value. terminal, as long as one of the conductor's two terminals carries only it. - **A sheet's wire defaults: `set_conductor_default`.** - > **Status: pending.** This item describes - > [PR #1214](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1214), - > not yet merged. It does not work until that lands. - Sets one of the defaults in *Propriétés du folio* (*Sheet properties*). `onetextperfolio` is the option *activer l'option un texte par potentiel*: `"true"` draws one wire number per potential on that sheet instead of one @@ -472,7 +467,7 @@ regression in the thing under test, not a missing switch. - **[JavaScript Scripting](scripting)** — the `qet.*` engine `qet_edit` and `qet_query` drive underneath - **[Script buttons](script_buttons)**, **[Live mode](assistant_live_mode)**, - **[Macro recorder](macro_recorder)** — the pending script, live and recording tools + **[Macro recorder](macro_recorder)** — the script, live and recording tools - **[The project database](project_database)** — what `qet_query` reads - **[CLI Reference](cli_reference)** — the export flags `qet_export` wraps - **[Automating QElectroTech](api_reference)** — the file-format and diff --git a/script_buttons.md b/script_buttons.md index c740ee8..d1dc794 100644 --- a/script_buttons.md +++ b/script_buttons.md @@ -7,10 +7,9 @@ an AI assistant write, test and store it through the **[MCP server](mcp_server)**. Both end in the same place: a file in your scripts folder, which QElectroTech turns into a button. -> **Status: pending.** Nothing on this page is merged yet; the series starts -> with [PR #1219](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1219). Each section names -> its own pull request; check it before trying any of this against your own -> build. The whole series: +> **Status: merged** on 2 October 2026. Everything on this page is in +> development builds made since then; it is not in a release yet. +> The pull requests: > > | PR | What it adds | Builds on | > |---|---|---| @@ -53,8 +52,6 @@ switch. ## The scripts folder -> **Status: pending** — [PR #1220](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1220). - Each script is one `.js` file in the `scripts` folder of your QElectroTech data folder: @@ -126,8 +123,6 @@ A file name becomes the script's id: `add-revision-note.js` is ## Running a script -> **Status: pending** — [PR #1220](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1220). - Every stored script is an ordinary command, so you can reach it any of these ways: @@ -152,8 +147,6 @@ Below the scripts, the **Projet > Scripts** menu holds: ### One click, one Ctrl+Z -> **Status: pending** — [PR #1219](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1219). - A script run from the editor is **one undo step**, named *Script : <name>*. A button that adds twenty items is undone with one Ctrl+Z, not twenty. This also applies to *Exécuter un script…*. A script that changes nothing leaves no @@ -161,8 +154,6 @@ empty step behind. Headless `--run` keeps one step per call, as before. ### Which sheet the script works on -> **Status: pending** — [PR #1219](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1219). - `qet.currentFolio()` returns the index of the sheet on screen, so a button acts where you are looking. Headless (`--run`, or an assistant testing a copy) it returns `0`, the first sheet, so the same script can be tried without a @@ -172,8 +163,6 @@ window. It returns `-1` if the project has no sheet. ## The script manager -> **Status: pending** — [PR #1221](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1221). - **Projet > Scripts > Gérer les scripts…** (*Manage scripts*) lists your scripts with their icons on the left, and edits the selected one on the right. @@ -209,8 +198,6 @@ text editor and an AI assistant can never disagree about what a script is. ## Letting an AI assistant write the script -> **Status: pending** — [PR #1224](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1224). - With the **[MCP server](mcp_server)** set up (**[Connecting an AI assistant](ai_assistants)**), you can ask: *"make me a button that puts a Rev A note on the sheet I'm looking at"*. The assistant: diff --git a/scripting.md b/scripting.md index f11b15a..c1f8ce0 100644 --- a/scripting.md +++ b/scripting.md @@ -52,14 +52,11 @@ qelectrotech --run export_after_revision.js "$1" and runs the chosen script against the *currently open* project. Useful for one-off macros you don't want to wire into CI. -> **Status: pending.** [PR #1220](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1220) -> moves this entry to **Projet → Scripts → Exécuter un script...**, and adds -> stored scripts with their own button, icon and shortcut — see -> **[Script buttons](script_buttons)**. -> [PR #1219](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1219) -> makes a run from the editor **one undo step**, named *Script : <name>*, -> so one Ctrl+Z undoes the whole script; headless `--run` keeps one step per -> call. Neither is merged yet. +Since 2 October 2026 ([PR #1220](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1220)) this entry is **Projet → Scripts → +Exécuter un script...**, next to stored scripts with their own button, icon and +shortcut — see **[Script buttons](script_buttons)**. A run from the editor is +**one undo step**, named *Script : <name>*, so one Ctrl+Z undoes the whole +script ([PR #1219](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1219)); headless `--run` keeps one step per call. --- @@ -239,10 +236,6 @@ Since [PR #1098](https://github.com/qelectrotech/qelectrotech-source-mirror/pull ### A sheet's wire defaults -> **Status: pending.** This section describes -> [PR #1214](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1214), -> not yet merged. Nothing here works until that lands. - ```js qet.setConductorDefault(folioIndex, property, value) // -> false if refused qet.conductorDefault(folioIndex, property) // -> "" if unknown @@ -287,8 +280,6 @@ already on for the whole process before any headless script runs. ### Which sheet is on screen, and what calls exist -> **Status: pending** — [PR #1219](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1219), not yet merged. - ```js var f = qet.currentFolio() // index of the sheet on screen; 0 headless; -1 if the project has none qet.apiSignatures() // every call this build offers, with its arguments @@ -407,8 +398,8 @@ change of mind shows up in one obvious place: - **[Automating QElectroTech](api_reference)** — the file-format and headless export ground this builds on - **[MCP server](mcp_server)** — an AI assistant driving this engine through `qet_edit`/`qet_query` -- **[Script buttons](script_buttons)** — store a script and run it from a button _(pending, [PR #1220](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1220))_ -- **[Live mode](assistant_live_mode)** — an assistant running scripts in the open project _(pending, [PR #1222](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1222))_ -- **[Macro recorder](macro_recorder)** — record a task by hand for an assistant to script _(pending, [PR #1227](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1227))_ +- **[Script buttons](script_buttons)** — store a script and run it from a button +- **[Live mode](assistant_live_mode)** — an assistant running scripts in the open project +- **[Macro recorder](macro_recorder)** — record a task by hand for an assistant to script - [PR #891](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/891) — implementation, with the exact tests run against it - [Issue #162](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/162) — the original request and design discussion