<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archsetup/docs/prototypes/widgets.js, branch main</title>
<subtitle>Builds a full dev workstation from a bare Arch Linux install.
</subtitle>
<id>https://git.cjennings.net/archsetup/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/archsetup/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/'/>
<updated>2026-07-13T04:54:01+00:00</updated>
<entry>
<title>feat(gallery): rebuild R05 filter bank with three skin axes</title>
<updated>2026-07-13T04:54:01+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T04:54:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=5c3a4b70696929078f8b14b81c29f83264a9589b'/>
<id>urn:sha1:5c3a4b70696929078f8b14b81c29f83264a9589b</id>
<content type='text'>
The old card was a sketch: eight bare tracks and flat teal arrows floating on the card background. Real slider banks (the Vieltronix filter, the Pioneer SG-9500, the Technics SH-8065, the Zaxcom Oasis) have a faceplate, dual dB rails, dense bands, and caps that read as machined parts.

The rebuilt bank draws twelve bands on a screwed faceplate with tick rails both sides. Skins ship as constructor opts backed by GW.filterBank.STYLES on three independent axes: panel (lab parchment / silver aluminum / studio black), cap shape (tall block fader / short ribbed / chrome T), and cap color (black white-index / red, green, blue, amber stripes / chrome / cream). Shape and color are separate axes so any finish applies to any cap. opts.style picks a native trio. setStyle(axis, name) restyles a live instance with values preserved. The card grows chip groups driving setStyle, the same demo-rig pattern as the slide toggle.

Values shorter than a custom freqs list now pad instead of placing caps at NaN. I filed the Oasis reference alongside the others.
</content>
</entry>
<entry>
<title>refactor(gallery): slide-toggle style options become GW.slideToggle opts</title>
<updated>2026-07-13T03:55:23+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T03:55:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=7b3bc47018487aa06e5b6d630516d7ef42d94406'/>
<id>urn:sha1:7b3bc47018487aa06e5b6d630516d7ef42d94406</id>
<content type='text'>
The four style axes (on/off track, off engraving, thumb) move from a page-side chip rig into named constructor opts backed by GW.slideToggle.STYLES, with a setStyle handle method for live restyling. The gallery chips stay as a demo rig driving that method. Defaults match the stylesheet fallbacks, so a bare GW.slideToggle renders unchanged.
</content>
</entry>
<entry>
<title>refactor(gallery): move widget CSS into GW_CSS in widgets.js</title>
<updated>2026-07-13T03:52:27+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T03:52:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=651ba1e2138bb2643b12d6a3bb7f693f1785c134'/>
<id>urn:sha1:651ba1e2138bb2643b12d6a3bb7f693f1785c134</id>
<content type='text'>
Widget-internal rules and the pulse/flipdrop keyframes now inject via ensureCss, so widgets.js consumers get styling without the gallery stylesheet. The page-side reelspin injector became a plain GW_CSS rule. The gallery keeps page furniture, option-chip capsules, tokens, and the reduced-motion guard.
</content>
</entry>
<entry>
<title>refactor(gallery): extract indicators R35, R36, R45-R47, R52 into GW builders</title>
<updated>2026-07-13T03:43:53+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T03:43:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=a95200c188327dc17da23710a65d2d19a3c6b485'/>
<id>urn:sha1:a95200c188327dc17da23710a65d2d19a3c6b485</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(gallery): extract indicators R10, R11, R25, R26, R30, R31 into GW builders</title>
<updated>2026-07-13T03:40:22+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T03:40:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=066bdac1c195fa27d4b71f2ba53ee9265ee7c833'/>
<id>urn:sha1:066bdac1c195fa27d4b71f2ba53ee9265ee7c833</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(gallery): extract indicators N20-N28 into GW builders</title>
<updated>2026-07-13T03:35:24+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T03:35:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=4064de53a9abfa7620d9d7e3f95e867ba0bf54e3'/>
<id>urn:sha1:4064de53a9abfa7620d9d7e3f95e867ba0bf54e3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(gallery): extract indicators 18-23, 26 into GW builders</title>
<updated>2026-07-13T03:27:44+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T03:27:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=838065cea987a5364c7f4d771f9a2b873990918b'/>
<id>urn:sha1:838065cea987a5364c7f4d771f9a2b873990918b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(gallery): extract meters R43, R44, R53-R56 into GW builders</title>
<updated>2026-07-13T03:19:10+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T03:19:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=145f86882d2a692e9049b0c7fd16f8a83303c326'/>
<id>urn:sha1:145f86882d2a692e9049b0c7fd16f8a83303c326</id>
<content type='text'>
The heading-bug servo chase and the chart recorder's day clock are widget-owned animations, so they move into their builders with the reduced-motion gates intact (reduced motion paints the recorder's full day once). This completes the Meters section — all 28 extracted.
</content>
</entry>
<entry>
<title>refactor(gallery): extract meters R01, R07-R09, R13, R17 into GW builders</title>
<updated>2026-07-13T03:15:12+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T03:15:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=63577703fe59f03e98a039fec8be56c2fc32826b'/>
<id>urn:sha1:63577703fe59f03e98a039fec8be56c2fc32826b</id>
<content type='text'>
The VU ballistics chase stays page-side and drives mcVu.set(t); the R17 trace animation is widget-owned so it moves into the builder with its reduced-motion gate. The R17 face gradient keeps instance-local defs because its stops read screen-family vars from the widget subtree; probe-fams selectors follow the retired rcrt ids to the card handle.
</content>
</entry>
<entry>
<title>refactor(gallery): extract meters N11-N18 into GW builders</title>
<updated>2026-07-13T03:09:26+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T03:09:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=f210e7fce4df8daf69d87f7c8c7d83d4f13673c4'/>
<id>urn:sha1:f210e7fce4df8daf69d87f7c8c7d83d4f13673c4</id>
<content type='text'>
Scope, EQ bars, and strip chart take value-driven handles (set samples / push); the eqBands oscillator and the demo signal stay page-side. The N11 screen-family chips now reach the scope through the card handle instead of the retired scopep id.
</content>
</entry>
</feed>
