Commit graph

15 commits

Author SHA1 Message Date
c9e17b4f67 part: surface the functional mixed-signal model separately
The `spice` field on a digital part is a power and loading macromodel — it draws
the right quiescent current and cannot shift a bit. Showing it under a single
"SPICE model" heading implies the part is simulatable, which for the digital
parts it was not.

`spice_mixed` is a model that performs the part's actual function, verified by
simulation, and it is now shown as its own section with what was verified and
what is not modelled. The download bundles both, so a deck gets the functional
model and keeps the supply behaviour.
2026-08-16 17:41:49 +00:00
529aa947e1 footprint: fit each pad label to its pad
With real geometry in, a fixed label size turns multi-character names on fine-pitch
pads into overlapping mush — USB-C's A1/B12 row was unreadable. Scale per pad instead,
bounded by both the pad width (divided across the label) and its height.
2026-08-16 15:32:32 +00:00
1189c26a95 footprint: recognise ELLIPSE as a round pad
The real geometry now arriving from EasyEDA spells a round pad ELLIPSE, which
this test did not match — so every through-hole pad would have drawn as a square
with the right dimensions. OVAL/ROUND are the KiCad-side spellings of the same thing.
2026-08-16 15:27:16 +00:00
625999e541 catalog: the 3D chip on a card was also a literal
Same problem as the detail page: every card claimed 3D whether or not model_3d
was set. Derive it.
2026-08-16 14:46:20 +00:00
0ceb862eeb part: the asset checklist must reflect the data, not assert it
Every part rendered "✓ 3D model ✓ Schematic ✓ Footprint ✓ SPICE" as literal markup,
regardless of what it actually had. footprint_pads is absent from all 80 parts, so
the Footprint tab says "no footprint data" while the checklist two inches away
claims a tick — which is how a missing footprint reads as a rendering bug rather
than missing data.

Each item now derives from the field the corresponding tab actually reads.
2026-08-16 14:46:13 +00:00
b08b6b7648 viewer: treat a fully transparent material as bad data, not a choice
Two EasyEDA-converted connectors (WJ128V-5.0-3P, HR911105A) shipped with every
material at transparency 1.0. The WRL downloads, parses and renders perfectly --
as nothing: blank tile, a valid PNG of empty space, no error anywhere. The models
are fixed; this stops the next bad vendor material vanishing the same silent way.
2026-08-16 13:03:22 +00:00
0a1208e496 Readability + phone-fit pass: kill horizontal overflow, calmer type/spacing, collapse long use-cases + SPICE 2026-08-15 01:35:08 +00:00
4c390d45c7 SSO: gate uses shared app.promptpcb.ai accounts 2026-08-15 00:56:15 +00:00
d20596989c Fix viz tabs (were stacking) + mobile responsive 2026-08-15 00:30:07 +00:00
e56ef2ddb6 catalog served via authed function 2026-08-15 00:27:27 +00:00
86e9656c72 Gate entire site behind PromptPCB login (Corben tenant auth); catalog + files served only to authed users 2026-08-15 00:27:24 +00:00
706e50cdf5 Add 3D/Schematic/Footprint visualization tabs + connector board-edge marker 2026-08-15 00:17:53 +00:00
cf903e29d7 Real WRL 3D models in a white studio lightbox 2026-08-15 00:15:31 +00:00
bd0e7fd298 Redesign: dev-voice copy, lime/near-black theme, 3D hero lattice, scroll reveals; files → object storage 2026-08-14 23:58:47 +00:00
dc767edabc Initial PromptPCB Parts store — 18 curated parts, PBR viewer, submit flow 2026-08-14 23:47:37 +00:00