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.
Permit verified texture-preserving molecule GLBs and separate wiki titles from board revisions #3
Repeated logic-gate molecule work exposed guidance that encouraged repeated builds/screenshots, discarded detailed model textures, or conflated board revision with page title. This documentation change records the tested workflow and routes family generation/review to the focused skills in Logic Molecule Workflows.
The skill bundle is installed locally for Claude and Codex; registry publication is waiting on the required human Hero Studio step. The new guidance keeps electrical, grid, anchoring and ownership gates, distinguishes merged upstream fixes from installed versions, and preserves the existing source/CLI workflows outside this scope. The comparison prompt uses isolated work directories and identical inputs/checks; no Claude evaluation has been run.
Validation: the two new skills pass the skill validator and reference checks, and their installer passes isolated-home/idempotence/preservation checks. Workflow evidence comes from eight individually inspected local expansion boards with zero native KiCad violations/unconnected items and the detailed textured models of the five published gates. This is not a fabrication or bench qualification claim.
Ownership app checked on 2026-09-11: Drew owns molecule-publish; owner merges, others PR. Submitted by Ray for owner review. No runtime code or dependency upgrade is included. Related upstream fixes: tscircuit/core#3892, tscircuit/cli#4715, tscircuit/props#844 (merged); remaining presentation fixes are tracked in tscircuit/cli#4719, tscircuit/circuit-to-svg#739 and tscircuit/circuit-json-to-gltf#197.
Diff Skip to comments (2)
@@ -1,473 +1,483 @@⋯ 6 unchanged lines ⋯ # molecule-publish — source bundle → wiki molecule +## Detailed textured EDA models: qualified alternative++The STEP/OCCT path below remains the standard source of molecule footprint/symbol metadata and attachment gates. When an EDA export already contains a higher-quality textured board model, do not discard its textures in a STEP round trip. A **verified anchored detailed GLB** is a supported alternative visual model: preserve mesh/material/image/binary payloads, transform verified units/up-axis into the molecule frame, and prove that every MP/MC coordinate and height matches the PCB/STEP-derived footprint. Raw unnormalized EDA GLBs are not acceptable. Keep the assembly STEP and generated footprint/symbol metadata as separate required assets.++The tested tscircuit path and visual checks are in **adom-molecule-visual-review**, supplied by `adom/logic-molecule-workflows`. Its reference root-transform adapter rejects unknown scene hierarchies; do not bypass those checks. Compare published GLB bytes against the validated staged model and render the hero from that same model. Preserve original colors/materials: “golden model” means authoritative quality, not gold coloring.++For the logic series, use the full MPN plus board revision on silkscreen, but omit `v1.0` from wiki display titles. Keep “Molecule” according to the user's naming preference. A title-only change can use `adom-wiki page edit --title`; preserve hero/visibility and update the local publication manifest so later releases do not revert it. Component-page linking remains a separate step.++ The EDA-agnostic middle of the molecule pipeline. Input is the **bare-minimum bundle** any EDA export produces; output is a published, pipeline-ready wiki component. The Hydrogen half is `adom-molecule-import` — this skill is its⋯ 14 unchanged lines ⋯ | render/ + deps (APM) | yes | yes | Decide by the board itself: Adom machine pins + MP1-MP4 markers -> molecule;-otherwise board. Both shapes get `<slug>.glb` from step2glb (never an-EDA-native GLB), `model_3d_path` pointing at it, and the APM stages below.+otherwise board. Both shapes get a validated `<slug>.glb` from step2glb or the+qualified textured-model alternative above, `model_3d_path` pointing at it, and the APM stages below. ## Contract — inputs vs the published set **The user supplies sources; this skill generates and attaches the rest.** The published page always carries the full set — **GLB + STEP + schematic + board + metadata** — and every downstream tool expects all five (import-reuses the GLB, wiring reads the metadata). The GLB and footprint/symbol-JSON are never user-supplied: they come out of the OCCT conversion below.+reuses the GLB, wiring reads the metadata). Footprint/symbol JSON comes from the gated conversion below. The GLB is+either that conversion output or the verified anchored textured alternative above. ### Inputs — the bare-minimum bundle ⋯ 3 unchanged lines ⋯ | yes | Board/layout (`.kicad_pcb` or `.brd`) | what footprint+symbol generation parses | | yes | Schematic — `.kicad_sch` (EVERY sheet: root + sub-sheets) or `.sch` | source completeness + APM's hierarchical schematic view renders from these | | board shape | `.kicad_pro` + any `.kicad_sym`/`.pretty` used | APM render sources |-| generated | GLB | OCCT conversion output — never user-supplied, always published |+| generated | GLB | Gated OCCT output or verified anchored textured model; always published | | generated | Metadata | OCCT footprint/symbol JSONs + the authored `package.json` | | board shape | Bundled 3D — `3d/<basename>` for every CUSTOM `(model ...)` | see below (#16); recipients render blank without it | | optional | Silk PNGs (top/bottom) | white artwork on transparent |⋯ 229 unchanged lines ⋯ curl -fsSL "https://wiki.adom.inc/blob/component/<slug>/<slug>.glb" -o /tmp/check.glb sha256sum /tmp/check.glb <slug>.glb # MUST match — if not, the page is # serving a different GLB (e.g. the wiki's plain auto-conversion): re-push- # your OCCT GLB as <slug>.glb and re-verify.+ # your validated GLB as <slug>.glb and re-verify. ``` Your conversion's stats block (`molecule_anchored: true`, no warnings) plus this checksum equals a verified anchored GLB on the page.⋯ 182 unchanged lines ⋯ - `kicad-export-molecule` / `fusion-export-molecule` / `altium-export-molecule` — the EDA → bundle front-ends that hand off here - `adom-step2glb` — the conversion CLI/service this skill drives - `molecule-pipeline` — the top-level router across the whole chain+
Comments
Log in to comment.