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 render assets + component dependencies. Companion to adom-molecule-import.
Molecule pipeline: auto-create a component Library page and link it between the board and its parts
For Drew.
Right now the molecule pipeline links a board's components directly into the board's own package.json dependencies (board -> components, one hop). It does not create a component Library page in between.
Confirmed on the two NTX boards that were just run through the pipeline:
ntx-embedded/teazzers-taprite-solonoid-638-0031-multicarrierntx-embedded/teazzers-taprite-solonoid-638-0031-v2
Each lists its 3 parts directly as dependencies (adom/teazzers-taprite-solenoid-638-0031-v1, barrett-land/kt-0603r, adom/0603waf4702t5e). No library page exists for either of them.
Requested change
When a board is published, also create a <Name> Library component page (type component, tag library) whose dependencies are the board's components, and make the board depend on that library. So the graph becomes:
board -> <Name> Library -> components
Reference example (already has this shape, but built by hand, not by the pipeline)
adom/usb3-to-ethernet-dataonly-molecule
-> barrett-land/usb3-to-ethernet-dataonly-molecule-library (type component, tag library)
-> 28 component pages
The board carries one dependency (the library), the library carries the component links, and APM resolves it one hop. This matches the APM board -> library architecture and gives a clean, reusable library page per board instead of the board carrying the raw parts list.
Notes
- Component pages still need to exist first (keyed by MPN) for the links to resolve.
- The dependency graph rides
pkg publish(registry), not the gitrepo push. - Minor separate observation while checking this: both NTX boards have
component.parts.model_3d: null, so their 3D model may not be wired into the component block. Flagging in case it is related.