feat: ✨ lazily-loaded Gerber viewer demo in the blog, served from R2
Embed KiCad's gerbview WASM in the graphics-to-WebGL blog post as a
click-to-load demo that opens the tiny_tapeout board entirely in-browser.
- GerberDemo.astro: lazy iframe embed + cross-origin-isolation reload guard
+ WebGL2/SharedArrayBuffer feature-detect with a poster fallback
- public/gerber-demo/{index.html,boot.js}: self-contained gerbview boot
harness (config seed, MEMFS board preload, argv auto-open)
- board/ tiny_tapeout layers + poster.png committed; wasm/ glue JS committed
(served same-origin — pthread worker can't be cross-origin), while
gerbview.wasm + kicad-resources.bin are git-ignored and served from
Cloudflare R2 (assets.pcbjam.com)
- COOP/COEP require-corp scoped to the post + /gerber-demo routes
(dev: astro.config.mjs + middleware.ts; prod: vercel.json)
- post converted to MDX (@astrojs/mdx) so it can embed the component
- scripts/: sync-demo-wasm.sh, r2-deploy.sh, r2-cors.json
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
dca8e41390
commit
57f1f53d26
36 changed files with 242845 additions and 9 deletions
268
site/public/gerber-demo/board/tinytapeout-demo-B_Mask.gbr
Normal file
268
site/public/gerber-demo/board/tinytapeout-demo-B_Mask.gbr
Normal file
|
|
@ -0,0 +1,268 @@
|
|||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,7.0.9-7.0.9~ubuntu22.04.1*
|
||||
G04 #@! TF.CreationDate,2023-12-15T15:20:45-05:00*
|
||||
G04 #@! TF.ProjectId,tinytapeout-demo,74696e79-7461-4706-956f-75742d64656d,0.9.4*
|
||||
G04 #@! TF.SameCoordinates,PX35e1f20PY8044ea0*
|
||||
G04 #@! TF.FileFunction,Soldermask,Bot*
|
||||
G04 #@! TF.FilePolarity,Negative*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 7.0.9-7.0.9~ubuntu22.04.1) date 2023-12-15 15:20:45*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.900000*%
|
||||
%ADD11C,6.400000*%
|
||||
%ADD12O,1.250000X2.400000*%
|
||||
%ADD13O,1.180000X2.080000*%
|
||||
%ADD14R,1.700000X1.700000*%
|
||||
%ADD15O,1.700000X1.700000*%
|
||||
%ADD16C,1.700000*%
|
||||
%ADD17R,1.000000X2.510000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
G04 #@! TO.C,JP7*
|
||||
X99900000Y16780000D03*
|
||||
X96900000Y16780000D03*
|
||||
G04 #@! TD*
|
||||
G04 #@! TO.C,JP1*
|
||||
X99900000Y31780000D03*
|
||||
X96900000Y31780000D03*
|
||||
G04 #@! TD*
|
||||
D11*
|
||||
G04 #@! TO.C,MT3*
|
||||
X3750000Y77250000D03*
|
||||
G04 #@! TD*
|
||||
D12*
|
||||
G04 #@! TO.C,J15*
|
||||
X33870000Y79000000D03*
|
||||
D13*
|
||||
X22630000Y75000000D03*
|
||||
X33870000Y75000000D03*
|
||||
D12*
|
||||
X22630000Y79000000D03*
|
||||
G04 #@! TD*
|
||||
D14*
|
||||
G04 #@! TO.C,J13*
|
||||
X4500000Y34440000D03*
|
||||
D15*
|
||||
X4500000Y36980000D03*
|
||||
X4500000Y39520000D03*
|
||||
X4500000Y42060000D03*
|
||||
X4500000Y44600000D03*
|
||||
D16*
|
||||
X4500000Y47140000D03*
|
||||
D15*
|
||||
X1960000Y34440000D03*
|
||||
X1960000Y36980000D03*
|
||||
X1960000Y39520000D03*
|
||||
X1960000Y42060000D03*
|
||||
X1960000Y44600000D03*
|
||||
X1960000Y47140000D03*
|
||||
G04 #@! TD*
|
||||
D16*
|
||||
G04 #@! TO.C,J2*
|
||||
X18810000Y3000000D03*
|
||||
D15*
|
||||
X16270000Y3000000D03*
|
||||
X13730000Y3000000D03*
|
||||
X11190000Y3000000D03*
|
||||
G04 #@! TD*
|
||||
D10*
|
||||
G04 #@! TO.C,JP3*
|
||||
X99900000Y26780000D03*
|
||||
X96900000Y26780000D03*
|
||||
G04 #@! TD*
|
||||
G04 #@! TO.C,JP8*
|
||||
X99900000Y14280000D03*
|
||||
X96900000Y14280000D03*
|
||||
G04 #@! TD*
|
||||
D16*
|
||||
G04 #@! TO.C,J8*
|
||||
X64545000Y3000000D03*
|
||||
D15*
|
||||
X62005000Y3000000D03*
|
||||
X59465000Y3000000D03*
|
||||
G04 #@! TD*
|
||||
D14*
|
||||
G04 #@! TO.C,J12*
|
||||
X4500000Y11580000D03*
|
||||
D15*
|
||||
X4500000Y14120000D03*
|
||||
X4500000Y16660000D03*
|
||||
X4500000Y19200000D03*
|
||||
X4500000Y21740000D03*
|
||||
D16*
|
||||
X4500000Y24280000D03*
|
||||
D15*
|
||||
X1960000Y11580000D03*
|
||||
X1960000Y14120000D03*
|
||||
X1960000Y16660000D03*
|
||||
X1960000Y19200000D03*
|
||||
X1960000Y21740000D03*
|
||||
X1960000Y24280000D03*
|
||||
G04 #@! TD*
|
||||
D14*
|
||||
G04 #@! TO.C,J3*
|
||||
X34045000Y5545000D03*
|
||||
D15*
|
||||
X31505000Y5545000D03*
|
||||
X28965000Y5545000D03*
|
||||
X26425000Y5545000D03*
|
||||
X23885000Y5545000D03*
|
||||
D16*
|
||||
X21345000Y5545000D03*
|
||||
D15*
|
||||
X34045000Y3005000D03*
|
||||
X31505000Y3005000D03*
|
||||
X28965000Y3005000D03*
|
||||
X26425000Y3005000D03*
|
||||
X23885000Y3005000D03*
|
||||
X21345000Y3005000D03*
|
||||
G04 #@! TD*
|
||||
D11*
|
||||
G04 #@! TO.C,MT4*
|
||||
X100750000Y77250000D03*
|
||||
G04 #@! TD*
|
||||
G04 #@! TO.C,MT2*
|
||||
X100750000Y3750000D03*
|
||||
G04 #@! TD*
|
||||
D14*
|
||||
G04 #@! TO.C,J5*
|
||||
X56905000Y5545000D03*
|
||||
D15*
|
||||
X54365000Y5545000D03*
|
||||
X51825000Y5545000D03*
|
||||
X49285000Y5545000D03*
|
||||
X46745000Y5545000D03*
|
||||
D16*
|
||||
X44205000Y5545000D03*
|
||||
D15*
|
||||
X56905000Y3005000D03*
|
||||
X54365000Y3005000D03*
|
||||
X51825000Y3005000D03*
|
||||
X49285000Y3005000D03*
|
||||
X46745000Y3005000D03*
|
||||
X44205000Y3005000D03*
|
||||
G04 #@! TD*
|
||||
D10*
|
||||
G04 #@! TO.C,JP2*
|
||||
X99900000Y29280000D03*
|
||||
X96900000Y29280000D03*
|
||||
G04 #@! TD*
|
||||
D14*
|
||||
G04 #@! TO.C,J10*
|
||||
X1690000Y29260000D03*
|
||||
D15*
|
||||
X4230000Y29260000D03*
|
||||
G04 #@! TD*
|
||||
D16*
|
||||
G04 #@! TO.C,J17*
|
||||
X41700000Y3000000D03*
|
||||
D15*
|
||||
X39160000Y3000000D03*
|
||||
X36620000Y3000000D03*
|
||||
G04 #@! TD*
|
||||
D14*
|
||||
G04 #@! TO.C,J9*
|
||||
X95000000Y79000000D03*
|
||||
D15*
|
||||
X92460000Y79000000D03*
|
||||
X89920000Y79000000D03*
|
||||
X87380000Y79000000D03*
|
||||
X84840000Y79000000D03*
|
||||
X82300000Y79000000D03*
|
||||
X79760000Y79000000D03*
|
||||
X77220000Y79000000D03*
|
||||
X74680000Y79000000D03*
|
||||
X72140000Y79000000D03*
|
||||
X69600000Y79000000D03*
|
||||
X67060000Y79000000D03*
|
||||
X64520000Y79000000D03*
|
||||
X61980000Y79000000D03*
|
||||
X59440000Y79000000D03*
|
||||
X56900000Y79000000D03*
|
||||
X54360000Y79000000D03*
|
||||
X51820000Y79000000D03*
|
||||
X49280000Y79000000D03*
|
||||
X46740000Y79000000D03*
|
||||
X44200000Y79000000D03*
|
||||
X41660000Y79000000D03*
|
||||
X39120000Y79000000D03*
|
||||
X36580000Y79000000D03*
|
||||
G04 #@! TD*
|
||||
D10*
|
||||
G04 #@! TO.C,JP5*
|
||||
X99900000Y21780000D03*
|
||||
X96900000Y21780000D03*
|
||||
G04 #@! TD*
|
||||
D14*
|
||||
G04 #@! TO.C,J14*
|
||||
X4500000Y57300000D03*
|
||||
D15*
|
||||
X4500000Y59840000D03*
|
||||
X4500000Y62380000D03*
|
||||
X4500000Y64920000D03*
|
||||
X4500000Y67460000D03*
|
||||
D16*
|
||||
X4500000Y70000000D03*
|
||||
D15*
|
||||
X1960000Y57300000D03*
|
||||
X1960000Y59840000D03*
|
||||
X1960000Y62380000D03*
|
||||
X1960000Y64920000D03*
|
||||
X1960000Y67460000D03*
|
||||
X1960000Y70000000D03*
|
||||
G04 #@! TD*
|
||||
D10*
|
||||
G04 #@! TO.C,JP6*
|
||||
X99900000Y19280000D03*
|
||||
X96900000Y19280000D03*
|
||||
G04 #@! TD*
|
||||
D14*
|
||||
G04 #@! TO.C,J1*
|
||||
X95000000Y3000000D03*
|
||||
D15*
|
||||
X92460000Y3000000D03*
|
||||
X89920000Y3000000D03*
|
||||
X87380000Y3000000D03*
|
||||
X84840000Y3000000D03*
|
||||
X82300000Y3000000D03*
|
||||
G04 #@! TD*
|
||||
D14*
|
||||
G04 #@! TO.C,J6*
|
||||
X79765000Y5545000D03*
|
||||
D15*
|
||||
X77225000Y5545000D03*
|
||||
X74685000Y5545000D03*
|
||||
X72145000Y5545000D03*
|
||||
X69605000Y5545000D03*
|
||||
D16*
|
||||
X67065000Y5545000D03*
|
||||
D15*
|
||||
X79765000Y3005000D03*
|
||||
X77225000Y3005000D03*
|
||||
X74685000Y3005000D03*
|
||||
X72145000Y3005000D03*
|
||||
X69605000Y3005000D03*
|
||||
X67065000Y3005000D03*
|
||||
G04 #@! TD*
|
||||
D10*
|
||||
G04 #@! TO.C,JP4*
|
||||
X99900000Y24280000D03*
|
||||
X96900000Y24280000D03*
|
||||
G04 #@! TD*
|
||||
D11*
|
||||
G04 #@! TO.C,MT1*
|
||||
X3750000Y3750000D03*
|
||||
G04 #@! TD*
|
||||
D17*
|
||||
G04 #@! TO.C,J11*
|
||||
X22950000Y30775000D03*
|
||||
X20410000Y27465000D03*
|
||||
X17870000Y30775000D03*
|
||||
X15330000Y27465000D03*
|
||||
X12790000Y30775000D03*
|
||||
X10250000Y27465000D03*
|
||||
G04 #@! TD*
|
||||
M02*
|
||||
Loading…
Reference in a new issue