Skip to content

CodeMzt/easyeda-autodraw-pipeline

Repository files navigation

EasyEDA AutoDraw Pipeline

This workspace uses EasyEDA with the Run API Gateway extension to generate draft schematic pages from calibrated block specs. The automation flow is:

  1. Export accepted parts from LIB_POOL_AI.
  2. Compile a YAML block spec against the generated catalog plus Codex-selected fallback parts.
  3. Generate reports for missing parts, draw readiness, and live checks.
  4. Keep generated schematic work on DRAFT_* pages only.

Project constraints are recorded in eda/CONSTRAINTS.md; the operating playbook is eda/WORKFLOW.md. They cover Run API Gateway usage, page safety, visible wiring/layout expectations, cleanup behavior, and human acceptance rules.

Commands

npm run eda:status
npm run eda:export-lib
npm run eda:synthesize -- power_5v_3v3
npm run eda:preflight -- power_5v_3v3 --auto
npm run eda:preflight -- power_5v_3v3
npm run eda:compile -- power_5v_3v3
npm run eda:preflight -- low_side_actuator_driver
npm run eda:compile -- low_side_actuator_driver
npm run eda:draw -- low_side_actuator_driver
npm run eda:verify -- DRAFT_LOWSIDE_ACT_<timestamp>
npm run eda:preflight -- interface_expansion_2x8
npm run eda:compile -- interface_expansion_2x8
npm run eda:draw -- interface_expansion_2x8
npm run eda:verify -- DRAFT_IFACE_2X8_<timestamp>
npm run eda:compile -- smoke_fixture
npm run eda:draw -- power_5v_3v3
npm run eda:draw -- power_5v_3v3 --auto
npm run eda:draw -- power_5v_3v3 --candidate eda/reports/<candidate>-synthesize.json
npm run eda:verify -- DRAFT_POWER_5V3V3_<timestamp> --spec eda/reports/<candidate>-synthesize.json
npm run eda:delete-draft -- DRAFT_POWER_5V3V3_<timestamp> --prefix DRAFT_POWER_
npm run eda:test:unit
npm run eda:test:static
npm run eda:test:live

npm run eda:preflight -- <spec> is the real block gate: it checks recorded layout/orientation/route review plus offline route geometry and route straightness before any EasyEDA write. npm run eda:draw -- <spec> is draft-page gated and refuses real blocks that fail route preflight. It creates only DRAFT_* pages, resolves devices through EasyEDA search results at draw time, places components in small batches, then draws explicit visible routes from placement.routes. Real blocks must cover every connection in explicit routes; fanout fallback is limited to smoke_fixture. Generated pages remain pending until human visual acceptance.

npm run eda:synthesize -- <spec> materializes a deterministic V1 candidate for known calibrated roles. The source YAML is not rewritten; the candidate report contains materializedSpec, candidateId, route preflight evidence, and quality counts. --auto makes preflight or draw synthesize first, while --candidate <report.json> reuses a specific materialized candidate.

npm run eda:verify -- <draft> --spec <spec-or-candidate> adds hard equivalence evidence: expected components, pins, nets, and markers are compared with EasyEDA readback. It also stores a rendered screenshot under .easyeda-api/screenshots/ for human review.

smoke_fixture is exempt from route-quality preflight because it is only a temporary API lifecycle test. It must not be used as a schematic-quality example.

EasyEDA page create/rename/delete APIs are currently BETA. The automation confirms page names and delete results by readback instead of trusting boolean return values. Failed route drawing writes a draw-failed report with the page UUID, cleanup attempts, and the exact planned route segments.

Project Files

  • eda/specs/: YAML block specs.
  • eda/catalog/lib-pool-ai.json: generated accepted-part catalog.
  • eda/catalog/auto-selected-parts.json: Codex-selected fallback parts; LIB_POOL_AI overrides matching roles.
  • eda/reports/: generated evidence reports.
  • eda/reports/README.md: report retention policy. JSON reports are temporary runtime evidence and are ignored by Git.
  • schemas/eda-block.schema.json: block spec schema.
  • src/eda/: Node.js automation core.
  • .easyeda-api/: ignored runtime locks, draw journals, screenshots, and gateway caches.
  • scripts/easyeda_gateway.ps1: Run API Gateway helper.

Reports and DRC/readback evidence do not replace human visual acceptance in EasyEDA.

About

Deterministic EasyEDA schematic auto-drawing pipeline with synthesis, preflight, draw, and verification gates.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors