mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-06 03:04:13 +02:00
+3
-3
@@ -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)**
|
||||
|
||||
|
||||
+5
-7
@@ -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
|
||||
|
||||
+3
-8
@@ -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 |
|
||||
|
||||
+1
-6
@@ -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
|
||||
|
||||
+1
-9
@@ -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.
|
||||
|
||||
|
||||
+3
-7
@@ -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
|
||||
|
||||
+10
-15
@@ -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
|
||||
|
||||
+3
-16
@@ -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:
|
||||
|
||||
+8
-17
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user