← Commit history

1.0.89: 1.0.89: camera choreography (the standard's animate_view).

Colby Knox ·5dbb6cdb1a ·11d ago ·parent be88db0
- **kicad_animate_view (new; the standard's animate_view):** camera steps run inside the bridge, so the timing is tight enough to narrate over. Everything runs in the background. - On the PCB editor: zoom_all, zoom_in and zoom_out, as KiCad's own actions through its API. - In the 3D Viewer: views, orbits, rolls, pans, flip and rotate90, as its View-menu commands. - view_3d and view_2d switch between them within one call. - Presets: punch_in, orbit, showcase3d, flip and finale. - Steps KiCad has no command for (isometric, ortho) are listed in skipped, never faked. The schematic lane is refused as not_supported, because KiCad 10's Schematic Editor has no API. - Checked on the pic_programmer demo board: - Four zoom-ins took the editor from zoom 2.84 to 20.00, centred. - 17 3D commands ran in 6.8 s, with isometric skipped. - The orbit preset's 36 commands ran in 5.4 s. - **kicad_lint_library: the standard's library lint** (engine 0.21.1, standard #28). The bridge's structural check and KiCad's own verdict now come with the shared content rules, each finding carrying its rule and severity. - Footprints: no pads, zero-size pads, unnumbered and duplicate pad numbers, no courtyard, origin off the part, no silkscreen, no 3D body, no description. - Symbols: no pins, unnumbered and duplicate pins, no footprint, footprint not found, pins without pads and pads without pins, no part number. - kicad-cli's refusals pass through as tool_refuses_file. - Linting a symbol library alone now finds its linked footprints ("Lib:Name": a Lib.pretty beside it, else KiCad's footprint library tables), so pins are checked against pads. Those footprints' own findings stay out, since they aren't the library being linted. - KiCad's paste-only apertures (pads with no copper) and unplated holes need no number and no pin. - A kicad-cli that doesn't answer in time is now reported as "verdict unknown", no longer as KiCad refusing the file. - Checked: KiCad's Package_SO library (401 footprints) has no errors, and its split exposed pads are quiet: engine 0.21.1 counts touching pads with the same number as one land. - Checked: a 6-pin symbol linked to a SOT-23-5 gives "pin 6 has no pad on Test:SOT-23-5". - **kicad_update_footprints_from_library: the standard's reply** (#27, now a core verb). - Each row carries footprint and library; the count is also given as differs. - padsChanged lists what changed (type, shape, position, rotation, size, drill, layers). - **Engine:** adom-eda-checks 0.21.1 (EDA Bridge Standard 0.24.2).
1 file changed +4−3
README.md+4−3
@@ -257,7 +257,7 @@ viewer. This is how every 3D shot above exists.  <!-- verbs:start (tools/readme_verbs.py writes this) --> -Every verb of this build (300, `kicad_describe` is the live catalog with inputs, hints and pitfalls). A name marked *standard* is the EDA Bridge Standard's name for the verb after the arrow.+Every verb of this build (301, `kicad_describe` is the live catalog with inputs, hints and pitfalls). A name marked *standard* is the EDA Bridge Standard's name for the verb after the arrow.  **Board model and reads (EDA Bridge Standard)** (12) @@ -340,7 +340,7 @@ Every verb of this build (300, `kicad_describe` is the live catalog with inputs, | `kicad_install_library_bundle` | Install an Adom wiki Cloud Library bundle zip (symbols + footprints + 3D models) in one call. | | `kicad_install_plugin` | Retired: the native bridge installs no Python plugin into KiCad. Returns success with nothing to do so old scripts keep working. | | `kicad_install_symbol` | Merge the symbol(s) of a .kicad_sym into the single global Adom library (Adom.kicad_sym), creating and registering it on first use. |-| `kicad_lint_library` | Lint a symbol/footprint library via kicad-cli. |+| `kicad_lint_library` | Lint a symbol/footprint library: the bridge's structural check, KiCad's own verdict (kicad-cli), and the standard's content rules (pads, courtyard, origin, silkscreen, 3D body, description; pins, footprint link, pins against pads, part number), each finding with its rule and severity. | | `kicad_list_footprints` | What footprints actually exist, per library: the fp-lib-table (URIs expanded, stock libraries included) plus unregistered .pretty folders in the user dir. | | `kicad_list_symbols` | Names in a registered symbol library, with KiCad's own inventory. | | `kicad_make_part_project` | Generate a small real project (pro/sch/pcb) AROUND an installed Adom-library part, so the project/schematic/2D-board/3D-board surfaces have something true to show for one component. |@@ -469,7 +469,7 @@ Every verb of this build (300, `kicad_describe` is the live catalog with inputs, | `kicad_project_rename` | Rename a project: the .kicad_pro, root .kicad_sch, .kicad_pcb, .kicad_prl (and .kicad_dru, backups folder), with the references inside updated (project file entries, every schematic's instance headers, the board's sheet references and title). Refused while KiCad has the project open. | | `kicad_project_snapshot` | Timestamped copy of the project's files into <project>/snapshots/<stamp>[-label]/, plus schematic and board PDFs made with kicad-cli. | -**Windows, editors, install and the bridge** (125)+**Windows, editors, install and the bridge** (126)  | Verb | What it does | |---|---|@@ -478,6 +478,7 @@ Every verb of this build (300, `kicad_describe` is the live catalog with inputs, | `kicad_add_body` | Put a 3D body (a STEP or VRML model) on a library footprint. It REPLACES the footprint's models unless keepExisting:true, so a re-import never stacks a second body. | | `kicad_align_parts` | *standard* → `kicad_align_footprints` | | `kicad_analyze_connections` | Connectivity overview: suspected-unconnected pins, power nets, highest-fanout nets/components (read-only). |+| `kicad_animate_view` | Camera choreography on the open board, run inside the bridge so the timing is tight enough to narrate over: zooms on the PCB editor (KiCad's own actions through its API), and in the 3D Viewer orbits, rolls, views, pans and flips (its View-menu commands), all in the background. | | `kicad_assembly_check` | Ready for JLCPCB assembly? The board against both JLCPCB PCBA tiers as published (Economic and Standard): board or panel size, thickness and layers, parts on one or both sides, the smallest package and the finest pin pitch, fiducials, and the purchased parts with no LCSC number; answers the cheapest tier every rule allows. | | `kicad_auto_classes` | Net classes from the nets' own names: GND, Power (VCC, VDD, 3V3, VBAT...), Clock and HighSpeed (USB, Ethernet, HDMI, PCIe, DDR, MIPI, LVDS, SATA), and the differential pairs their names spell; a proposal first, written into the project's net classes with apply. | | `kicad_board_report` | One shareable page per board: every check run against the board and its project (KiCad's DRC and ERC, a fab's limits, the board against the schematic, symbols against footprints, return paths, copper balance, impedance widths, 3D heights, pair skew and part orientation) with a picture of the board, written as a single HTML file. |