molecule-publish
Public Made by Adomby adom
Publish molecules AND generic boards to the Adom wiki - one publisher, two shapes: OCCT conversion (molecule mode with stats gates, or plain for boards), component packaging, adom-wiki publish, APM re
[EPIC] Unify molecule + board publishing; make pages render in adom-project-manager; deprecate publish-board
Goal
Fold generic board publishing into molecule-publish so it handles both molecules and plain boards, and have every page it publishes render correctly in adom-project-manager (APM). Then deprecate the separate publish-board skill (currently in adom/adom-project-manager → skills/publish-board/). One publisher, two shapes (molecule / board), one source of truth.
Decision (Barrett + Drew): molecule-publish becomes the single publisher. publish-board is retired. The new pipeline exports KiCad → STEP and uses step2glb to produce the GLB shown on the wiki — for both molecules and generic boards (one 3D path, no service-kicad GLB render).
What APM reads from a page (the contract to satisfy)
- Lists it:
type: componentpage taggedboardormolecule. - board/molecule kind: from tags. EDA badge: from file extensions (
.kicad_*→ KiCad, etc.). - Component list:
package.json.dependencies— APM'sboard_depsreads them and expands one hop (deps may live directly on the page; no separate library page required). - 3D view: the page's
model_3d_pathGLB (thestep2glboutput). - PCB + schematic views: a
render/folder —manifest.json{v, glb, pcb, sheets[]}+pcb.svg+sheet-000.svg…. Absentrender/→ APM shows a red "missing render folder" error bar and falls back to slow live rendering.
Sub-issues
- Add generic-board mode (non-molecule KiCad/EAGLE boards)
- Unified 3D: KiCad → STEP →
step2glb→ GLB (model_3d_path); APM reuses it - Emit APM render assets (
render/: manifest +pcb.svg+ per-sheet SVGs) on every publish/update - Write the dependency tree (component deps) into
package.json, merge-safe - Deprecate
publish-board, port its logic, backfill existing boards/molecules
Reference (source of truth to port from)
adom/adom-project-managerrepo →skills/publish-board/SKILL.md(the board→library→components + render flow) andskills/publish-board/kicad_board_bundle.py(analysis + model-ref normalize helper).- APM CLI already has
adom-project-manager --render-board <slug>— a push-only generator that writes just therender/folder (manifest +pcb.svg+ sheet SVGs +board.glb), touching nothing else. Reuse it. - The
render/manifest.jsonshape and thehas_renderdetection live in APMsrc/main.rs(board_media,stored_render,render_and_upload).
0 Replies
Log in to reply.