app
KiCad - the KiCad Bridge
Public Made by Adomby adom
Reference implementation of the KiCad bridge: multi-instance Python server, forward path via kicad-cli, reverse path via in-process plugin. Most complex of the three bundled bridges.
← Commit history
Publish 1.0.107
4 files changed
+6724−2
page.json+4−2@@ -53,7 +53,7 @@ "install_hint": "", "version_cmd": "" },- "readme": "# Adom Desktop \u2014 KiCad Bridge\n\nA **reverse bridge** that lets Adom Desktop (AD) \u2014 and the AI driving it \u2014 control the user's own\nKiCad on Windows: open and drive every editor, install symbol/footprint libraries, place parts, run\nDRC/ERC, export manufacturing files, and screenshot any window back to the AI.\n\nKiCad is the user's **host app**. The bridge *detects* an existing KiCad and, if none is present,\n*installs* one for them \u2014 it never asks the user to download or click through anything by hand.\n\n- **Page / docs:** https://wiki.adom.inc/adom/adom-desktop-kicad-bridge\n- **Bridge SDK:** https://wiki.adom.inc/adom/adom-desktop-bridges\n- **Verb namespace:** `kicad_*` \u00b7 **Status verb:** `kicad_bridge_status` \u00b7 **Health:** `GET /status`\n\n> Every screenshot in this README was captured on **ADOMBASELINE**, a stock Hyper-V VM with **no\n> GPU**, driven end-to-end through the bridge \u2014 install \u2192 libraries \u2192 editors \u2192 2D \u2192 3D. If it\n> renders there, it renders on a real laptop.\n\n---\n\n## Demo \u2014 narrated live editor tour (real screen recording)\n\n[](https://wiki.adom.inc/blob/app/adom-desktop-kicad-bridge/kicad-bridge-demo.mp4)\n\n**\u25b6 [Watch the demo](https://wiki.adom.inc/blob/app/adom-desktop-kicad-bridge/kicad-bridge-demo.mp4)** (48s, \ud83d\udd0a narrated) \u2014 the bridge driving real KiCad on a Windows VM: **select** a footprint and **zoom** the copper in the PCB editor, **rotate** the assembled board in 3D, then tour the schematic, symbol, and footprint editors. Genuine screen recording of the live windows (zoom / select / 3D rotation), narrated section by section \u2014 not animated stills.\n\n\n---\n\n## The demo verb \u2014 `kicad_demo`\n\nOne verb that shows the whole bridge off, built for the AI that demos Adom Desktop\nduring Hydrogen Desktop's install. Six beats, in the order a hardware person thinks:\n\n| Beat | Shows |\n|---|---|\n| 1 | the **schematic symbol** in the user's own Symbol Editor |\n| 2 | the **footprint** for that same part |\n| 3 | that part in **3D** |\n| 4 | a **schematic** using it (U1 + two 10k resistors) |\n| 5 | the **2D board layout** |\n| 6 | the finished **board in 3D** |\n\n```bash\nadom-desktop kicad_demo '{}' # start: prepares, warms KiCad, opens beat 1\nadom-desktop kicad_demo '{\"step\":\"footprint\"}' # ...then follow data.nextCall each time\nadom-desktop kicad_demo '{\"all\":true}' # bulk (non-interactive; slower than one request budget)\nadom-desktop kicad_close '{\"force\":true}' # tear down\n```\n\n**It narrates itself.** Every beat returns `say` (a line to speak), `pointOut`\n(what's actually on screen), `window` (match it in `kicad_screenshot_all`) and\n`nextCall`. One beat per call is the default precisely so the AI can talk, screenshot,\nthen move on.\n\n**It ships nothing.** The two demo parts, the schematic and the board are all\ngenerated in code, and the 3D bodies come from KiCad's *own* bundled\n`3dmodels/*.3dshapes` \u2014 so the runtime zip stays small and the 3D views are real.\nParts install into the user's real `Adom` library; the project lands in\n`Documents/adom-kicad-demo`.\n\n**No KiCad? It offers to install it.** `kicad_demo` returns an offer instead of an\nerror; `kicad_demo '{\"installKiCad\": true}'` silently installs the official build\n(per-user, no UAC) and then runs the tour. Watching the AI install your EDA tool is\nitself a good demo beat.\n\n**It never takes your screen.** Every window opens in the background and all input is\nwindow-targeted (UIA / `PostMessage`), so you can keep working while it runs.\n\n---\n\n## How it fits together\n\nThe bridge is a `spawn.kind: python` process AD launches on the user's machine (`entrypoint:\nserver.py`, `port: 0` \u2014 AD picks the port and passes `ADOM_BIND_HOST`). It speaks HTTP\n(`POST /command`, `GET /status`) and reaches KiCad through **four control surfaces**, picking the\nlightest one that can do the job.\n\n\n\n| # | Surface | Used for | Where |\n|---|---------|----------|-------|\n| 1 | **kicad-cli** (subprocess) | headless DRC/ERC, gerber/pdf/svg/step/bom export, format upgrade | `handlers/export.py`, `run_drc`, `run_erc`, `lint_*` |\n| 2 | **KiCad IPC (kipy)** | board/schematic introspection, confirmed footprint placement (KiCad 9+) | `handlers/place_footprint.py` |\n| 3 | **Embedded Python** | JSON-RPC *inside* each KiCad process, dispatched on its wx UI thread | `plugin_payload/adom_bridge.py`, `handlers/bridge_client.py` |\n| 4 | **Win32 / UIA / SendKeys** | open editors, screenshots, clicks/keys, dialog handling, window management | `handlers/kicad_ui.py`, `handlers/close_windows.py` |\n\n---\n\n## The window tour\n\nEverything below was opened and captured on the GPU-less VM. Sample data is the **RP2040 breakout**\ngenerated by `tour-pack-rp2040/` (an `AdomRP2040` symbol + `QFN-56_AdomRP2040` footprint + a board).\n\n### Schematic editor \u2014 `kicad_open_schematic`\n\nThe RP2040 breakout: the MCU (U1), USB-C, a 12 MHz crystal, decoupling, and mounting pins.\n\n\n\n### Symbol editor \u2014 `kicad_open_symbol_editor`\n\nOpens straight to a symbol (`kicad_install_symbol` puts it in a user library first).\n\n\n\n### Footprint editor \u2014 `kicad_open_footprint_editor`\n\n`{\"footprintName\":\"QFN-56_AdomRP2040\",\"library\":\"AdomRP2040\"}` loads the part directly \u2014 56 pins +\nthermal pad, 7\u00d77 mm, 0.4 mm pitch, courtyard and silkscreen.\n\n\n\n### PCB editor (2D) \u2014 `kicad_open_board`\n\nThe routed breakout \u2014 copper, silkscreen, the QFN-56 land pattern, mounting holes.\n\n\n\n### 3D viewer \u2014 `kicad_open_3d_viewer {\"editor\":\"pcb\"}`\n\nThe full board in 3D \u2014 board body, the USB-C connector's 3D model, the QFN chip body, SMD parts,\nplated through-holes. **Rendered on the CPU via the software-OpenGL fallback (below); reload 1.7 s.**\n\n\n\n---\n\n## Install & upgrade \u2014 zero manual steps\n\nThe bridge never tells the user to go download KiCad. `kicad_upgrade` fetches the official installer\nand runs it silently, picking the scope automatically:\n\n- **Elevated AD** \u2192 `/allusers /S` (system-wide, `%ProgramFiles%\\KiCad`).\n- **Non-elevated AD** \u2192 `/currentuser /S` (`%LocalAppData%\\Programs\\KiCad`, **no UAC prompt**).\n\n`kicad_readiness` reports whether KiCad is installed and ready without side effects; the AI routes on\nit before offering to install. Hard-won install details (all handled for you):\n\n- KiCad 10's NsisMultiUser installer **requires** a scope flag \u2014 bare `/S` errors `rc=666660`.\n- AD's portable Python has **no CA bundle**; the bridge ships `certs/cacert.pem` and uses it for TLS.\n- Downloads are size-checked against `Content-Length` (a truncated installer otherwise fails at NSIS).\n- `%APPDATA%/kicad/<ver>/` lib tables don't exist until first launch \u2014 the bridge **bootstraps** them\n so `install_library`/`install_footprint` work on a never-opened KiCad.\n- `kicad_upgrade {\"diagnoseOnly\":true}` reports token-elevation type + `EnableLUA` without installing.\n\n---\n\n## Dialogs & error handling \u2014 the bridge clears the pointless ones\n\nKiCad throws modal dialogs that stall automation. The bridge **scans every window owned by a running\nKiCad process** (by PID \u2014 reliable, unlike title matching), auto-expires the benign ones, screenshots\nwhat it dismissed, and returns a hint so the AI can decide what (if anything) to tell the user.\n\nAuto-expired benign dialogs include:\n\n- **\"Could not use OpenGL / falling back to software rendering\"** (GPU-less hosts).\n- **\"Welcome to KiCad \u2014 starting for the first time\"** first-run wizard (dismissing accepts defaults).\n- **\"This file was created by an older version of KiCad\"** conversion notice.\n\n\n\nVerbs:\n\n- `kicad_window_info` \u2014 lists windows and **self-heals** (auto-expires benign dialogs) by default.\n- `kicad_dismiss_dialogs {\"all\":true}` \u2014 clear everything blocking; `{\"screenshot\":true}` returns\n images of each; `{\"forceSoftwareCanvas\":true}` persists Cairo canvas; `{\"debug\":true}` dumps the\n raw PID-based scan.\n- `kicad_screenshot_all` \u2014 one call returns **every** open KiCad window, so the AI can spot an error\n dialog it didn't expect and read the message.\n\n---\n\n## Software-OpenGL fallback (last resort)\n\n`kicad_enable_software_opengl` deploys Mesa's `llvmpipe` (a CPU OpenGL rasterizer) into KiCad's `bin`\nso a box with **no usable GPU** \u2014 Hyper-V, RDP, headless CI \u2014 can still render the editors and the 3D\nviewer. This is how every 3D shot above exists.\n\n> \u26a0\ufe0f It renders on the CPU and is **slow**. It is a worst-case fallback only \u2014 a real GPU (or GPU-P /\n> DDA passthrough) is vastly better. The bridge keeps it so a GPU-less box isn't a dead end; it is\n> never suggested proactively.\n\n---\n\n## Verb reference\n\nAll 41 verbs (prefix `kicad_`). Call `kicad_describe` for the live catalog with per-verb hints,\nrelated verbs, and pitfalls.\n\n**Windows & UI** \u2014 `open_board`, `open_schematic`, `open_symbol_editor`, `open_footprint_editor`,\n`open_3d_viewer`, `open_editors`, `close_symbol_editor`, `close_footprint_editor`, `close_3d_viewer`,\n`close`, `window_info`, `dismiss_dialogs`, `screenshot_all`, `send_key`, `click`, `fix_keyboard`\n\n**Libraries & parts** \u2014 `install_library`, `install_symbol`, `install_footprint`, `install_plugin`,\n`place_footprint`, `adom_library_status`\n\n**Checks & export** \u2014 `run_drc`, `run_erc`, `lint_board`, `lint_schematic`, `lint_library`,\n`format_upgrade`, `export_gerber`, `export_pdf`, `export_svg`, `export_step`, `export_bom_csv`\n\n**Detect, install & meta** \u2014 `list_versions`, `readiness`, `describe`, `enable_software_opengl`,\n`check_for_updates`, `upgrade`, `bridge_status`, `bridge_call`\n\n---\n\n## Running / dependencies\n\nAD provisions everything; there is nothing to install by hand.\n\n- **Python** \u2265 3.11 (AD provisions it) \u2014 stdlib only, plus the bundled `certs/cacert.pem`.\n- **KiCad** \u2265 7.0 (host app; `kicad_upgrade` installs it if absent).\n- **OS:** Windows (macOS/Linux detection stubs exist; the GUI surfaces are Windows-first).\n\nThe bridge binds `ADOM_BIND_HOST` on an AD-assigned port \u2014 never `0.0.0.0`. Auto-updates via\n`updateManifestUrl` in `bridge.json`.\n\n---\n\n*Developer & publish notes live in `dev-skills/` and `publish-skills/` (source-only, never shipped to\na user install).*\n",+ "readme": "# Adom Desktop — KiCad Bridge\n\nA **reverse bridge** that lets Adom Desktop (AD) — and the AI driving it — control the user's own\nKiCad on Windows: open and drive every editor, install symbol/footprint libraries, place parts, run\nDRC/ERC, export manufacturing files, and screenshot any window back to the AI.\n\nKiCad is the user's **host app**. The bridge *detects* an existing KiCad and, if none is present,\n*installs* one for them — it never asks the user to download or click through anything by hand.\n\n- **Page / docs:** https://wiki.adom.inc/adom/adom-desktop-kicad-bridge\n- **Bridge SDK:** https://wiki.adom.inc/adom/adom-desktop-bridges\n- **Verb namespace:** `kicad_*` · **Status verb:** `kicad_bridge_status` · **Health:** `GET /status`\n\n> Every screenshot in this README was captured on **ADOMBASELINE**, a stock Hyper-V VM with **no\n> GPU**, driven end-to-end through the bridge — install → libraries → editors → 2D → 3D. If it\n> renders there, it renders on a real laptop.\n\n---\n\n## Demo — narrated live editor tour (real screen recording)\n\n[](https://wiki.adom.inc/blob/app/adom-desktop-kicad-bridge/kicad-bridge-demo.mp4)\n\n**▶ [Watch the demo](https://wiki.adom.inc/blob/app/adom-desktop-kicad-bridge/kicad-bridge-demo.mp4)** (48s, 🔊 narrated) — the bridge driving real KiCad on a Windows VM: **select** a footprint and **zoom** the copper in the PCB editor, **rotate** the assembled board in 3D, then tour the schematic, symbol, and footprint editors. Genuine screen recording of the live windows (zoom / select / 3D rotation), narrated section by section — not animated stills.\n\n\n---\n\n## The demo verb — `kicad_demo`\n\nOne verb that shows the whole bridge off, built for the AI that demos Adom Desktop\nduring Hydrogen Desktop's install. Six beats, in the order a hardware person thinks:\n\n| Beat | Shows |\n|---|---|\n| 1 | the **schematic symbol** in the user's own Symbol Editor |\n| 2 | the **footprint** for that same part |\n| 3 | that part in **3D** |\n| 4 | a **schematic** using it (U1 + two 10k resistors) |\n| 5 | the **2D board layout** |\n| 6 | the finished **board in 3D** |\n\n```bash\nadom-desktop kicad_demo '{}' # start: prepares, warms KiCad, opens beat 1\nadom-desktop kicad_demo '{\"step\":\"footprint\"}' # ...then follow data.nextCall each time\nadom-desktop kicad_demo '{\"all\":true}' # bulk (non-interactive; slower than one request budget)\nadom-desktop kicad_close '{\"force\":true}' # tear down\n```\n\n**It narrates itself.** Every beat returns `say` (a line to speak), `pointOut`\n(what's actually on screen), `window` (match it in `kicad_screenshot_all`) and\n`nextCall`. One beat per call is the default precisely so the AI can talk, screenshot,\nthen move on.\n\n**It ships nothing.** The two demo parts, the schematic and the board are all\ngenerated in code, and the 3D bodies come from KiCad's *own* bundled\n`3dmodels/*.3dshapes` — so the runtime zip stays small and the 3D views are real.\nParts install into the user's real `Adom` library; the project lands in\n`Documents/adom-kicad-demo`.\n\n**No KiCad? It offers to install it.** `kicad_demo` returns an offer instead of an\nerror; `kicad_demo '{\"installKiCad\": true}'` silently installs the official build\n(per-user, no UAC) and then runs the tour. Watching the AI install your EDA tool is\nitself a good demo beat.\n\n**It never takes your screen.** Every window opens in the background and all input is\nwindow-targeted (UIA / `PostMessage`), so you can keep working while it runs.\n\n---\n\n## How it fits together\n\nThe bridge is a `spawn.kind: python` process AD launches on the user's machine (`entrypoint:\nserver.py`, `port: 0` — AD picks the port and passes `ADOM_BIND_HOST`). It speaks HTTP\n(`POST /command`, `GET /status`) and reaches KiCad through **four control surfaces**, picking the\nlightest one that can do the job.\n\n\n\n| # | Surface | Used for | Where |\n|---|---------|----------|-------|\n| 1 | **kicad-cli** (subprocess) | headless DRC/ERC, gerber/pdf/svg/step/bom export, format upgrade | `handlers/export.py`, `run_drc`, `run_erc`, `lint_*` |\n| 2 | **KiCad IPC (kipy)** | board/schematic introspection, confirmed footprint placement (KiCad 9+) | `handlers/place_footprint.py` |\n| 3 | **Embedded Python** | JSON-RPC *inside* each KiCad process, dispatched on its wx UI thread | `plugin_payload/adom_bridge.py`, `handlers/bridge_client.py` |\n| 4 | **Win32 / UIA / SendKeys** | open editors, screenshots, clicks/keys, dialog handling, window management | `handlers/kicad_ui.py`, `handlers/close_windows.py` |\n\n---\n\n## The window tour\n\nEverything below was opened and captured on the GPU-less VM. Sample data is the **RP2040 breakout**\ngenerated by `tour-pack-rp2040/` (an `AdomRP2040` symbol + `QFN-56_AdomRP2040` footprint + a board).\n\n### Schematic editor — `kicad_open_schematic`\n\nThe RP2040 breakout: the MCU (U1), USB-C, a 12 MHz crystal, decoupling, and mounting pins.\n\n\n\n### Symbol editor — `kicad_open_symbol_editor`\n\nOpens straight to a symbol (`kicad_install_symbol` puts it in a user library first).\n\n\n\n### Footprint editor — `kicad_open_footprint_editor`\n\n`{\"footprintName\":\"QFN-56_AdomRP2040\",\"library\":\"AdomRP2040\"}` loads the part directly — 56 pins +\nthermal pad, 7×7 mm, 0.4 mm pitch, courtyard and silkscreen.\n\n\n\n### PCB editor (2D) — `kicad_open_board`\n\nThe routed breakout — copper, silkscreen, the QFN-56 land pattern, mounting holes.\n\n\n\n### 3D viewer — `kicad_open_3d_viewer {\"editor\":\"pcb\"}`\n\nThe full board in 3D — board body, the USB-C connector's 3D model, the QFN chip body, SMD parts,\nplated through-holes. **Rendered on the CPU via the software-OpenGL fallback (below); reload 1.7 s.**\n\n\n\n---\n\n## Install & upgrade — zero manual steps\n\nThe bridge never tells the user to go download KiCad. `kicad_upgrade` fetches the official installer\nand runs it silently, picking the scope automatically:\n\n- **Elevated AD** → `/allusers /S` (system-wide, `%ProgramFiles%\\KiCad`).\n- **Non-elevated AD** → `/currentuser /S` (`%LocalAppData%\\Programs\\KiCad`, **no UAC prompt**).\n\n`kicad_readiness` reports whether KiCad is installed and ready without side effects; the AI routes on\nit before offering to install. Hard-won install details (all handled for you):\n\n- KiCad 10's NsisMultiUser installer **requires** a scope flag — bare `/S` errors `rc=666660`.\n- AD's portable Python has **no CA bundle**; the bridge ships `certs/cacert.pem` and uses it for TLS.\n- Downloads are size-checked against `Content-Length` (a truncated installer otherwise fails at NSIS).\n- `%APPDATA%/kicad/<ver>/` lib tables don't exist until first launch — the bridge **bootstraps** them\n so `install_library`/`install_footprint` work on a never-opened KiCad.\n- `kicad_upgrade {\"diagnoseOnly\":true}` reports token-elevation type + `EnableLUA` without installing.\n\n---\n\n## Dialogs & error handling — the bridge clears the pointless ones\n\nKiCad throws modal dialogs that stall automation. The bridge **scans every window owned by a running\nKiCad process** (by PID — reliable, unlike title matching), auto-expires the benign ones, screenshots\nwhat it dismissed, and returns a hint so the AI can decide what (if anything) to tell the user.\n\nAuto-expired benign dialogs include:\n\n- **\"Could not use OpenGL / falling back to software rendering\"** (GPU-less hosts).\n- **\"Welcome to KiCad — starting for the first time\"** first-run wizard (dismissing accepts defaults).\n- **\"This file was created by an older version of KiCad\"** conversion notice.\n\n\n\nVerbs:\n\n- `kicad_window_info` — lists windows and **self-heals** (auto-expires benign dialogs) by default.\n- `kicad_dismiss_dialogs {\"all\":true}` — clear everything blocking; `{\"screenshot\":true}` returns\n images of each; `{\"forceSoftwareCanvas\":true}` persists Cairo canvas; `{\"debug\":true}` dumps the\n raw PID-based scan.\n- `kicad_screenshot_all` — one call returns **every** open KiCad window, so the AI can spot an error\n dialog it didn't expect and read the message.\n\n---\n\n## Software-OpenGL fallback (last resort)\n\n`kicad_enable_software_opengl` deploys Mesa's `llvmpipe` (a CPU OpenGL rasterizer) into KiCad's `bin`\nso a box with **no usable GPU** — Hyper-V, RDP, headless CI — can still render the editors and the 3D\nviewer. This is how every 3D shot above exists.\n\n> ⚠️ It renders on the CPU and is **slow**. It is a worst-case fallback only — a real GPU (or GPU-P /\n> DDA passthrough) is vastly better. The bridge keeps it so a GPU-less box isn't a dead end; it is\n> never suggested proactively.\n\n---\n\n## Verb reference\n\nAll 41 verbs (prefix `kicad_`). Call `kicad_describe` for the live catalog with per-verb hints,\nrelated verbs, and pitfalls.\n\n**Windows & UI** — `open_board`, `open_schematic`, `open_symbol_editor`, `open_footprint_editor`,\n`open_3d_viewer`, `open_editors`, `close_symbol_editor`, `close_footprint_editor`, `close_3d_viewer`,\n`close`, `window_info`, `dismiss_dialogs`, `screenshot_all`, `send_key`, `click`, `fix_keyboard`\n\n**Libraries & parts** — `install_library`, `install_symbol`, `install_footprint`, `install_plugin`,\n`place_footprint`, `adom_library_status`\n\n**Checks & export** — `run_drc`, `run_erc`, `lint_board`, `lint_schematic`, `lint_library`,\n`format_upgrade`, `export_gerber`, `export_pdf`, `export_svg`, `export_step`, `export_bom_csv`\n\n**Detect, install & meta** — `list_versions`, `readiness`, `describe`, `enable_software_opengl`,\n`check_for_updates`, `upgrade`, `bridge_status`, `bridge_call`\n\n---\n\n## Running / dependencies\n\nAD provisions everything; there is nothing to install by hand.\n\n- **Python** ≥ 3.11 (AD provisions it) — stdlib only, plus the bundled `certs/cacert.pem`.\n- **KiCad** ≥ 7.0 (host app; `kicad_upgrade` installs it if absent).\n- **OS:** Windows (macOS/Linux detection stubs exist; the GUI surfaces are Windows-first).\n\nThe bridge binds `ADOM_BIND_HOST` on an AD-assigned port — never `0.0.0.0`. Auto-updates via\n`updateManifestUrl` in `bridge.json`.\n\n---\n\n*Developer & publish notes live in `dev-skills/` and `publish-skills/` (source-only, never shipped to\na user install).*\n", "author": { "name": "John Lauer", "email": "[email protected]"@@ -90,6 +90,8 @@ "skills/kicad-tour/SKILL.md", "skills/kicad-tour/tour_runner.py", "skills/kicad-web-control/SKILL.md",+ "skills/kicad-uia/catalog.json",+ "skills/kicad-uia/SKILL.md", "skills/kicad-bridge-dev/SKILL.md", "skills/kicad-bridge-publish/SKILL.md", "skills/kicad-bridge-hero/SKILL.md",@@ -128,4 +130,4 @@ "authors": null, "author_handle": "john", "authors_json": null-}+}
skills/kicad-bridge-dev/SKILL.md+23@@ -425,6 +425,29 @@ the package. Two layers, two commands, every time. Every one of these came from shipping something that looked verified and was not. +**KiCad RAISES ITSELF; UIA is not an invisibility cloak (2026-09-01).** Full+detail in the `kicad-uia` skill, but the headline belongs here because it changes+how every new verb should be written. Adom Bridge's `desktop_ui_*` verbs took the+pure UIA pattern path — never SendInput — and KiCad still came to the front,+because wx activates its own top-level window when its UI state changes. Only+READ-ONLY UIA (`ui_tree`, `ui_get`, `ui_text`, `find_control`) is verifiably+background, measured by z-order. Two rules follow, both John's:+ 1. Anything you know will foreground WARNS FIRST with `desktop_caption`+ (a `reason` >= 10 chars is mandatory and is shown to the user).+ 2. The z-order guard gets ONE look within ~200ms and then is hands off forever.+ Later than that, a KiCad window on top is the USER alt-tabbing or clicking+ its taskbar button, and shoving it back would fight them.+`handlers/foreground_guard.py` implements both, with the reasoning in comments so+it cannot be "simplified" away.++**`foreground: null` in a bridge response means NOT REPORTED, not "did not+raise".** A `desktop_ui_click` that demonstrably moved a window from z=1 to z=0+returned `raised: None, pathTaken: None`, and an earlier click was reported to+John as safe on exactly that evidence. Measure z-order yourself with+`desktop_list_windows` before and after. Same family as the saturating headroom+metric: a field that reads identically on the good and the bad path is not+evidence of anything.+ **A PERMISSIVE DEFAULT DOES NOT FAIL A CHECK, IT ANSWERS IT (2026-08-25, fleet sweep).** This dashboard had TWO catch-alls and each one made a different check pass for the wrong reason. `do_GET` rendered index.html for every unmatched path, so a
skills/kicad-uia/SKILL.mdadded+185@@ -0,0 +1,185 @@+---+name: kicad-uia+description: >+ Driving KiCad's UI through Windows UI Automation (the desktop_ui_* verbs) instead+ of clicks and keystrokes, and the measured truth about which calls steal the user's+ foreground window. READ THIS BEFORE adding any verb that touches a KiCad window,+ before "just sending a keystroke", and before believing a response field that says+ a call stayed in the background. Carries the per-window control catalog (project+ manager, symbol editor, footprint editor, schematic editor, PCB editor, 3D viewer),+ the z-order measurement method, and the foreground-guard contract. Trigger words -+ uia, ui automation, desktop_ui_tree, desktop_ui_click, desktop_ui_select,+ desktop_ui_expand, foreground, focus steal, raised the window, z-order, background+ automation, drive kicad ui, automation id, control tree, send_key, kicad_click.+user-invocable: false+---++# Driving KiCad through UI Automation++**Parent skill:** `kicad-bridge-dev`.++Adom Bridge exposes Windows UI Automation as `desktop_ui_*`. It can read any+KiCad window's whole control tree and act on controls by name or automationId,+without coordinates. This skill is the map of what is there, and the hard-won+truth about what it costs the user.++## ⛔ THE ONE RULE: ONLY READ-ONLY UIA IS BACKGROUND ON KICAD++Measured on AdomLapper, KiCad 10.0, 2026-09-01, by comparing z-order before and+after each call (not by trusting any response field):++| call | UIA path taken | result |+|---|---|---|+| `desktop_ui_tree` / `ui_get` / `ui_text` / `find_control` | read-only | **z unchanged — safe** |+| `desktop_ui_expand` on a MenuItem | `uia-pattern` | KiCad 4 → **z=0** |+| `desktop_ui_expand` on a TreeItem | `sendinput-fallback` | editor → **z=0** |+| `desktop_ui_select` on a TreeItem | `uia-pattern` | editor → **z=0** |+| `desktop_ui_click` (Invoke) on a Button | (not reported) | editor 1 → **z=0** |++**Every state-changing call raised the window, including the ones that never+touched SendInput.** KiCad is wx, and wx activates its own top-level window when+its UI state changes through a UIA pattern. Adom Bridge is not at fault and a+different ab code path cannot fix it: you cannot change a wx control's state+without the app raising itself.++So UIA is NOT a way to avoid foregrounding KiCad. It is a way to *read* KiCad+precisely, and to act on it without coordinate math. Those are both worth having.+Do not sell it to the user as invisible automation.++## ⛔ `foreground: null` MEANS "NOT REPORTED", NOT "DID NOT RAISE"++The `desktop_ui_click` that stole the foreground returned `raised: None,+pathTaken: None`. An earlier `ui_click` on the PCM Install button returned+`foreground: null`, and it was reported as proof that nothing was raised. It was+not proof of anything.++**Measure z-order yourself.** `desktop_list_windows` returns a `z` field per+window; `z=0` is the foreground. Capture before, act, capture after:++```bash+adom-bridge --ai-thread "<t>" --target <BOX> desktop_list_windows '{}' \+ | python3 -c "import json,sys;ws=json.loads(json.load(sys.stdin)['output'])['data']['windows'];print(sorted(ws,key=lambda w:w.get('z',999))[0])"+```++Same failure family as a metric that saturates: a field that is absent on both+the good and the bad path is not evidence.++Note `desktop_ui_capabilities` is describing **ab's** behaviour, and it is+accurate about that: `fallback-only` means "background via the pattern,+foregrounds only if it must drop to SendInput". It cannot describe what the+target application does on its own, and KiCad raises itself.++## ⛔ WARN THE USER BEFORE ANY ACTION YOU KNOW WILL FOREGROUND++If you are about to do something that raises a KiCad window, say so on the+user's screen FIRST, with `desktop_caption`. A window that jumps to the front+with no explanation reads as the machine misbehaving; the same window with one+line of context reads as work being done.++```bash+adom-bridge --ai-thread "<t>" --target <BOX> desktop_caption '{+ "text": "Opening the Footprint Editor to read the library. It will jump to the front for a moment.",+ "seconds": 6,+ "reason": "Warn before an action known to steal the foreground, so the window is explained not surprising"}'+```++`reason` is mandatory (>=10 chars) and is shown ON the caption beside the thread+name, so the user always knows WHO is drawing on their screen and why. Keep+`text` short: ab measures the rendered box and warns `too_wide_for_screen` (a+one-sentence caption measured 2268px on a 2560px screen). One clause, not two.++(John, 2026-09-01: "anytime you are forced to foreground or know something will+foreground, you should warn the user as to why you're doing that via an ab+caption".)++## The foreground guard (and the rule that must not be broken)++If you must drive a KiCad window, blunt the cost: capture the user's foreground+window first, do the work, then hand it straight back, so the raise is a blip+rather than a theft.++```+user_win = top of z-order # BEFORE anything+t0 = now()+<the KiCad action>+# ONE check, inside a ~200ms window, and never again:+if now() - t0 <= 200ms and top of z-order == the window WE raised:+ desktop_raise_window {hwnd: user_win}+# after 200ms: HANDS OFF, permanently, for this action+```++**The 200ms bound is the whole safety property, not an optimisation.** A KiCad+window coming to the front 50ms after our call is our doing. A KiCad window+coming to the front two seconds later is *the user*, who clicked its taskbar+icon or alt-tabbed to it. If the guard keeps watching, it fights them: they click+KiCad, we shove it back, and the machine feels broken. So the guard gets exactly+one look, immediately, and then stops.++Two conditions, both required, before restoring:+1. **Within ~200ms** of the call that caused it, and+2. **the window on top is the one we raised** — not merely "not the user's".++Fail either one and do nothing. (John, 2026-09-01: "after that you need to be+hands off in case the adom user wants to click the windows taskbar icon to+foreground that window or alt-tab to it".)++Capture the user's window ONCE at the start of a multi-step sweep. Capturing it+per step means step 2 "restores" the KiCad window that step 1 raised — a real bug+hit during the first catalog sweep.++## The control catalog++Captured read-only, `maxDepth:16`. Counts are nodes / invokable / settable:++| window | nodes | invokable | settable |+|---|---|---|---|+| `project_manager` | 58 | 3 | 1 |+| `symbol_editor` | 84 | 22 | 10 |+| `footprint_editor` | 299 | 39 | 14 |+| `schematic_editor` | 60 | 24 | 4 |+| `pcb_editor` | 140 | 26 | 17 |+| `3d_viewer` | 169 | 11 | 5 |+Stable handles worth knowing (names are stable, numeric automationIds are NOT —+they are wx window ids and change per run, so match on `name` + `role`):++- **Symbol / Footprint Editor** — the library tree is real UIA: a `TreeItem` per+ library (`PCM_AdomBasic`) and per part (`0402B103J500CT`, ...), each+ `settable` via `desktop_ui_select`. The filter box is a `settable` `Edit`.+ This is how you find out what a user actually has installed, and it is the+ only way to enumerate a library WITHOUT opening a part.+- **PCB Editor / 3D Viewer / Footprint Editor** — `ComboBox` "Presets+ (Ctrl+Tab):" and "Viewports (Shift+Tab):" are settable; the layer/appearance+ checkboxes are invokable but have no accessible names, only ids.+- **Every editor** — an `Application` `MenuBar` with `File / Edit / View / Place /+ Inspect / Tools / Preferences / Help`. Expanding any of them raises the window.+ There is no background path to a menu action.+- **PCM dialog** — `Install`, `Refresh`, `Install from File...`, `Open Package+ Directory`, `Close`, `Apply Pending Changes`, `Discard Pending Changes`, all+ invokable by name, plus `TabItem`s whose names carry live counts+ (`Installed (1)`, `Pending (0)`) — read those to confirm an install landed.+- **Error dialogs** are separate top-level windows titled `KiCad <X> Error` with+ the message as a `Text` node. `desktop_ui_tree` reads the message without+ screenshotting or OCR, which is the fastest way to find out why something+ failed. Dismiss with the `OK` button by name.++The full dump lives in `skills/kicad-uia/catalog.json` (per window: role, name,+automationId, invokable, settable, depth). Regenerate it with a read-only sweep+whenever KiCad's major version changes.++## What this is genuinely good for++1. **Reading state without screenshots.** Window titles lie (`[no symbol loaded]`+ while a part is selected); the tree does not. Error text, tab counts, which+ library is filtered, what is selected.+2. **Acting without coordinates.** `kicad_click` needs pixels and breaks on DPI+ or a moved window. `desktop_ui_click {name:"OK"}` does not.+3. **Enumerating libraries** through the editor's own tree, which is ground truth+ about what KiCad can see — better than reading lib-table files, because it+ reflects what actually loaded.++## What it is NOT good for++- Avoiding foreground. It does not.+- Menu-driven actions (Preferences, exports, view toggles) in the background.+- Anything on the canvas: the schematic/board canvas is a single opaque node with+ no children. Canvas work still goes through the plugin/IPC path.
skills/kicad-uia/catalog.jsonadded+6512@@ -0,0 +1,6512 @@+{+ "3d_viewer": {+ "nodeCount": 169,+ "rows": [+ {+ "role": "Window",+ "name": "3D Viewer",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 0+ },+ {+ "role": "StatusBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Text",+ "name": "Reload time 0.374 s",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "GLCanvas",+ "id": "7321",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "",+ "id": "-31740",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31739",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31738",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1414",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1414",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Board Body",+ "id": "1414",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1414",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1414",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Plated Barrels",+ "id": "1480",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1480",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1480",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1415",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1415",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "F.Cu",+ "id": "1415",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1415",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1415",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1416",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1416",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "B.Cu",+ "id": "1416",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1416",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1416",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Adhesive",+ "id": "1422",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1422",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1422",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1421",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1421",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Solder Paste",+ "id": "1421",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1421",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1421",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1418",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1418",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "F.Silkscreen",+ "id": "1418",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1418",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1418",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1417",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1417",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "B.Silkscreen",+ "id": "1417",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1417",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1417",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1420",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1420",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "F.Mask",+ "id": "1420",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1420",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1420",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1419",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1419",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "B.Mask",+ "id": "1419",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1419",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1419",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1424",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1424",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "User.Drawings",+ "id": "1424",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1424",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1424",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1423",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1423",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "User.Comments",+ "id": "1423",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1423",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1423",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1425",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1425",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "User.Eco1",+ "id": "1425",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1425",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1425",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1426",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1426",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "User.Eco2",+ "id": "1426",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1426",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1426",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1427",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1427",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "User.1",+ "id": "1427",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1427",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1427",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1428",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1428",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "User.2",+ "id": "1428",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1428",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1428",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1429",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1429",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "User.3",+ "id": "1429",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1429",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1429",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1430",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1430",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "User.4",+ "id": "1430",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1430",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1430",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Through-hole Models",+ "id": "1472",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1472",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1472",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "SMD Models",+ "id": "1473",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1473",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1473",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Virtual Models",+ "id": "1474",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1474",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1474",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Models not in POS File",+ "id": "1475",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1475",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1475",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Models marked DNP",+ "id": "1476",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1476",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1476",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Model Bounding Boxes",+ "id": "1478",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1478",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1478",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Values",+ "id": "278",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "278",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "278",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "References",+ "id": "279",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "279",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "279",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Footprint Text",+ "id": "267",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "267",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "267",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Off-board Silkscreen",+ "id": "1479",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1479",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1479",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "3D Navigator",+ "id": "1477",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1477",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1477",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1413",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1413",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Background Start",+ "id": "1413",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1412",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "1412",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Text",+ "name": "Background End",+ "id": "1412",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "ScrollBar",+ "name": "Vertical",+ "id": "NonClientVerticalScrollBar",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Button",+ "name": "Line up",+ "id": "UpButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "Thumb",+ "name": "Position",+ "id": "ScrollbarThumb",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Button",+ "name": "Page down",+ "id": "DownPageButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "Button",+ "name": "Line down",+ "id": "DownButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31732",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31731",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Image",+ "name": "",+ "id": "-31737",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Presets (Ctrl+Tab):",+ "id": "-31736",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "ComboBox",+ "name": "Presets (Ctrl+Tab):",+ "id": "-31735",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Presets (Ctrl+Tab):",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Text",+ "name": "Viewports (Shift+Tab):",+ "id": "-31734",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "ComboBox",+ "name": "Viewports (Shift+Tab):",+ "id": "-31733",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Viewports (Shift+Tab):",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31730",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31729",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Image",+ "name": "",+ "id": "-31728",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Board outline is missing or malformed. Run DRC for a full analysis.",+ "id": "-31727",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "",+ "id": "2000",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "TitleBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 1+ },+ {+ "role": "MenuBar",+ "name": "System",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "System",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Minimize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Maximize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Close",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuBar",+ "name": "Application",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "MenuItem",+ "name": "File",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Edit",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "View",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Preferences",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Help",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ }+ ]+ },+ "footprint_editor": {+ "nodeCount": 299,+ "rows": [+ {+ "role": "Window",+ "name": "PCM_AdomBasic:0402B103J500CT \u2014 Footprint Editor",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 0+ },+ {+ "role": "StatusBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Text",+ "name": "",+ "id": "-31728",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Z 135.30",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "X 0.0000 Y 0.0000",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "dx 0.0000 dy 0.0000 dist 0.0000",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "grid 0.0197",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "inches",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Constrain to H, V, 45",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31725",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31724",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "GLCanvas",+ "id": "-31723",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31714",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31713",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "searchCtrl",+ "id": "-31712",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Edit",+ "name": "",+ "id": "-31711",+ "inv": false,+ "set": true,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31710",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31709",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "-31708",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31707",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Tree",+ "name": "dataviewCtrl",+ "id": "-31706",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "wxdataviewctrlmainwindow",+ "id": "-31705",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "wxHeaderCtrl",+ "id": "-31704",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Header",+ "name": "Header Control",+ "id": "Header",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "HeaderItem",+ "name": "Item",+ "id": "HeaderItem 0",+ "inv": true,+ "set": false,+ "depth": 6+ },+ {+ "role": "HeaderItem",+ "name": "Description",+ "id": "HeaderItem 1",+ "inv": true,+ "set": false,+ "depth": 6+ },+ {+ "role": "ScrollBar",+ "name": "Horizontal",+ "id": "NonClientHorizontalScrollBar",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Button",+ "name": "Column left",+ "id": "UpButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "Thumb",+ "name": "Position",+ "id": "ScrollbarThumb",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Button",+ "name": "Page right",+ "id": "DownPageButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "Button",+ "name": "Column right",+ "id": "DownButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "TreeItem",+ "name": "PCM_AdomBasic",+ "id": "",+ "inv": true,+ "set": true,+ "depth": 4+ },+ {+ "role": "TreeItem",+ "name": "0402B103J500CT",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31701",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31700",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31699",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "6153",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "6152",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "6155",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "",+ "id": "-31698",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31697",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31696",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31695",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31694",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31693",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31692",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31691",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31690",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31689",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31688",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31687",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31686",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31685",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "",+ "id": "-31684",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Tab",+ "name": "",+ "id": "-31683",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31682",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31681",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "F.Cu",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "4",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "4",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "4",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "4",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "4",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "4",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "4",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "Inner layers",+ "id": "4",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "B.Cu",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "9",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "9",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "9",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "9",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "9",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "9",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "9",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "F.Adhesive",+ "id": "9",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "11",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "11",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "11",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "11",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "11",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "11",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "11",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "B.Adhesive",+ "id": "11",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "13",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "13",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "13",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "13",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "13",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "13",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "13",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "F.Paste",+ "id": "13",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "15",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "15",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "15",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "15",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "15",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "15",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "15",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "B.Paste",+ "id": "15",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "5",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "5",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "5",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "5",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "5",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "5",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "5",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "F.Silkscreen",+ "id": "5",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "7",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "7",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "7",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "7",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "7",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "7",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "7",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "B.Silkscreen",+ "id": "7",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "1",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "1",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "1",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "1",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "F.Mask",+ "id": "1",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "3",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "3",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "3",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "3",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "3",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "3",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "3",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "B.Mask",+ "id": "3",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "17",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "17",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "17",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "17",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "17",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "17",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "17",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "User.Drawings",+ "id": "17",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "19",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "19",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "19",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "19",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "19",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "19",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "19",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "User.Comments",+ "id": "19",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "21",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "21",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "21",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "21",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "21",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "21",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "21",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "User.Eco1",+ "id": "21",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "23",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "23",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "23",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "23",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "23",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "23",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "23",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "User.Eco2",+ "id": "23",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "Edge.Cuts",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "Margin",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "F.Courtyard",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "B.Courtyard",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "35",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "35",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "35",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "35",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "35",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "35",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "35",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "F.Fab",+ "id": "35",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "33",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "33",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "33",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "33",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "33",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "33",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "33",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "B.Fab",+ "id": "33",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "39",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "39",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "39",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "39",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "39",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "39",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "39",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "User.1",+ "id": "39",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "41",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "41",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "41",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "41",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "41",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "41",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "41",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "User.2",+ "id": "41",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "43",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "43",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "43",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "43",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "43",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "43",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "43",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "User.3",+ "id": "43",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "45",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "45",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "45",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "45",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "45",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "45",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "45",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "User.4",+ "id": "45",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "ScrollBar",+ "name": "Vertical",+ "id": "NonClientVerticalScrollBar",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Button",+ "name": "Line up",+ "id": "UpButton",+ "inv": true,+ "set": false,+ "depth": 6+ },+ {+ "role": "Thumb",+ "name": "Position",+ "id": "ScrollbarThumb",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Button",+ "name": "Page down",+ "id": "DownPageButton",+ "inv": true,+ "set": false,+ "depth": 6+ },+ {+ "role": "Button",+ "name": "Line down",+ "id": "DownButton",+ "inv": true,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "COLLAPSIBLE_PANE_HEADER",+ "id": "-31659",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "Layer Display Options",+ "id": "-31658",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "TabItem",+ "name": "Layers",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "TabItem",+ "name": "Objects",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Text",+ "name": "Presets (Ctrl+Tab):",+ "id": "-31663",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "ComboBox",+ "name": "Presets (Ctrl+Tab):",+ "id": "-31662",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Presets (Ctrl+Tab):",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Text",+ "name": "Viewports (Shift+Tab):",+ "id": "-31661",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "ComboBox",+ "name": "Viewports (Shift+Tab):",+ "id": "-31660",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Viewports (Shift+Tab):",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "TitleBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 1+ },+ {+ "role": "MenuBar",+ "name": "System",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "System",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Minimize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Maximize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Close",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuBar",+ "name": "Application",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "MenuItem",+ "name": "File",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Edit",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "View",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Place",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Inspect",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Tools",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Preferences",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Help",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ }+ ]+ },+ "pcb_editor": {+ "nodeCount": 140,+ "rows": [+ {+ "role": "Window",+ "name": "adom-plugin-bootstrap \u2014 PCB Editor",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 0+ },+ {+ "role": "StatusBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Text",+ "name": "",+ "id": "-31993",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31991",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Z 1.19",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "X 0.0000 Y 0.0000",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "dx 0.0000 dy 0.0000 dist ...",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "grid 0.5000",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "mm",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31990",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31989",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "GLCanvas",+ "id": "-31790",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31983",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31982",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31981",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "10560",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31980",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "10559",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "10558",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "6155",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "6153",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "6152",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "6154",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "",+ "id": "-31976",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31975",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31974",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31973",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31972",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31971",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31970",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31969",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31968",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31967",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31966",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31965",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31964",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31963",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "",+ "id": "-31962",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Tab",+ "name": "",+ "id": "-31961",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31960",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31959",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "F.Cu",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "B.Cu",+ "id": "2",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "Edge.Cuts",+ "id": "25",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "Margin",+ "id": "27",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "F.Courtyard",+ "id": "31",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Image",+ "name": "",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 7+ },+ {+ "role": "Text",+ "name": "B.Courtyard",+ "id": "29",+ "inv": false,+ "set": false,+ "depth": 6+ },+ {+ "role": "Pane",+ "name": "COLLAPSIBLE_PANE_HEADER",+ "id": "-31937",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "Layer Display Options",+ "id": "-31936",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "TabItem",+ "name": "Layers",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "TabItem",+ "name": "Objects",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "TabItem",+ "name": "Nets",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Text",+ "name": "Presets (Ctrl+Tab):",+ "id": "-31941",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "ComboBox",+ "name": "Presets (Ctrl+Tab):",+ "id": "-31940",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Presets (Ctrl+Tab):",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Text",+ "name": "Viewports (Shift+Tab):",+ "id": "-31939",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "ComboBox",+ "name": "Viewports (Shift+Tab):",+ "id": "-31938",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Viewports (Shift+Tab):",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31828",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Image",+ "name": "",+ "id": "-31827",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "This file was created by an older version of KiCad. It will be converted to the new format when saved.",+ "id": "-31826",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "",+ "id": "2000",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "TitleBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 1+ },+ {+ "role": "MenuBar",+ "name": "System",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "System",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Minimize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Maximize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Close",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuBar",+ "name": "Application",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "MenuItem",+ "name": "File",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Edit",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "View",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Place",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Route",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Inspect",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Tools",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Preferences",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Help",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ }+ ]+ },+ "schematic_editor": {+ "nodeCount": 60,+ "rows": [+ {+ "role": "Window",+ "name": "demo-project \u2014 Schematic Editor",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 0+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31989",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "GLCanvas",+ "id": "-31985",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "StatusBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Text",+ "name": "",+ "id": "-31993",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31991",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Z 1.61",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "X 0 Y 0",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "dx 0 dy 0 dist 0",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "grid 50",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "mils",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31990",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31983",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31982",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31981",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "9974",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "",+ "id": "-31980",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Tree",+ "name": "",+ "id": "-31979",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "TreeItem",+ "name": "demo-project (page 1)",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31961",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Text",+ "name": "No objects selected",+ "id": "-31960",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "wxPropertyGrid",+ "id": "-31959",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "",+ "id": "-31954",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31953",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31952",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31950",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31949",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31948",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31947",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31946",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31945",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31944",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31943",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31914",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Image",+ "name": "",+ "id": "-31913",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "This file was created by an older version of KiCad. It will be converted to the new format when saved.",+ "id": "-31912",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "",+ "id": "2000",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "TitleBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 1+ },+ {+ "role": "MenuBar",+ "name": "System",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "System",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Minimize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Maximize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Close",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuBar",+ "name": "Application",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "MenuItem",+ "name": "File",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Edit",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "View",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Place",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Inspect",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Tools",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Preferences",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Help",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ }+ ]+ },+ "project_manager": {+ "nodeCount": 58,+ "rows": [+ {+ "role": "Window",+ "name": "KiCad 10.0",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 0+ },+ {+ "role": "StatusBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Text",+ "name": "",+ "id": "-31993",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31990",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31989",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Project:",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "layoutWindow",+ "id": "6258",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Tree",+ "name": "",+ "id": "6259",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31988",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31985",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "",+ "id": "-31983",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31982",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31981",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Schematic Editor",+ "id": "-31980",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Edit the project schematic",+ "id": "-31979",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31978",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Symbol Editor",+ "id": "-31977",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Edit global and/or project schematic symbol libraries",+ "id": "-31976",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31975",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "PCB Editor",+ "id": "-31974",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Edit the project PCB design",+ "id": "-31973",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31972",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Footprint Editor",+ "id": "-31971",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Edit global and/or project PCB footprint libraries",+ "id": "-31970",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31969",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Gerber Viewer",+ "id": "-31968",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Preview Gerber files",+ "id": "-31967",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31966",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Image Converter",+ "id": "-31965",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Convert bitmap images to schematic symbols or PCB footprints",+ "id": "-31964",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31963",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Calculator Tools",+ "id": "-31962",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Show tools for calculating resistance, current capacity, etc.",+ "id": "-31961",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31960",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Drawing Sheet Editor",+ "id": "-31959",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Edit drawing sheet borders and title blocks for use in schematics and PCB designs",+ "id": "-31958",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31957",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Plugin and Content Manager",+ "id": "-31956",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Text",+ "name": "Manage downloadable packages from KiCad and 3rd party repositories",+ "id": "-31955",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "TitleBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 1+ },+ {+ "role": "MenuBar",+ "name": "System",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "System",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Minimize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Maximize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Close",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuBar",+ "name": "Application",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "MenuItem",+ "name": "File",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Edit",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "View",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Tools",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Preferences",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Help",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ }+ ]+ },+ "symbol_editor": {+ "nodeCount": 84,+ "rows": [+ {+ "role": "Window",+ "name": "PCM_AdomBasic:LQM18DH100M70L \u2014 Symbol Editor",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 0+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31945",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "GLCanvas",+ "id": "-31941",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "StatusBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Text",+ "name": "",+ "id": "-31949",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "Z 9.19",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "X -300 Y 0",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "dx -300 dy 0 dist 300",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "grid 50",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "mils",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31946",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31939",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31938",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "searchCtrl",+ "id": "-31937",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Edit",+ "name": "",+ "id": "-31936",+ "inv": false,+ "set": true,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31935",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31934",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Image",+ "name": "",+ "id": "-31933",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31932",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Tree",+ "name": "dataviewCtrl",+ "id": "-31931",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "wxdataviewctrlmainwindow",+ "id": "-31930",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "wxHeaderCtrl",+ "id": "-31929",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Header",+ "name": "Header Control",+ "id": "Header",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "HeaderItem",+ "name": "Item",+ "id": "HeaderItem 0",+ "inv": true,+ "set": false,+ "depth": 6+ },+ {+ "role": "HeaderItem",+ "name": "Description",+ "id": "HeaderItem 1",+ "inv": true,+ "set": false,+ "depth": 6+ },+ {+ "role": "ScrollBar",+ "name": "Vertical",+ "id": "NonClientVerticalScrollBar",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Button",+ "name": "Line up",+ "id": "UpButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "Thumb",+ "name": "Position",+ "id": "ScrollbarThumb",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Button",+ "name": "Page down",+ "id": "DownPageButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "Button",+ "name": "Line down",+ "id": "DownButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "ScrollBar",+ "name": "Horizontal",+ "id": "NonClientHorizontalScrollBar",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Button",+ "name": "Column left",+ "id": "UpButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "Thumb",+ "name": "Position",+ "id": "ScrollbarThumb",+ "inv": false,+ "set": false,+ "depth": 5+ },+ {+ "role": "Button",+ "name": "Page right",+ "id": "DownPageButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "Button",+ "name": "Column right",+ "id": "DownButton",+ "inv": true,+ "set": false,+ "depth": 5+ },+ {+ "role": "Thumb",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "TreeItem",+ "name": "PCM_AdomBasic",+ "id": "",+ "inv": true,+ "set": true,+ "depth": 4+ },+ {+ "role": "TreeItem",+ "name": "0402B102J500CT",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 4+ },+ {+ "role": "TreeItem",+ "name": "0402B103J500CT",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 4+ },+ {+ "role": "TreeItem",+ "name": "0402B104J160CT",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 4+ },+ {+ "role": "TreeItem",+ "name": "0402B223K250CT",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 4+ },+ {+ "role": "TreeItem",+ "name": "0402B224K160CT",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31926",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31925",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Pane",+ "name": "control",+ "id": "-31924",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "10559",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "ComboBox",+ "name": "",+ "id": "10558",+ "inv": false,+ "set": true,+ "depth": 2+ },+ {+ "role": "Text",+ "name": "",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Open",+ "id": "DropDown",+ "inv": true,+ "set": false,+ "depth": 3+ },+ {+ "role": "Pane",+ "name": "panel",+ "id": "-31923",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "Text",+ "name": "Symbol",+ "id": "-31922",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "Pane",+ "name": "wxPropertyGrid",+ "id": "-31921",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "ScrollBar",+ "name": "Vertical",+ "id": "NonClientVerticalScrollBar",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Line up",+ "id": "UpButton",+ "inv": true,+ "set": false,+ "depth": 4+ },+ {+ "role": "Thumb",+ "name": "Position",+ "id": "ScrollbarThumb",+ "inv": false,+ "set": false,+ "depth": 4+ },+ {+ "role": "Button",+ "name": "Page down",+ "id": "DownPageButton",+ "inv": true,+ "set": false,+ "depth": 4+ },+ {+ "role": "Button",+ "name": "Line down",+ "id": "DownButton",+ "inv": true,+ "set": false,+ "depth": 4+ },+ {+ "role": "Pane",+ "name": "",+ "id": "-31920",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31919",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31915",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31912",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31910",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "CheckBox",+ "name": "check",+ "id": "-31909",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "TitleBar",+ "name": "",+ "id": "",+ "inv": false,+ "set": true,+ "depth": 1+ },+ {+ "role": "MenuBar",+ "name": "System",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "System",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 3+ },+ {+ "role": "Button",+ "name": "Minimize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Maximize",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "Button",+ "name": "Close",+ "id": "",+ "inv": true,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuBar",+ "name": "Application",+ "id": "MenuBar",+ "inv": false,+ "set": false,+ "depth": 1+ },+ {+ "role": "MenuItem",+ "name": "File",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Edit",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "View",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Place",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Inspect",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Preferences",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ },+ {+ "role": "MenuItem",+ "name": "Help",+ "id": "",+ "inv": false,+ "set": false,+ "depth": 2+ }+ ]+ }+}