← Commit history

Publish 1.0.1

Ray ·797c53a6b1 ·2mo ago ·parent f44fe21
4 files changed +11−11
README.md+1−1
@@ -41,7 +41,7 @@ In a wiki `readme.html` the sandbox has no network, so feed **inline JSON** (nev `src=`) and inline the widget JS. See the `wiki-readme-html` skill and the live reference page `adom/component-widgets`, whose own `readme.html` runs all four. -## Not here — use adom-lbr+## Not here: use adom-lbr  Schematic **symbol**, **footprint** (layer stackup), and **3D** are adom-lbr's viewers, already on the same hover bus. The **datasheet** renders via the native
SKILL.md+8−8
@@ -39,7 +39,7 @@ throw in the sandbox). See the `wiki-readme-html` skill; the reference page's ow  ## The widgets -### `<adom-pinout>` — pin diagram + table+### `<adom-pinout>`: pin diagram + table Datasheet-style chip: pins on the sides colored by type, exposed pad centered, with a synced pin table. Diagram and table cross-highlight each other. ```@@ -51,9 +51,9 @@ is the mm pad center (footprint frame, +y up); with real `xy` it lays out from t true footprint, otherwise it infers a quad/dual package from `package`. Attributes: `layout="auto|quad|dual"`, `heading`. Public method `highlight(n)`; emits `pinhover`. -### `<adom-heatsink-via>` — exposed-pad thermal vias · new+### `<adom-heatsink-via>`: exposed-pad thermal vias · new The recommended thermal-via array under the exposed pad (count, drill, pitch).-**Only renders when the part actually has an exposed pad**, otherwise an empty state.+**Only renders when the part has an exposed pad**, otherwise an empty state. ``` { "mpn": "MCP23017", "package": "QFN-28-1EP_6x6mm_P0.65mm_EP4.25x4.25mm",   "ep": { "w_mm": 4.25, "h_mm": 4.25, "number": 29 } }@@ -61,7 +61,7 @@ The recommended thermal-via array under the exposed pad (count, drill, pitch). Or give it `pads: [{number,x_mm,y_mm}]` and it detects the EP geometrically. Keyed on the EP pin number, so it lights when that pad is hovered in the pinout or footprint. -### `<adom-molecule>` — ganged parts + nets · new+### `<adom-molecule>`: ganged parts + nets · new A molecule (reusable sub-circuit) as its part set plus how they connect. Hover a net to light its parts; hover a part to light its nets. ```@@ -71,7 +71,7 @@ to light its parts; hover a part to light its nets. ``` `type` is `mcu|ic|cap|res|xtal|diode|conn|other` (inferred from the refdes if omitted). -### `<adom-chip-thumbnail>` — rendered part image · new+### `<adom-chip-thumbnail>`: rendered part image · new ``` <adom-chip-thumbnail src="thumb.png" mpn="74HC00" package="SOIC-14"></adom-chip-thumbnail> ```@@ -81,14 +81,14 @@ part's GLB). Falls back to a clean placeholder when there is no render. ## The cross-highlight bus  Every widget speaks one channel: `BroadcastChannel('lbr-hover')` (with a-`parent.postMessage` relay for cross-iframe). Pin-keyed widgets — pinout,-heat-sink via, and adom-lbr's footprint + 3D — post and receive+`parent.postMessage` relay for cross-iframe). The pin-keyed widgets (pinout,+heat-sink via, and adom-lbr's footprint + 3D) post and receive `{ type:'lbr-hover', pin:<number> }`, so hovering a pin in one lights the same pin everywhere. The molecule posts `{ ...ref }` (its own ganged relationship) rather than a pin. Any widgets sharing a document (or relayed across iframes) gang up automatically; no wiring needed. -## What is NOT here — use adom-lbr+## What is NOT here: use adom-lbr  Schematic **symbol**, **footprint** (layer stackup), and **3D** already exist as adom-lbr's viewers, on the same `lbr-hover` bus. Embed those; do not reimplement
package.json+1−1
@@ -2,7 +2,7 @@   "slug": "component-widgets",   "title": "Component Widgets",   "type": "app",-  "version": "1.0.0",+  "version": "1.0.1",   "description": "Reusable, dependency-free web-component widgets to drop into any component or molecule page: <adom-pinout> (datasheet-style pin diagram + synced table), <adom-heatsink-via> (exposed-pad thermal via array, only when the part has an EP), <adom-molecule> (ganged part set + nets), and <adom-chip-thumbnail> (rendered part image). Each is one custom element, self-contained (Shadow DOM, no deps), theme-aware (light + dark), fed by inline JSON or el.data, and all on one lbr-hover cross-highlight bus so a pin hovered in one lights the same pin everywhere. Symbol, footprint, and 3D stay with adom-lbr; the datasheet renders via the native viewer. Installs the widget JS, iframe-embeddable viewers, example data, and an AI skill to ~/.claude/skills/component-widgets. Live reference page renders them all as a readme.html.",   "license": "MIT",   "dependencies": {},
page.json+1−1
@@ -4,7 +4,7 @@   "type": "app",   "title": "Component Widgets",   "brief": "One home for the reusable, readme-instantiable component/molecule widgets (pinout, heat-sink via, chip thumbnail, molecule) — self-contained web components on the shared adom-lbr hover bus.",-  "version": "1.0.0",+  "version": "1.0.1",   "visibility": "private",   "author": {     "name": "Ray",