From d78fb762e5e938c8e2ca75d12e587c85e5472557 Mon Sep 17 00:00:00 2001 From: Me Here Date: Tue, 26 May 2026 12:02:17 -0500 Subject: [PATCH] Per-version info pages; move Stage BOM out to info-stage; add Micro BOM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each form factor now has an information page (purpose + live embedded widget), with priced BOMs only on the buildable hardware (Stage ≈$59, Micro ≈$28): - info-editor.html / info-initial.html — purpose only (web app / concept) - info-stage.html — purpose + the priced BOM moved out of stage.html - info-micro.html — purpose + a new ~$28 practice-unit BOM stage.html drops the BOM panel (+ its .bom CSS) and gains a "Spec & BOM" link; the shared .bom/.sub table CSS lives in src/base.css. "Info" added to every page nav and to the concept cards. Wired into build.sh + deploy.sh. Co-Authored-By: Claude Opus 4.7 (1M context) --- build.sh | 3 +- concepts.html | 8 +-- deploy.sh | 3 +- index.html | 1 + info-editor.html | 99 +++++++++++++++++++++++++++++++++++++ info-initial.html | 95 ++++++++++++++++++++++++++++++++++++ info-micro.html | 107 ++++++++++++++++++++++++++++++++++++++++ info-stage.html | 121 ++++++++++++++++++++++++++++++++++++++++++++++ micro.html | 1 + player.html | 1 + src/base.css | 12 +++++ stage.html | 59 ++++------------------ 12 files changed, 454 insertions(+), 56 deletions(-) create mode 100644 info-editor.html create mode 100644 info-initial.html create mode 100644 info-micro.html create mode 100644 info-stage.html diff --git a/build.sh b/build.sh index 4fc86e6..ff66b92 100755 --- a/build.sh +++ b/build.sh @@ -30,7 +30,8 @@ def build(name): out.write_text(src) return out.stat().st_size -for name in ("index.html","player.html","stage.html","micro.html","concepts.html","embed.html"): +for name in ("index.html","player.html","stage.html","micro.html","concepts.html","embed.html", + "info-editor.html","info-initial.html","info-stage.html","info-micro.html"): print("built %s (%dKB)" % (name, build(name) // 1024)) pathlib.Path("dist/embed.js").write_text(pathlib.Path("embed.js").read_text()) # loader, served as-is print("copied embed.js") diff --git a/concepts.html b/concepts.html index 8711512..982fde3 100644 --- a/concepts.html +++ b/concepts.html @@ -71,7 +71,7 @@

PE‑1 — PolyMeter Editor

The full editor: stack meter lanes, per‑step accents / ghosts / mutes, swing & ratio polyrhythm, set lists, and shareable links. This is where you design grooves.

- +
@@ -79,7 +79,7 @@

PM‑1 — Initial

The original idealized device mock — full multi‑lane display and set‑list navigation. A north‑star concept (more than a single small unit can really show); the buildable take is Stage.

- +
@@ -87,7 +87,7 @@

PM‑1 — Stage

Pedalboard build: 2.0″ colour TFT, arcade buttons, thumb‑roller, 1/4″ instrument pass‑through with analog click injection + balanced‑TRS out, 9 V DC / USB‑C. Bead‑blasted matte‑black anodised.

- +
@@ -95,7 +95,7 @@

PM‑µ — Micro

Minimal home‑practice unit: one push scroll‑encoder, a red 7‑segment LED, a speaker and USB‑C. Spin = tempo · press = start/stop · hold + spin = switch track.

- +
diff --git a/deploy.sh b/deploy.sh index aacf5bf..4230021 100755 --- a/deploy.sh +++ b/deploy.sh @@ -40,7 +40,8 @@ fi # stamp the version into the built copy only (source stays clean) echo "deployed v$BUILD -> $DEST_DIR" -for f in index.html player.html stage.html micro.html concepts.html embed.html; do +for f in index.html player.html stage.html micro.html concepts.html embed.html \ + info-editor.html info-initial.html info-stage.html info-micro.html; do sed "s|const APP_VERSION = \"[^\"]*\";|const APP_VERSION = \"$BUILD\";|" "$DIST_DIR/$f" > "$DEST_DIR/$f" echo " $f ($(stat -c '%s' "$DEST_DIR/$f") bytes)" done diff --git a/index.html b/index.html index 0085204..8b8e82c 100644 --- a/index.html +++ b/index.html @@ -229,6 +229,7 @@

PE‑1 PolyMeter Editor v0.0.1-dev

Concepts + Info Embed diff --git a/info-editor.html b/info-editor.html new file mode 100644 index 0000000..189381e --- /dev/null +++ b/info-editor.html @@ -0,0 +1,99 @@ + + + + + +PE‑1 PolyMeter Editor — info — VARASYS + + + + + + +
+
+ + + + + PE‑1 · PolyMeter Editor — info +
+ +
+ +
+

PE‑1 — PolyMeter Editor

+
Web appFree · no installOpen source
+

The full polymeter workbench, and the reference design for the whole PolyMeter family: build + grooves where each voice runs in its own meter and subdivision, audition them in the browser, and save the + result as a compact program string the hardware units play back verbatim.

+ +
+
+
+

Live widget (embedded). Open the full editor ↗ · embed this

+ +

Designed for

+

Anyone working in odd or layered meter — practising a 4‑over‑3, programming a polyrhythmic groove, or + sketching parts before a rehearsal. It's the authoring tool: everything the hardware devices play is + created here and shared as a program string or set‑list code.

+
    +
  • Per‑lane meter & subdivision — each voice has its own beat count and subdivision, with a + pad grid for accents, ghosts, and mutes.
  • +
  • Drum & click voices — synth and sampled sounds, swing, accent levels.
  • +
  • Trainer & ramp — bar‑count automation, tempo ramps, and a countdown.
  • +
  • Program string — the live patch is shown, editable, and copy/paste‑able; set‑lists encode to a + shareable code. This is the same string the Stage and + Micro units load.
  • +
+ +

A web app — nothing to build, nothing to buy. (Bills of materials apply + only to the buildable hardware: Stage and Micro.)

+
+ +
VARASYS · Simplifying Complexity — v0.0.1-dev
+ + + + + diff --git a/info-initial.html b/info-initial.html new file mode 100644 index 0000000..4054d8a --- /dev/null +++ b/info-initial.html @@ -0,0 +1,95 @@ + + + + + +PM‑1 Initial — info — VARASYS + + + + + + +
+
+ + + + + PM‑1 · Initial — info +
+ +
+ +
+

PM‑1 — Initial

+
ConceptIdealized deviceNot buildable as drawn
+

The idealized PM‑1: the player as a clean, screen‑first device with no concession to + mechanical parts yet. It's the look we design toward — the Stage + build is what that idea becomes once it's made from real components.

+ +
+
+
+

Live widget (embedded). Open the full Initial page ↗ · embed this

+ +

What it is

+

A concept render of a dedicated PolyMeter player: full set‑list navigation, a colour beat display showing + every lane, light/dark theming, and a fullscreen landscape "stage" view. It runs the same engine and program + strings as everything else in the family, but as an idealized object — before deciding which buttons, + encoders, jacks, and enclosure actually make it real.

+ +
+

This is a concept, so there's no bill of materials — there's nothing to source for a render. The + buildable realization of this idea is the PM‑1 Stage, which has a full priced + BOM. For the smallest practical unit, see PM‑µ Micro.

+
+
+ +
VARASYS · Simplifying Complexity — v0.0.1-dev
+ + + + + diff --git a/info-micro.html b/info-micro.html new file mode 100644 index 0000000..785e6cf --- /dev/null +++ b/info-micro.html @@ -0,0 +1,107 @@ + + + + + +PM‑µ Micro — info & BOM — VARASYS + + + + + + +
+
+ + + + + PM‑µ · Micro — info +
+ +
+ +
+

PM‑µ — Micro

+
HardwareHome practice~$28 one‑off
+

The smallest possible polymeter unit for daily practice: one dial and a red LED, nothing to + learn. Spin for tempo, press to start/stop, hold & spin to flip through grooves — that's it.

+ +
+
+
+

Live widget (embedded). Open the full Micro page ↗ · embed this

+ +

Designed for

+

The practice desk. No screen to read, no menus — a single depressable scroll‑encoder does everything + (spin = tempo, press = start/stop, hold + spin = switch track) and a bright 7‑segment LED shows the BPM + (or the track number while you switch). It runs off any USB‑C charger, plays through a small built‑in + speaker, and ships with the editor's grooves built in. Synth voices only — no analog audio path.

+ +

Bill of materials

+

Rough parts list — a USB‑C‑powered RP2040 practice unit. Ballpark one‑off prices (USD); cheaper at volume.

+ + + + + + + + + + + + + + + + + +
PartQty~$
Brain & display
RP2040 board, USB‑C — e.g. Waveshare RP2040‑Zero14
3‑digit 7‑segment LED (red) + driver — MAX7219 / shift register, or direct GPIO13
Control
Detented push encoder (EC11) + knob — tempo / press / hold‑spin12
Audio
MAX98357A I²S amp + 8 Ω 2 W speaker — synth click (no analog in)14
Power & build
USB‑C bus power (on the board) + PWR LED11
Custom PCB (or perfboard)14
Passives, headers, wire2
Small aluminium enclosure — bead‑blasted, matte‑black anodised18
Total (one‑off)≈ $28
+
+ +
VARASYS · Simplifying Complexity — v0.0.1-dev
+ + + + + diff --git a/info-stage.html b/info-stage.html new file mode 100644 index 0000000..a41778f --- /dev/null +++ b/info-stage.html @@ -0,0 +1,121 @@ + + + + + +PM‑1 Stage — info & BOM — VARASYS + + + + + + +
+
+ + + + + PM‑1 · Stage — info +
+ +
+ +
+

PM‑1 — Stage

+
HardwarePedalboard~$59 one‑off
+

A gig‑ready polymeter box for the pedalboard: a colour readout of every lane, fast set‑list + navigation, and your instrument running straight through with the click mixed in — so it sits in your + signal chain and feeds the PA, all on a non‑reflective matte‑black case.

+ +
+
+
+

Live widget (embedded). Open the full Stage page ↗ · embed this

+ +

Designed for

+

The stage and the rehearsal room. Top‑mounted 1/4″ jacks keep cabling tidy on a board; you plug your + instrument in, the metronome click is summed into the signal in the analog domain (no re‑digitising, + no added latency) and sent to a balanced 1/4″ TRS output for the desk, plus a small monitor speaker. + Powered from a standard 9 V DC pedal supply or USB‑C. The colour TFT shows tempo, the item name, and all + lane patterns; arcade buttons + a recessed thumb‑roller survive stage abuse.

+ +

Bill of materials

+

Rough parts list — a pedalboard‑friendly RP2040 build (9 V DC or USB‑C) with analog click injection. + Ballpark one‑off prices (USD); cheaper at volume.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
PartQty~$
Brain & display
RP2040 board, USB‑C — e.g. Waveshare RP2040‑Zero / Pico‑clone14
2.0″ 320×240 IPS TFT, ST7789 — SPI18
Controls
Arcade pushbutton, 24 mm — Prev · Next · Tap34
Arcade pushbutton, 30 mm — Play12
Detented encoder (EC11 / PEC12) + side‑mount thumb‑roller — recessed; nothing to snap off12
Audio — analog click injection
PCM5102A I²S DAC — line‑level click13
Dual op‑amp, NE5532 / OPA2134 — hi‑Z instrument buffer + summing mixer11
Balanced line driver, DRV134 — (or cross‑coupled op‑amp) → 1/4″ TRS out14
PAM8302A mono Class‑D + 8 Ω 2 W speaker — monitor14
Connectors & power
1/4″ jack — Inst In (TS) · Out (TRS) · Trig In (TS)33
USB‑C bus power (5 V) + PWR LED — same port carries config; no battery11
9 V DC pedal jack (2.1 mm centre‑neg) + 9 V→5 V buck + reverse‑polarity protect — pedalboard power13
Build
Custom PCB (or perfboard)15
Passives, headers, wire — R/C for the analog stage + decoupling3
Die‑cast aluminium enclosure (Hammond 1590‑style) — bead‑blasted, matte‑black Type II anodise, laser‑etched legends112
Total (one‑off)≈ $59
+

Audio is summed in the analog domain: the DAC's click is mixed with a high‑impedance + buffer of the 1/4″ instrument input, then fed to the balanced line driver (1/4″ TRS out) and the monitor amp — + so your instrument is never re‑digitised (no added latency).

+
+ +
VARASYS · Simplifying Complexity — v0.0.1-dev
+ + + + + diff --git a/micro.html b/micro.html index bda3e36..706c631 100644 --- a/micro.html +++ b/micro.html @@ -110,6 +110,7 @@ diff --git a/player.html b/player.html index 10e0fd5..ce0cf24 100644 --- a/player.html +++ b/player.html @@ -215,6 +215,7 @@
- - -
-

Bill of materials

-

Rough parts list for the device above — a pedalboard‑friendly RP2040 build (9 V DC or USB‑C) with analog click injection. - Ballpark one-off prices (USD); cheaper at volume.

- - - - - - - - - - - - - - - - - - - - - - - - - -
PartQty~$
Brain & display
RP2040 board, USB‑C — e.g. Waveshare RP2040‑Zero / Pico‑clone14
2.0″ 320×240 IPS TFT, ST7789 — SPI18
Controls
Arcade pushbutton, 24 mm — Prev · Next · Tap34
Arcade pushbutton, 30 mm — Play12
Detented encoder (EC11 / PEC12) + side‑mount thumb‑roller — recessed; nothing to snap off12
Audio — analog click injection
PCM5102A I²S DAC — line‑level click13
Dual op‑amp, NE5532 / OPA2134 — hi‑Z instrument buffer + summing mixer11
Balanced line driver, DRV134 — (or cross‑coupled op‑amp) → 1/4″ TRS out14
PAM8302A mono Class‑D + 8 Ω 2 W speaker — monitor14
Connectors & power
1/4″ jack — Inst In (TS) · Out (TRS) · Trig In (TS)33
USB‑C bus power (5 V) + PWR LED — same port carries config; no battery11
9 V DC pedal jack (2.1 mm centre‑neg) + 9 V→5 V buck + reverse‑polarity protect — pedalboard power13
Build
Custom PCB (or perfboard)15
Passives, headers, wire — R/C for the analog stage + decoupling3
Die‑cast aluminium enclosure (Hammond 1590‑style) — bead‑blasted, matte‑black Type II anodise, laser‑etched legends112
Total (one‑off)≈ $59
-

Audio is summed in the analog domain: the DAC's click is mixed with a high‑impedance - buffer of the 1/4″ instrument input, then fed to the balanced line driver (1/4″ TRS out) and the monitor amp — - so your instrument is never re‑digitised (no added latency).

-
+ +