From d6c85dcb7dce1288d903fa93103894109acfbdcf Mon Sep 17 00:00:00 2001 From: engmung <122682380+engmung@users.noreply.github.com> Date: Mon, 20 Jul 2026 09:28:51 +0900 Subject: [PATCH 1/7] docs(guide): videos replace the step photos they cover MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With both walkthrough videos embedded, drop the duplicated step photos: §5 soldering stills (layout, USB-C comparison, multimeter, finished board), §6 assembly stills (incl. the reused v2 nut/knob shots), and the two stale v2.1-twin photos in §7/§9 — those steps now point at video timestamps instead. Kept: §4 printing/bonding and §8 flashing photos (not covered by either video). Launch-checklist Gate 1 (photo re-shoot) resolved as no-longer-needed. Image files stay in docs/build-guide/images/ for reuse. Co-Authored-By: Claude Fable 5 --- BUILD_GUIDE.md | 61 ++++------------------------------ docs/releases/v3.0.0-launch.md | 9 +---- 2 files changed, 8 insertions(+), 62 deletions(-) diff --git a/BUILD_GUIDE.md b/BUILD_GUIDE.md index fc05abd..3202b74 100644 --- a/BUILD_GUIDE.md +++ b/BUILD_GUIDE.md @@ -1,8 +1,6 @@ # Patternflow v3.0.0 -- Build Guide > **Building a v2.x board?** Use the [v2 build guide](BUILD_GUIDE_v2.md) instead — v2 and v3 parts are **not** interchangeable. -> -> 📷 A couple of photos (Sections 7 and 9) were shot on the v2.1-cut twin build (red board). The v3 procedure is identical; they'll be re-shot on a v3 unit soon. This guide walks you through building a Patternflow v3.0.0 from scratch. It assumes basic familiarity with through-hole soldering and 3D printing. @@ -83,7 +81,7 @@ The v3.0 board has **two power inputs on one board**. Pick one before ordering p | Power cable | Any USB cable, stripped, wires screwed in | Standard USB-C cable | | Difficulty | Easy — the classic Patternflow method | ⚠️ **Hard.** The Type-C THT signal pins are tightly pitched; a solder bridge here has shorted and **burned a board** ([#114](https://github.com/engmung/Patternflow/issues/114)). Flux, fine tip, magnification, patience. | -**If in doubt, take Path A.** The result is electrically identical. You can also populate both — the reference build in this guide does (see the finished-board photos in Section 5). +**If in doubt, take Path A.** The result is electrically identical. You can also populate both — the reference build in this guide does. ## 3. Order the PCB @@ -135,25 +133,7 @@ The whole PCB assembly is covered in **one YouTube video** — soldering order i **[▶ Watch on YouTube — Patternflow v3.0 PCB soldering walkthrough](https://youtu.be/NZCjMBCsDAc)** - - -*Everything laid out before soldering. (This photo predates the R1/R2 5.1kΩ resistors — add those two to the lineup if you're on Path B.)* - -Two things to keep next to the video: - -**Path B (USB-C) only — read the warning in Section 2 first**, then compare your joints against these two: - -| ❌ Like this, and it can short | ✅ Aim for this | -|---|---| -| | | - -And before first power, go over the joints with a multimeter: - - - -Done right, it looks like this (this build populated both power paths): - - +All parts are through-hole, and the video covers the complete order — including the USB-C connector, where the **first attempt (11:00) shows exactly what goes wrong** when you push too hard, and the second attempt (12:40) shows the fix. **Path B builders: read the warning in Section 2 first**, and go over the finished joints with a multimeter before first power. Don't plug the ESP32 DevKit in until after the first power check (Section 7). @@ -201,48 +181,25 @@ Sections 6, 7, and 9 are covered in **one YouTube video** — the full assembly, **[▶ Watch on YouTube — Patternflow v3.0 assembly & first power-on](https://youtu.be/J9C9bZgkNKs)** -By now the enclosure halves you bonded in Section 4 have cured and the board is soldered — time to bring them together: - - - -*The ESP32, the PCB, and the cables, ready to go in.* +By now the enclosure halves you bonded in Section 4 have cured and the board is soldered — time to bring them together. The video above walks every step; in writing: > Printed the **330 mm one-piece body**? Everything in this section is identical — the only thing you skipped is the bonding step in Section 4. -1. **Seat the LED panel in the enclosure with its `HUB-75E IN` connector toward the top** — that's the side the ribbon reaches `J1` from: - - - - ⚠️ The panel insertion is very tight — near-zero clearance. Work it in slowly. +1. **Seat the LED panel in the enclosure with its `HUB-75E IN` connector toward the top** — that's the side the ribbon reaches `J1` from. ⚠️ The panel insertion is very tight — near-zero clearance. Work it in slowly. 2. **Fit the LED-panel mounting part and tighten the screws.** The mounting part is a separate piece precisely because panel bolt-hole positions vary between suppliers — match it to your panel first. - - 3. **Set the board into its bay and secure the encoders from the front**: attach each encoder's nut and tighten with a wrench or pliers — this locks the board against the front face. - - - *Photo from the v2 build — same encoders, same step.* - ### Finishing touches - The power bank slides into the internal compartment behind the board bay. -- The four black knobs press-fit onto the encoder shafts — save them for **last**, after the Section 9 checks pass: - - - - *Photo from the v2 build — same press-fit.* +- The four black knobs press-fit onto the encoder shafts — save them for **last**, after the Section 9 checks pass. ## 7. Wiring & First Power-Up 1. Connect the HUB75 ribbon from `J1` to the panel's `IN` connector. -2. Wire `J3` to the panel's power cable (+5V / GND — double-check polarity). - - - - *📷 Shot on the v2.1 twin build (red board) — the v3 wiring is identical. Photo will be refreshed.* - +2. Wire `J3` to the panel's power cable (+5V / GND — double-check polarity). The wiring run is shown at **06:57** in the [assembly video](https://youtu.be/J9C9bZgkNKs). 3. Power: Path A — stripped USB cable into `J4` (red = +5V, black = GND); Path B — USB-C cable into `USB1`. 4. **Before inserting the ESP32:** with power disconnected, continuity-check +5V↔GND at the `J3` terminals (open = good, like the Section 5 check). Then power up once and confirm ~5V across `J3`. 5. Power off, seat the ESP32 DevKit in its sockets (orientation per silkscreen), power on. @@ -287,11 +244,7 @@ The stock flasher image ships with **OSC disabled at compile time** — live con 4. Press-click each encoder once; long-press **K4** (~1s) to enter pattern select, rotate to browse, long-press again to exit. 5. Long-press **K1** for the global brightness mode; **K2** long-press shows the OSC info screen. 6. Power-cycle once and confirm it boots cleanly with no RESET press needed (see the GPIO0 note in Section 5 if it doesn't). -7. All good? **Close the back panel**: hook the right edge in first, then press along the snap-fit until it clicks shut. Press the knobs onto the shafts last. - - - - *📷 Shot on the v2.1 twin build — identical procedure on v3. Photo will be refreshed.* +7. All good? **Close the back panel**: hook the right edge in first, then press along the snap-fit until it clicks shut (shown at **09:11** in the [assembly video](https://youtu.be/J9C9bZgkNKs)). Press the knobs onto the shafts last. ## 10. Known Issues & Design Notes diff --git a/docs/releases/v3.0.0-launch.md b/docs/releases/v3.0.0-launch.md index bb832b9..8fe31e7 100644 --- a/docs/releases/v3.0.0-launch.md +++ b/docs/releases/v3.0.0-launch.md @@ -8,14 +8,7 @@ Everything for the v3.0.0 release is **pre-loaded**. When the final gate below p ## Gate 1 — swap the two v2.1-twin photos -While the v3 unit is open, re-shoot and overwrite (same filenames, same orientation): - -- [ ] `docs/build-guide/images/v3/14_wiring.jpg` (wiring, §7) -- [ ] `docs/build-guide/images/v3/15_close_back.jpg` (closing the back, §9) - -Then delete the three "shot on the v2.1 twin" notices in `BUILD_GUIDE.md`: the 📷 line in the top banner, and the two italic captions under those photos (§7 and §9). - -If any new photos need resizing: `python -c "from PIL import Image; im=Image.open(r'PATH'); im=im.resize((1600,int(im.height*1600/im.width))) if im.width>1600 else im; im.save(r'PATH','JPEG',quality=82,optimize=True)"` +- [x] **Resolved differently (2026-07-19):** the stale v2.1-twin photos were removed from the guide entirely — the [assembly video](https://youtu.be/J9C9bZgkNKs) covers those steps. No re-shoot needed. ## Gate 2 — last-minute text From 376c0a5c87ca5c60256ddbb0594080ea5da5ed6b Mon Sep 17 00:00:00 2001 From: engmung <122682380+engmung@users.noreply.github.com> Date: Mon, 20 Jul 2026 09:36:29 +0900 Subject: [PATCH 2/7] =?UTF-8?q?hardware(case):=20330mm=20one-piece=20is=20?= =?UTF-8?q?now=20a=20single=20STL=20=E2=80=94=20encloser.stl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The v3.0.1 re-export packs the one-piece body, closing part, and LED mount into one file, mirroring the 256mm naming (bed_330mm/encloser.stl replaces oneshot_v3_part1/2.stl). With the same design verified end to end on the 256mm build, the 'print verification pending' hedge on the 330mm row is gone. Blender source updated alongside; assembly-map file table also fixed to show encloser.stl as the 256mm standard. Co-Authored-By: Claude Fable 5 --- .agents/rules/project-context.md | 2 +- BUILD_GUIDE.md | 4 ++-- docs/assembly/enclosure/3d-print.md | 5 +++-- hardware/case/README.md | 7 ++----- hardware/case/bed_330mm/encloser.stl | Bin 0 -> 268984 bytes hardware/case/bed_330mm/oneshot_v3_part1.stl | Bin 200084 -> 0 bytes hardware/case/bed_330mm/oneshot_v3_part2.stl | Bin 57984 -> 0 bytes hardware/case/source/patternflow_case.blend | 4 ++-- 8 files changed, 10 insertions(+), 12 deletions(-) create mode 100644 hardware/case/bed_330mm/encloser.stl delete mode 100644 hardware/case/bed_330mm/oneshot_v3_part1.stl delete mode 100644 hardware/case/bed_330mm/oneshot_v3_part2.stl diff --git a/.agents/rules/project-context.md b/.agents/rules/project-context.md index 3e4055c..ad08f9f 100644 --- a/.agents/rules/project-context.md +++ b/.agents/rules/project-context.md @@ -32,7 +32,7 @@ The board topologically sits behind the LED matrix, interfacing via a 2x8 HUB75 ### Hardware (Case) The current enclosure is modeled in Blender. `hardware/case/` is organized by printer bed size, for the v3.0 board: -1. `bed_330mm/`: one-piece snap-fit body (oneshot_v3_part1/2.stl) — H2S-class beds, the main design. +1. `bed_330mm/encloser.stl`: one-piece snap-fit body, one STL — H2S-class beds, the main design. 2. `bed_256mm/`: divided snap-fit, 5 parts (divided_v3_part1..5.stl) — P1S-class beds; print & assembly tested (#169), separate LED-panel mounting part adapts to varying panel bolt-hole positions. 3. `knobs/knobs_15mm.stl` / `knobs/knobs_20mm.stl`: Black PLA knobs, shared by all body options. 4. `legacy_v2/`: every v2.x-board case (standard plates, oneshot_v2, divided_v2.1) — NOT compatible with the v3.0 board. diff --git a/BUILD_GUIDE.md b/BUILD_GUIDE.md index 3202b74..f65e00f 100644 --- a/BUILD_GUIDE.md +++ b/BUILD_GUIDE.md @@ -100,7 +100,7 @@ Case folders are named by **printer bed size** — see [`hardware/case/`](hardwa | Your printer bed | Print | Notes | |---|---|---| | **256 mm** (P1S / X1C / A1 class) | `bed_256mm/encloser.stl` | Body frame, back panels, and LED-panel mount in one STL. **White PLA.** ~10 h total. | -| **~330 mm+** (H2S class) | `bed_330mm/oneshot_v3_part1/2.stl` | One-piece snap-fit — fewer parts. **White PLA.** | +| **~330 mm+** (H2S class) | `bed_330mm/encloser.stl` | The one-piece original — body, closing part, and LED-panel mount in one STL, **no bonding at all**. **White PLA.** | | **Everyone** | `knobs/knobs_20mm.stl` | **Required for every build** — all four knobs in one plate, as its own separate print job. **Black PLA.** (15 mm-shaft encoders → `knobs_15mm.stl`.) | Two colors, on purpose: **body in white, knobs in black** — that contrast is the Patternflow look. Printing the knob plate as a separate job keeps it simple (no color changes mid-print). @@ -183,7 +183,7 @@ Sections 6, 7, and 9 are covered in **one YouTube video** — the full assembly, By now the enclosure halves you bonded in Section 4 have cured and the board is soldered — time to bring them together. The video above walks every step; in writing: -> Printed the **330 mm one-piece body**? Everything in this section is identical — the only thing you skipped is the bonding step in Section 4. +> Printed the **330 mm one-piece body**? Everything in this section is identical — the only thing you skipped is the bonding step in Section 4. 1. **Seat the LED panel in the enclosure with its `HUB-75E IN` connector toward the top** — that's the side the ribbon reaches `J1` from. ⚠️ The panel insertion is very tight — near-zero clearance. Work it in slowly. diff --git a/docs/assembly/enclosure/3d-print.md b/docs/assembly/enclosure/3d-print.md index 2831d4a..30caab4 100644 --- a/docs/assembly/enclosure/3d-print.md +++ b/docs/assembly/enclosure/3d-print.md @@ -8,8 +8,9 @@ This path uses the current PLA enclosure files in `hardware/case/`, organized by | File | Contents | | --- | --- | -| `hardware/case/bed_330mm/oneshot_v3_part1/2.stl` | One-piece snap-fit body — H2S-class (330 mm+) beds | -| `hardware/case/bed_256mm/divided_v3_part1..5.stl` | Divided snap-fit, 5 parts — P1S-class (256 mm) beds, print/assembly tested ([#169](https://github.com/engmung/Patternflow/issues/169)) | +| `hardware/case/bed_330mm/encloser.stl` | One-piece snap-fit body — H2S-class (330 mm+) beds, one STL | +| `hardware/case/bed_256mm/encloser.stl` | The standard 256 mm print — P1S-class beds, print & assembly verified | +| `hardware/case/bed_256mm/for_other_panels/divided_v3_part1..5.stl` | Adjustable-mount variant for non-standard LED panels ([#169](https://github.com/engmung/Patternflow/issues/169)) | | `hardware/case/knobs/knobs_15mm.stl` | Knobs for 15mm encoder shafts | | `hardware/case/knobs/knobs_20mm.stl` | Knobs for 20mm encoder shafts (the BOM reference part is 20mm) | diff --git a/hardware/case/README.md b/hardware/case/README.md index c140b4a..9db1abe 100644 --- a/hardware/case/README.md +++ b/hardware/case/README.md @@ -9,7 +9,7 @@ | Your printer bed | Print | Design | Status | |---|---|---|---| | **256 mm** (Bambu P1S / X1C / A1 class) | [`bed_256mm/encloser.stl`](bed_256mm/) | The snap-fit design split for a 256 mm bed — body frame, back panels, and LED-panel mount in one STL | ✅ Standard option, ~10 h total | -| **~330 mm+** (Bambu H2S-class) | [`bed_330mm/`](bed_330mm/) | One-piece snap-fit body + closing part | ✅ Main design ([#113](https://github.com/engmung/Patternflow/issues/113)); print verification of this exact STL pending | +| **~330 mm+** (Bambu H2S-class) | [`bed_330mm/encloser.stl`](bed_330mm/) | The one-piece original — body, closing part, and LED-panel mount in one STL, no bonding at all | ✅ Main design ([#113](https://github.com/engmung/Patternflow/issues/113)) | **Whichever body you print, also print [`knobs/knobs_20mm.stl`](knobs/) — required for every build.** Knobs go in **black**, everything else in **white**; run the knob plate as its own print job. (15 mm-shaft encoders → `knobs_15mm.stl`; 15 mm and 20 mm shafts are functionally identical, and the [BOM](../bom/)'s reference part, PEC11R-4220F-S0024, is 20 mm.) @@ -17,10 +17,7 @@ The original mass-production-oriented design: a single-piece body plus a snap-fit closing part, wall-mount hanger hole included. No bonding step at all. Does **not** fit a 256 mm bed. -| File | Color | -|---|---| -| `oneshot_v3_part1.stl` | White PLA | -| `oneshot_v3_part2.stl` | White PLA | +**`encloser.stl`** — everything in one STL (body, closing part, LED-panel mount), all **white** PLA; knobs from [`knobs/`](knobs/) in black. Same design as the print-&-assembly-verified 256 mm kit, just uncut. ## `bed_256mm/` — the standard build diff --git a/hardware/case/bed_330mm/encloser.stl b/hardware/case/bed_330mm/encloser.stl new file mode 100644 index 0000000000000000000000000000000000000000..333c7f960ea8e7743f23245b49f3d8546ad5b9c6 GIT binary patch literal 268984 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⪻C3Rw}39E~s^)%G8(+x_d`AC=XE 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 eIjy)XrZP4Hz#X4sk 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 b+LQQJ@e_{w6LIIE5XFQjO`r;Q1q$(hm~#su diff --git a/hardware/case/bed_330mm/oneshot_v3_part2.stl b/hardware/case/bed_330mm/oneshot_v3_part2.stl deleted file mode 100644 index a4a607f36b81f7bf9c6fe4a09f0f79f442f644f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57984 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 MFcT8o_jB(50d0h-;Q#;t diff --git a/hardware/case/source/patternflow_case.blend b/hardware/case/source/patternflow_case.blend index f41066d..502d7d6 100644 --- a/hardware/case/source/patternflow_case.blend +++ b/hardware/case/source/patternflow_case.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d6e8e099e97cb25a81dcbdfe2e0d54dfff185ca7ab069c2bddd8d88e1f3f9ab6 -size 49467529 +oid sha256:f3dff114846afb7d5431736186b8c37f67836a1366c946a15ef0e1fe18c7eb62 +size 49469617 From cafad7fdb70a6ac0697e4f45e490f33d7a31393b Mon Sep 17 00:00:00 2001 From: engmung <122682380+engmung@users.noreply.github.com> Date: Mon, 20 Jul 2026 09:42:20 +0900 Subject: [PATCH 3/7] firmware+web(patterns): 13 new presets, PFMem big-buffer allocator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - presets/: preset_0628 through preset_0719 join the library; the former custom-slot patterns (MidsummerSea, BreakoutArcade, FireflyHollow) are promoted to presets, and the custom slots get three fresh patterns (BinaryCascade, GridFracture, KineticRipple) - src/core_mem.h: PFMem — PSRAM-first allocation for framebuffer- sized pattern state. With every preset compiled into one image, static 32KB float arrays in pattern namespaces were eating the DRAM that Wi-Fi and the HUB75 DMA driver share (two were enough to boot-loop the device); patterns now allocate from setup() - core_tables trimmed, _TEMPLATE documents the PFMem rule - web: Pattern Lab / Pattern panel tweaks to match Co-Authored-By: Claude Fable 5 --- firmware/patternflow/_TEMPLATE.h | 3 + firmware/patternflow/custom1.h | 317 +++-------- firmware/patternflow/custom2.h | 528 +++---------------- firmware/patternflow/custom3.h | 269 ++++------ firmware/patternflow/pattern_registry.h | 32 +- firmware/patternflow/presets/preset_0628.h | 117 ++++ firmware/patternflow/presets/preset_0629.h | 146 +++++ firmware/patternflow/presets/preset_0629_2.h | 150 ++++++ firmware/patternflow/presets/preset_0701.h | 132 +++++ firmware/patternflow/presets/preset_0707.h | 149 ++++++ firmware/patternflow/presets/preset_0710.h | 216 ++++++++ firmware/patternflow/presets/preset_0712.h | 202 +++++++ firmware/patternflow/presets/preset_0712_2.h | 506 ++++++++++++++++++ firmware/patternflow/presets/preset_0713.h | 279 ++++++++++ firmware/patternflow/presets/preset_0715.h | 106 ++++ firmware/patternflow/presets/preset_0716.h | 107 ++++ firmware/patternflow/presets/preset_0718.h | 118 +++++ firmware/patternflow/presets/preset_0719.h | 272 ++++++++++ firmware/patternflow/src/core_mem.h | 52 ++ firmware/patternflow/src/core_tables.h | 14 +- web/src/app/pattern-lab/PatternLabClient.tsx | 19 +- web/src/components/sections/PatternPanel.tsx | 9 + 22 files changed, 2891 insertions(+), 852 deletions(-) create mode 100644 firmware/patternflow/presets/preset_0628.h create mode 100644 firmware/patternflow/presets/preset_0629.h create mode 100644 firmware/patternflow/presets/preset_0629_2.h create mode 100644 firmware/patternflow/presets/preset_0701.h create mode 100644 firmware/patternflow/presets/preset_0707.h create mode 100644 firmware/patternflow/presets/preset_0710.h create mode 100644 firmware/patternflow/presets/preset_0712.h create mode 100644 firmware/patternflow/presets/preset_0712_2.h create mode 100644 firmware/patternflow/presets/preset_0713.h create mode 100644 firmware/patternflow/presets/preset_0715.h create mode 100644 firmware/patternflow/presets/preset_0716.h create mode 100644 firmware/patternflow/presets/preset_0718.h create mode 100644 firmware/patternflow/presets/preset_0719.h create mode 100644 firmware/patternflow/src/core_mem.h diff --git a/firmware/patternflow/_TEMPLATE.h b/firmware/patternflow/_TEMPLATE.h index 6205955..f743b02 100644 --- a/firmware/patternflow/_TEMPLATE.h +++ b/firmware/patternflow/_TEMPLATE.h @@ -22,6 +22,9 @@ // #include "src/core_color.h" // PFColor:: hsvToRgb, buildPowLUT, ColorStop, sampleRamp // #include "src/core_noise.h" // PFNoise:: cellHash, valueNoise2D, perlin2D, fractal2D // #include "src/core_tables.h" // PFTables:: init, rT[]/thetaT[] — per-pixel radius/angle from center +// #include "src/core_mem.h" // PFMem:: allocFloats — REQUIRED for framebuffer-sized buffers: never +// // declare them as static arrays (they lock internal DRAM from boot); +// // allocate once in setup(): if (!buf) buf = PFMem::allocFloats(N); namespace TemplatePattern { const char* NAME = "Template"; diff --git a/firmware/patternflow/custom1.h b/firmware/patternflow/custom1.h index a3873cc..96b15d7 100644 --- a/firmware/patternflow/custom1.h +++ b/firmware/patternflow/custom1.h @@ -1,5 +1,4 @@ #pragma once - #include #include "config.h" #include "src/core_display.h" @@ -8,260 +7,118 @@ #include "src/core_math.h" #include "src/core_noise.h" -namespace FireflyHollow { - -const char* NAME = "Firefly Hollow"; -const char* const KNOB_LABELS[4] = {"Flies", "Speed", "Glow", "Wind"}; - -// Ramp LUT – DO NOT EDIT (generated from user ramp, 256 entries) -static const uint8_t RAMP_LUT[256][3] = { - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {11,10,10},{26,24,24},{41,36,36},{57,47,47},{72,56,56},{87,64,64},{103,70,70},{118,75,75}, - {133,79,79},{149,81,81},{164,82,82},{179,81,81},{195,79,79},{210,75,75},{225,70,70},{241,64,64}, - {254,58,56},{254,68,47},{254,80,38},{254,94,29},{255,109,20},{255,126,11},{255,144,2},{255,165,38}, - {255,185,87},{255,206,138},{255,227,187},{255,248,238},{255,250,227},{255,243,183},{255,236,140},{255,229,96}, - {255,222,53},{255,215,9},{255,207,0},{255,200,0},{255,193,0},{255,185,0},{255,178,0},{255,171,0}, - {255,163,0},{255,156,0},{255,149,0},{255,141,0},{255,134,0},{255,127,0},{255,119,0},{255,112,0}, - {255,105,0},{255,97,0},{255,90,0},{255,83,0},{255,75,0},{255,68,0},{255,61,0},{255,53,0}, - {255,46,0},{255,39,0},{255,31,0},{255,24,0},{255,17,0},{255,9,0},{255,2,0},{255,48,39}, - {255,109,93},{255,164,147},{255,213,201},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, - {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, -}; - -// Knob state (initial values from Pattern Lab) -static float knobFlies = 34.0f; // 2..34 -static float knobSpeed = 2.275f; // 0.2..5 -static float knobGlow = 1.32f; // 0..2 -static float knobWind = 0.409f; // 0..2 - -static constexpr int MAX_FLIES = 16; -static int numFlies = 16; // active count (capped at 16) +namespace BinaryCascade { -// Firefly motion parameters (constant per firefly, set in setup) -static float fly_s1[MAX_FLIES]; -static float fly_s2[MAX_FLIES]; -static float fly_hb[MAX_FLIES]; +const char* NAME = "Binary Cascade"; +const char* const KNOB_LABELS[4] = {"Color Shift", "Speed", "Block Length", "Lane Chaos"}; -// Phase accumulators (each wraps at TWO_PI) -static float phase_fu[MAX_FLIES]; // main x-osc -static float phase_fv_main[MAX_FLIES]; // main y-osc -static float phase_fv_extra[MAX_FLIES];// secondary y-osc (freq 0.9) -static float phase_b[MAX_FLIES]; // brightness oscillation +static float s_colorShift = 0.2f; +static float s_speed = 3.0f; +static float s_blockLength = 2.0f; +static float s_chaos = 0.3f; +static float s_timeAcc = 0.0f; -// Output buffers used by draw() -static float fu[MAX_FLIES]; -static float fv[MAX_FLIES]; -static float fb[MAX_FLIES]; - -// Grass sway phases -static float grass_phase1 = 0.0f; // freq 1.8 -static float grass_phase2 = 0.0f; // freq 2.6 - -// Cloud drift accumulator (unwrapped – feeds noise coordinates, not sin) -static float cloudT = 0.0f; +// Per-lane random data (128 lanes for 256-pixel max width with laneWidth=2) +static constexpr int MAX_LANES = (PANEL_RES_W + 1) / 2; +static float s_laneOffsets[MAX_LANES]; +static float s_laneSpeedMults[MAX_LANES]; +static bool s_laneDataInit = false; void setup() { - PFMath::buildSinLUT(); // idempotent - - for (int i = 0; i < MAX_FLIES; ++i) { - // deterministic per-firefly constants (replace sin‑based hash with cellHash) - fly_s1[i] = 0.13f + 0.11f * PFNoise::cellHash(i, 0, 7); - fly_s2[i] = 0.09f + 0.13f * PFNoise::cellHash(i, 0, 8); - fly_hb[i] = PFNoise::cellHash(i, 0, 9); - - // random initial phases - phase_fu[i] = PFNoise::cellHash(i, 0, 10) * TWO_PI; - phase_fv_main[i] = PFNoise::cellHash(i, 0, 11) * TWO_PI; - phase_fv_extra[i]= PFNoise::cellHash(i, 0, 12) * TWO_PI; - phase_b[i] = PFNoise::cellHash(i, 0, 13) * TWO_PI; - - // initial values so first frame is valid - fu[i] = 0.5f + 0.44f * PFMath::fastSin(phase_fu[i] + i * 2.39f); - fv[i] = 0.62f - + 0.30f * PFMath::fastSin(phase_fv_main[i] + i * 5.17f) - + 0.05f * PFMath::fastSin(phase_fv_extra[i] + (float)i); - float p = PFMath::fastSin(phase_b[i] + i * 1.7f); - float pp = fmaxf(0.0f, p); - fb[i] = pp * pp * pp; // x^3 + PFMath::buildSinLUT(); + // Initialize lane data once + if (!s_laneDataInit) { + for (int i = 0; i < MAX_LANES; ++i) { + s_laneOffsets[i] = PFNoise::cellHash(i, 0, 42) * 100.0f; + s_laneSpeedMults[i] = 0.5f + PFNoise::cellHash(i, 1, 137) * 1.5f; + } + s_laneDataInit = true; } - - grass_phase1 = 0.0f; - grass_phase2 = 0.0f; - cloudT = 0.0f; } void update(float dt, const InputFrame& input) { - // ----- knobs ----- - knobFlies += input.knobDeltas[0] * 0.05f; - if (knobFlies < 2.0f) knobFlies = 2.0f; - if (knobFlies > 34.0f) knobFlies = 34.0f; - - knobSpeed += input.knobDeltas[1] * 0.1f; - if (knobSpeed < 0.2f) knobSpeed = 0.2f; - if (knobSpeed > 5.0f) knobSpeed = 5.0f; - - knobGlow += input.knobDeltas[2] * 0.05f; - if (knobGlow < 0.0f) knobGlow = 0.0f; - if (knobGlow > 2.0f) knobGlow = 2.0f; - - knobWind += input.knobDeltas[3] * 0.05f; - if (knobWind < 0.0f) knobWind = 0.0f; - if (knobWind > 2.0f) knobWind = 2.0f; - - int flies = (int)lroundf(knobFlies); - if (flies < 2) flies = 2; - if (flies > 16) flies = 16; - numFlies = flies; - - const float speed = knobSpeed; - - // ----- firefly phases & buffers ----- - for (int i = 0; i < MAX_FLIES; ++i) { - phase_fu[i] += dt * speed * fly_s1[i] * 2.0f; - phase_fv_main[i] += dt * speed * fly_s2[i] * 2.0f; - phase_fv_extra[i] += dt * speed * 0.9f; - float freqB = 0.8f + 0.5f * fly_hb[i]; - phase_b[i] += dt * speed * freqB; - - // wrap each phase at TWO_PI - while (phase_fu[i] > TWO_PI) phase_fu[i] -= TWO_PI; - while (phase_fv_main[i] > TWO_PI) phase_fv_main[i] -= TWO_PI; - while (phase_fv_extra[i] > TWO_PI) phase_fv_extra[i] -= TWO_PI; - while (phase_b[i] > TWO_PI) phase_b[i] -= TWO_PI; - - fu[i] = 0.5f + 0.44f * PFMath::fastSin(phase_fu[i] + i * 2.39f); - fv[i] = 0.62f - + 0.30f * PFMath::fastSin(phase_fv_main[i] + i * 5.17f) - + 0.05f * PFMath::fastSin(phase_fv_extra[i] + (float)i); - float p = PFMath::fastSin(phase_b[i] + i * 1.7f); - float pp = fmaxf(0.0f, p); - fb[i] = pp * pp * pp; - } - - // ----- grass phases ----- - grass_phase1 += dt * speed * 1.8f; - while (grass_phase1 > TWO_PI) grass_phase1 -= TWO_PI; - grass_phase2 += dt * speed * 2.6f; - while (grass_phase2 > TWO_PI) grass_phase2 -= TWO_PI; - - // ----- cloud drift (offset only, no sin → precision loss negligible) ----- - cloudT += dt * speed * (0.4f + knobWind * 0.8f); + s_colorShift += input.knobDeltas[0] * 0.05f; + s_speed += input.knobDeltas[1] * 0.1f; + s_blockLength += input.knobDeltas[2] * 0.05f; + s_chaos += input.knobDeltas[3] * 0.05f; + + s_colorShift = fmaxf(0.0f, fminf(1.0f, s_colorShift)); + s_speed = fmaxf(-5.0f, fminf(5.0f, s_speed)); + s_blockLength = fmaxf(0.1f, fminf(6.0f, s_blockLength)); + s_chaos = fmaxf(0.0f, fminf(1.0f, s_chaos)); + + // No buttons used in JS → no reset logic + + s_timeAcc += dt * s_speed; + // Time feeds laneSpeed * 20 (float multiplier, not integer). Common period: TWO_PI works if all multipliers are integer, + // but here multiplier is 20.0 * (1.0 + (speedMult-1)*chaos) — not integer. Wrap at a large common period. + // Use 1000π as a safe wrap period (all multiples divide evenly enough for visual continuity). + const float PERIOD = 1000.0f * PI; + if (s_timeAcc > PERIOD) s_timeAcc -= PERIOD; + if (s_timeAcc < 0.0f) s_timeAcc += PERIOD; } void draw() { - const int W = PANEL_RES_W; - const int H = PANEL_RES_H; + const float t = s_timeAcc; + const float blockLen = 4.0f + s_blockLength * 8.0f; + const float blockLen2 = blockLen * 2.0f; + const int laneWidth = 2; - const float vh = (float)W; // logical vertical extent - const float vw = (float)H; // logical horizontal extent - const float vh_half = vh * 0.5f; - - const float glowSq = knobGlow * knobGlow; - const float wind = knobWind; - const int n = numFlies; - - // ----- pre‑compute per‑row data (depends only on u = y) ----- - float hillTop[H]; - float grassGh[H]; - for (int u = 0; u < H; ++u) { - float hu = (float)u; - hillTop[u] = vh * 0.58f - + PFMath::fastSin(hu * 0.09f + 2.0f) * 5.0f - + PFMath::fastSin(hu * 0.023f) * 8.0f; - - int gx = u / 2; - float hh = PFNoise::cellHash(gx, 0, 91); // 0..1 - grassGh[u] = 10.0f + hh * 16.0f; - } + for (int x = 0; x < PANEL_RES_W; ++x) { + const int laneIdx = x / laneWidth; + if (laneIdx >= MAX_LANES) continue; - const float cloudDrift = cloudT * (0.4f + wind * 0.8f); + const float speedMult = s_laneSpeedMults[laneIdx]; + const float laneSpeed = t * (1.0f + (speedMult - 1.0f) * s_chaos); + const float yOffset = s_laneOffsets[laneIdx] + laneSpeed * 20.0f; - for (int y = 0; y < H; ++y) { - const int u = y; // logical x in JS - const float hill = hillTop[u]; - const float gh = grassGh[u]; + const bool isDivider = (x % laneWidth) == (laneWidth - 1); - for (int x = 0; x < W; ++x) { - const int v = W - 1 - x; // logical y in JS - const float g = (float)v / vh; // normalized 0..1 - - float val = 0.05f + 0.14f * g; - - // ----- clouds (only upper half of the view) ----- - if ((float)v < vh_half) { - float cn = PFNoise::valueNoise2D(u * 0.045f + cloudDrift * 0.12f, - v * 0.09f + cloudDrift * 0.015f) * 0.65f - + PFNoise::valueNoise2D(u * 0.11f - cloudDrift * 0.07f, - v * 0.22f + 40.0f) * 0.35f; - cn *= 1.0f - (g / 0.5f) * 0.7f; // g < 0.5 here - float cd = (cn - 0.38f) / 0.18f; - if (cd > 0.0f) { - float soft = (cd >= 1.0f) ? 1.0f - : cd * cd * (3.0f - 2.0f * cd); // smoothstep - val += soft * 0.13f * 1.5f; // lit = 1.5 - } - } - - // ----- distant hill silhouette ----- - if (v >= hill) { - val = 0.07f; + for (int y = 0; y < PANEL_RES_H; ++y) { + if (isDivider) { + PFCanvas::setPixel(x, y, 10, 10, 15); + continue; } - // ----- foreground grass (swaying) ----- - float sway = PFMath::fastSin(u * 0.3f + grass_phase1) * wind * 4.0f - + PFMath::fastSin(u * 0.9f - grass_phase2) * wind * 2.0f; - float grassTop = vh - gh + sway; - if (v >= grassTop) { - val = 0.015f; - if (v - grassTop < 1.2f) val = 0.11f; // moonlit tips - } + const float activeY = fmodf((float)y + yOffset, blockLen2); + const bool isBlock = (activeY < blockLen); + + uint8_t r = 0, g = 0, b = 0; + + if (isBlock) { + const float normY = activeY / blockLen; // 0..1 within block + + if (s_colorShift < 0.2f) { + // Monochrome + const uint8_t br = (uint8_t)(150.0f + normY * 105.0f); + r = br; g = br; b = br; + } else if (s_colorShift < 0.6f) { + // Matrix Green + r = 0; + g = (uint8_t)(180.0f + normY * 75.0f); + b = (uint8_t)(50.0f + (1.0f - normY) * 100.0f); + } else { + // Vaporwave + if (speedMult > 1.0f) { + r = 255; g = 50; b = 200; + } else { + r = 50; g = 200; b = 255; + } + } - // ----- fireflies (additive glow) ----- - for (int i = 0; i < n; ++i) { - float du = (float)u - fu[i] * vw; - float dv = (float)v - fv[i] * vh; - float dd = du * du + dv * dv; - if (dd < glowSq * 9.0f) { - val += fb[i] * expf(-dd / glowSq); + // Hard-edge sparkle/glitch at block edges + if (activeY < 1.0f || activeY > blockLen - 1.0f) { + r = 255; g = 255; b = 255; } + } else { + r = 0; g = 0; b = 0; } - // ----- clamp and map through ramp ----- - if (val < 0.0f) val = 0.0f; - if (val > 1.0f) val = 1.0f; - int idx = (int)(val * 255.0f + 0.5f); - if (idx < 0) idx = 0; - if (idx > 255) idx = 255; - - PFCanvas::setPixel(x, y, - RAMP_LUT[idx][0], - RAMP_LUT[idx][1], - RAMP_LUT[idx][2]); + PFCanvas::setPixel(x, y, r, g, b); } } PFCanvas::present(); } -} // namespace FireflyHollow \ No newline at end of file +} // namespace BinaryCascade \ No newline at end of file diff --git a/firmware/patternflow/custom2.h b/firmware/patternflow/custom2.h index 4993e8d..4ceae9c 100644 --- a/firmware/patternflow/custom2.h +++ b/firmware/patternflow/custom2.h @@ -1,483 +1,115 @@ #pragma once #include +#include +#include #include "config.h" #include "src/core_display.h" #include "src/core_encoders.h" #include "src/core_canvas.h" #include "src/core_math.h" -namespace BreakoutArcade { +namespace GridFracturePattern { -const char* NAME = "Breakout Arcade"; -const char* const KNOB_LABELS[4] = {"Paddle", "Speed", "Luck", "Glow"}; +const char* NAME = "Grid Fracture"; +const char* const KNOB_LABELS[4] = {"ROWS", "SPEED", "GRID SIZE", "SHARPEN"}; -static const uint8_t RAMP_LUT[256][3] = { - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{4,4,4}, - {8,8,9},{12,12,13},{16,16,17},{20,20,22},{24,23,26},{28,27,31},{31,30,35},{34,33,39}, - {38,36,44},{41,39,48},{44,42,53},{46,44,57},{49,47,61},{52,49,66},{54,51,70},{56,53,75}, - {59,55,79},{61,56,83},{63,58,88},{65,59,92},{66,60,97},{68,61,101},{69,62,105},{71,63,110}, - {72,63,114},{73,63,119},{74,64,123},{74,64,127},{75,64,132},{76,63,136},{76,63,141},{76,63,145}, - {77,62,150},{77,61,154},{77,60,158},{76,59,163},{76,58,167},{76,56,172},{75,55,176},{74,53,180}, - {73,51,185},{73,49,189},{71,47,194},{70,44,198},{69,42,202},{67,39,207},{66,36,211},{64,33,216}, - {62,30,220},{60,27,224},{58,23,229},{56,20,233},{54,16,238},{51,12,242},{48,8,246},{46,4,251}, - {44,0,255},{56,0,255},{68,0,255},{81,0,255},{93,0,255},{105,0,255},{118,0,255},{130,0,255}, - {142,0,255},{155,0,255},{167,0,255},{179,0,255},{192,0,255},{204,0,255},{216,0,255},{229,0,255}, - {241,0,255},{253,0,255},{255,0,245},{255,0,232},{255,0,220},{255,0,208},{255,0,195},{255,0,183}, - {255,0,171},{255,0,158},{255,0,146},{255,0,134},{255,0,121},{255,0,109},{255,0,97},{255,0,84}, - {255,0,72},{255,0,60},{255,0,47},{255,0,35},{255,0,23},{255,0,10},{255,2,0},{255,14,0}, - {255,27,0},{255,39,0},{255,51,0},{255,64,0},{255,67,4},{255,71,9},{255,74,14},{255,78,18}, - {255,81,23},{255,84,27},{255,88,32},{255,91,37},{255,95,41},{255,98,46},{255,102,50},{255,105,55}, - {255,109,59},{255,112,64},{255,115,69},{255,119,73},{255,122,78},{255,126,82},{255,129,87},{255,133,92}, - {255,136,96},{255,139,101},{255,143,105},{255,146,110},{255,150,114},{255,153,119},{255,157,124},{255,160,128}, - {255,164,133},{255,167,137},{255,170,142},{255,174,147},{255,177,151},{255,181,156},{255,184,160},{255,188,165}, - {255,191,170},{255,194,174},{255,198,179},{255,201,183},{255,205,188},{255,208,192},{255,212,197},{255,215,202}, - {255,218,206},{255,222,211},{255,225,215},{255,229,220},{255,232,225},{255,236,229},{255,239,234},{255,243,238}, - {255,246,243},{255,249,248},{255,253,252},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, -}; - -static constexpr int VW = 64; -static constexpr int VH = 128; -static constexpr int ROWS = 8; -static constexpr int BRICK_W = 8; -static constexpr int BRICK_H = 5; -static constexpr int BRICK_TOP = 10; -static constexpr float PAD_W = 10.0f; -static constexpr float PAD_W_WIDE = 16.0f; -static constexpr float ITEM_FALL = 20.0f; -static constexpr float AI_SPD = 115.0f; +const float GRID_FRACTURE_ROWS_MIN = 1.0f; +const float GRID_FRACTURE_ROWS_MAX = 8.0f; +const float GRID_FRACTURE_ROWS_STEP = 0.05f; -static uint8_t dead[64]; -static float balls[32]; -static uint8_t ballOn[8]; -static float items[18]; -static uint8_t itemOn[6]; -static float glow[VW * VH]; +const float GRID_FRACTURE_SPEED_MIN = 0.1f; +const float GRID_FRACTURE_SPEED_MAX = 5.0f; +const float GRID_FRACTURE_SPEED_STEP = 0.10f; -static float knobPaddle = 46.116f; // raw knob value, only changed by encoder -static float paddlePos = 46.116f; // actual paddle position (manual or AI) -static float speed = 89.336f; -static float luck = 0.332f; -static float glowK = 0.355f; -static float tAccum = 0.0f; -static uint32_t rngState = 12345; -static float flash = 0.0f; -static int combo = 0; -static float idleT = 99.0f; -static float lastKnob = 46.116f; -static float aiTarget = 32.0f; -static float wideT = 0.0f; -static float fireT = 0.0f; -static float padW = PAD_W; -static bool fire = false; -static bool manual = false; +const float GRID_FRACTURE_GRIDSIZE_MIN = 4.0f; +const float GRID_FRACTURE_GRIDSIZE_MAX = 24.0f; +const float GRID_FRACTURE_GRIDSIZE_STEP = 0.05f; -static float rnd() { - rngState = (rngState * 48271u) % 2147483647u; - return (float)rngState / 2147483647.0f; -} +const float GRID_FRACTURE_SHARPEN_MIN = 1.0f; +const float GRID_FRACTURE_SHARPEN_MAX = 10.0f; +const float GRID_FRACTURE_SHARPEN_STEP = 0.05f; -static void depositGlow(float gx, float gy, float amt, float rad) { - int x0 = (int)fmaxf(0.0f, floorf(gx - rad)); - int x1 = (int)fminf(VW - 1.0f, ceilf(gx + rad)); - int y0 = (int)fmaxf(0.0f, floorf(gy - rad)); - int y1 = (int)fminf(VH - 1.0f, ceilf(gy + rad)); - for (int gy2 = y0; gy2 <= y1; ++gy2) { - for (int gx2 = x0; gx2 <= x1; ++gx2) { - float du = gx2 - gx; - float dv = gy2 - gy; - float f = 1.0f - sqrtf(du * du + dv * dv) / (rad + 0.001f); - if (f > 0.0f) { - int idx = gx2 + gy2 * VW; - float nv = glow[idx] + amt * f; - if (nv > 1.0f) nv = 1.0f; - glow[idx] = nv; - } - } - } -} +struct Params { + float rows; + float speed; + float gridSize; + float sharpen; + float timeAcc; +}; -static void multiball() { - for (int i = 0; i < 8; ++i) { - if (!ballOn[i]) continue; - for (int j = 0; j < 8; ++j) { - if (ballOn[j]) continue; - ballOn[j] = 1; - balls[j*4] = balls[i*4]; - balls[j*4+1] = balls[i*4+1]; - float a = 0.3f + rnd() * 0.4f; - balls[j*4+2] = -balls[i*4+2] * (0.7f + a); - balls[j*4+3] = balls[i*4+3]; - float dx = balls[j*4+2]; - float dy = balls[j*4+3]; - float len = sqrtf(dx*dx + dy*dy); - balls[j*4+2] = dx / len; - balls[j*4+3] = dy / len; - break; - } - } -} +Params params; void setup() { + params.rows = 3.0f; + params.speed = 2.0f; + params.gridSize = 12.0f; + params.sharpen = 4.0f; + params.timeAcc = 0.0f; + PFMath::buildSinLUT(); - memset(dead, 0, sizeof(dead)); - balls[0] = 32.0f; - balls[1] = 80.0f; - balls[2] = 0.55f; - balls[3] = -0.84f; - ballOn[0] = 1; - for (int i = 1; i < 8; ++i) ballOn[i] = 0; - memset(itemOn, 0, sizeof(itemOn)); - memset(glow, 0, sizeof(glow)); - knobPaddle = 46.116f; - paddlePos = 46.116f; - lastKnob = 46.116f; - idleT = 99.0f; - aiTarget = 32.0f; - wideT = 0.0f; - fireT = 0.0f; - padW = PAD_W; - fire = false; - manual = false; - flash = 0.0f; - combo = 0; } void update(float dt, const InputFrame& input) { - // --- Knob Paddle (encoder driven, used only for manual mode and idle detection) --- - knobPaddle += input.knobDeltas[0] * 0.05f; - if (knobPaddle < 2.0f) knobPaddle = 2.0f; - if (knobPaddle > 62.0f) knobPaddle = 62.0f; - - speed += input.knobDeltas[1] * 0.1f; - if (speed < 25.0f) speed = 25.0f; - if (speed > 200.0f) speed = 200.0f; - - luck += input.knobDeltas[2] * 0.05f; - if (luck < 0.0f) luck = 0.0f; - if (luck > 1.0f) luck = 1.0f; - - glowK += input.knobDeltas[3] * 0.05f; - if (glowK < 0.0f) glowK = 0.0f; - if (glowK > 1.0f) glowK = 1.0f; - - if (input.btnPressed[0]) { - memset(dead, 0, sizeof(dead)); - } - if (input.btnPressed[1]) { - multiball(); - flash = 1.0f; - } - if (input.btnPressed[2]) { - wideT = 6.0f; - } - if (input.btnPressed[3]) { - fireT = 4.0f; - flash = 0.8f; - } - - // --- Idle detection (only from knob, never from AI movement) --- - if (lastKnob < -100.0f) lastKnob = knobPaddle; - if (fabsf(knobPaddle - lastKnob) > 0.15f) { - idleT = 0.0f; - } else { - idleT += dt; - } - lastKnob = knobPaddle; - manual = (idleT < 5.0f); - - const int vw = VW; - const int vh = VH; - const int brickTop = BRICK_TOP; - - float decay = expf(-dt * (8.0f - 7.0f * glowK)); - for (int i = 0; i < vw * vh; ++i) { - glow[i] *= decay; - } - - wideT = fmaxf(0.0f, wideT - dt); - fireT = fmaxf(0.0f, fireT - dt); - padW = (wideT > 0.0f) ? PAD_W_WIDE : PAD_W; - fire = (fireT > 0.0f); - float padV = vh - 7.0f; - - // --- Paddle movement --- - if (manual) { - paddlePos = knobPaddle; - } else { - float diff = aiTarget - paddlePos; - float step = fminf(fabsf(diff), AI_SPD * dt); - paddlePos += (diff > 0.0f ? step : -step); - } - float minPad = padW * 0.5f; - float maxPad = vw - padW * 0.5f; - if (paddlePos < minPad) paddlePos = minPad; - if (paddlePos > maxPad) paddlePos = maxPad; - - int aliveBalls = 0; - float ballTX = -1.0f; - float ballETA = 1e9f; - - for (int i = 0; i < 8; ++i) { - if (!ballOn[i]) continue; - int o = i * 4; - balls[o] += balls[o+2] * speed * dt; - balls[o+1] += balls[o+3] * speed * dt; - float bx = balls[o]; - float by = balls[o+1]; - - if (bx < 2.0f) { balls[o] = bx = 2.0f; balls[o+2] = fabsf(balls[o+2]); } - if (bx > vw - 2.0f) { balls[o] = bx = vw - 2.0f; balls[o+2] = -fabsf(balls[o+2]); } - if (by < 2.0f) { balls[o+1] = by = 2.0f; balls[o+3] = fabsf(balls[o+3]); } - - if (by >= brickTop && by < brickTop + ROWS * BRICK_H) { - int col = (int)(bx / BRICK_W); - if (col < 0) col = 0; - if (col > 7) col = 7; - int row = (int)((by - brickTop) / BRICK_H); - int idx = row * 8 + col; - if (row >= 0 && row < ROWS && !dead[idx]) { - dead[idx] = 1; - if (!fire) balls[o+3] = -balls[o+3]; - combo++; - flash = fminf(1.0f, 0.25f + combo * 0.1f); - depositGlow(col * BRICK_W + BRICK_W * 0.5f, - brickTop + row * BRICK_H + BRICK_H * 0.5f, - 0.9f, fire ? 5.0f : 3.0f); - - if (rnd() < luck * 0.4f) { - for (int s = 0; s < 6; ++s) { - if (itemOn[s]) continue; - itemOn[s] = 1; - items[s*3] = col * BRICK_W + BRICK_W * 0.5f; - items[s*3+1] = brickTop + row * BRICK_H; - items[s*3+2] = floorf(rnd() * 3.0f); - break; - } - } - } - } - - if (by >= padV - 1.0f && by <= padV + 2.0f && balls[o+3] > 0.0f - && fabsf(bx - paddlePos) < padW * 0.5f + 1.0f) { - balls[o+3] = -fabsf(balls[o+3]); - balls[o+2] += (bx - paddlePos) / (padW * 0.5f) * 0.7f; - float dx = balls[o+2]; - float dy = balls[o+3]; - float len = sqrtf(dx*dx + dy*dy); - dx /= len; - dy /= len; - if (dy > -0.35f) dy = -0.35f; - len = sqrtf(dx*dx + dy*dy); - balls[o+2] = dx / len; - balls[o+3] = dy / len; - combo = 0; - } - - if (by > vh + 4.0f) { - ballOn[i] = 0; - continue; - } - - aliveBalls++; + params.rows = constrain(params.rows + input.knobDeltas[0] * GRID_FRACTURE_ROWS_STEP, GRID_FRACTURE_ROWS_MIN, GRID_FRACTURE_ROWS_MAX); + params.speed = constrain(params.speed + input.knobDeltas[1] * GRID_FRACTURE_SPEED_STEP, GRID_FRACTURE_SPEED_MIN, GRID_FRACTURE_SPEED_MAX); + params.gridSize = constrain(params.gridSize + input.knobDeltas[2] * GRID_FRACTURE_GRIDSIZE_STEP, GRID_FRACTURE_GRIDSIZE_MIN, GRID_FRACTURE_GRIDSIZE_MAX); + params.sharpen = constrain(params.sharpen + input.knobDeltas[3] * GRID_FRACTURE_SHARPEN_STEP, GRID_FRACTURE_SHARPEN_MIN, GRID_FRACTURE_SHARPEN_MAX); - if (balls[o+3] > 0.0f) { - float eta = (padV - by) / (balls[o+3] * speed); - if (eta >= 0.0f && eta < ballETA) { - ballETA = eta; - ballTX = bx; - } - } - - depositGlow(bx, by, fire ? 0.5f : 0.3f, fire ? 2.5f : 1.5f); - } - - if (aliveBalls == 0) { - ballOn[0] = 1; - balls[0] = vw * 0.5f; - balls[1] = vh * 0.55f; - balls[2] = rnd() > 0.5f ? 0.55f : -0.55f; - balls[3] = -0.84f; - flash = 1.0f; - combo = 0; - } - - int brickAlive = 0; - for (int r = 0; r < ROWS; ++r) { - for (int c = 0; c < 8; ++c) { - if (!dead[r * 8 + c]) brickAlive++; - } - } - if (brickAlive == 0) { - memset(dead, 0, sizeof(dead)); - flash = 1.0f; - depositGlow(vw * 0.5f, vh * 0.3f, 1.0f, 14.0f); - } - - float itemTX = -1.0f; - float itemETA = 1e9f; - for (int s = 0; s < 6; ++s) { - if (!itemOn[s]) continue; - items[s*3+1] += ITEM_FALL * dt; - float ix = items[s*3]; - float iy = items[s*3+1]; - - if (iy >= padV - 1.0f && iy <= padV + 3.0f && fabsf(ix - paddlePos) < padW * 0.5f + 1.5f) { - int ty = (int)items[s*3+2]; - if (ty == 0) multiball(); - else if (ty == 1) wideT = 6.0f; - else fireT = 4.0f; - flash = 1.0f; - depositGlow(ix, padV, 1.0f, 6.0f); - itemOn[s] = 0; - continue; - } - if (iy > vh + 3.0f) { - itemOn[s] = 0; - continue; - } - - float eta = (padV - iy) / ITEM_FALL; - if (eta >= 0.0f && eta < itemETA) { - itemETA = eta; - itemTX = ix; - } - } - - if (ballTX < 0.0f) { - aiTarget = (itemTX >= 0.0f) ? itemTX : vw * 0.5f; - } else if (itemTX >= 0.0f) { - float travelT = fabsf(itemTX - paddlePos) / AI_SPD; - if (itemETA + 0.35f < ballETA && travelT < itemETA + 0.2f) { - aiTarget = itemTX; - } else { - aiTarget = ballTX; - } - } else { - aiTarget = ballTX; - } - - flash = fmaxf(0.0f, flash - dt * 2.5f); - - tAccum += dt; - if (tAccum > TWO_PI) tAccum -= TWO_PI; + params.timeAcc += dt * params.speed; } void draw() { - const int W = PANEL_RES_W; // 128 - const int H = PANEL_RES_H; // 64 - const float vw = VW; - const float vh = VH; - const int brickTop = BRICK_TOP; - const float padV = vh - 7.0f; - const float t = tAccum; - - for (int y = 0; y < H; ++y) { - for (int x = 0; x < W; ++x) { - float u = (float)y; - float v = (float)(W - 1 - x); - - float val = 0.03f + 0.02f * fmodf(v, 2.0f) + flash * 0.15f; - - if (u < 1.0f || u > vw - 2.0f) val = 0.3f; - - if (v >= brickTop && v < brickTop + ROWS * BRICK_H) { - int col = (int)(u / BRICK_W); - int row = (int)((v - brickTop) / BRICK_H); - if (col >= 0 && col < 8 && row >= 0 && row < ROWS && !dead[row * 8 + col]) { - float lu = u - col * BRICK_W; - float lv = (v - brickTop) - row * BRICK_H; - bool border = (lu < 0.5f || lu > BRICK_W - 0.5f || lv < 0.5f || lv > BRICK_H - 0.5f); - val = border ? 0.30f : 0.80f - row * 0.05f; - if (fire) { - val += 0.12f * PFMath::fastSin(t * 10.0f + col * 2.0f + row); - } - } + const int w = PANEL_RES_W; + const int h = PANEL_RES_H; + const float t = params.timeAcc; + + const int rowCount = (int)floorf(params.rows); + const int cellSize = (int)floorf(params.gridSize); + const float sharp = params.sharpen; + + if (cellSize <= 0) return; + + for (int y = 0; y < h; y++) { + const int bandIdx = (y * rowCount) / h; + const float bandPhase = (float)bandIdx * 1.5f; + + const float xOffset = PFMath::fastSin(t + bandPhase) * 10.0f; + + for (int x = 0; x < w; x++) { + float targetX = fmodf((float)x + xOffset + (float)w, (float)w); + if (targetX < 0.0f) targetX += (float)w; + + const int blockX = (int)floorf(targetX / (float)cellSize); + const int blockY = y / cellSize; + + const float cx = ((float)blockX + 0.5f) * (float)cellSize; + const float cy = ((float)blockY + 0.5f) * (float)cellSize; + const float dx = targetX - cx; + const float dy = (float)y - cy; + const float dist = PFMath::approxLength(dx, dy); + + const float waveFreq = 0.2f + 0.1f * PFMath::fastSin((float)blockX * 0.5f + (float)blockY * 0.3f); + const float wave = PFMath::fastSin(dist * waveFreq - t * 3.0f + (float)(blockX + blockY)); + + float v = (wave + 1.0f) * 0.5f; + v = powf(v, sharp); + + const int borderX = (int)floorf(targetX) % cellSize; + const int borderY = y % cellSize; + if (borderX == 0 || borderY == 0 || borderX == cellSize - 1 || borderY == cellSize - 1) { + v *= 0.1f; } - if (v >= padV && v <= padV + 1.0f && fabsf(u - paddlePos) < padW * 0.5f) { - val = 0.9f; - if (padW > PAD_W + 1.0f && fabsf(u - paddlePos) > padW * 0.5f - 2.0f) { - val = 0.6f + 0.4f * PFMath::fastSin(t * 12.0f); - } - if (manual && fabsf(u - paddlePos) < 1.0f && fabsf(v - padV) < 0.5f) { - val = 0.7f + 0.3f * PFMath::fastSin(t * 8.0f); - } - } - - int glowIdx = (int)u + (int)v * (int)vw; - if (glowIdx >= 0 && glowIdx < (int)(vw * vh)) { - val += glow[glowIdx] * 0.85f; - } + v = constrain(0.05f + v * 1.2f, 0.0f, 1.0f); + uint8_t c = (uint8_t)(v * 255.0f); - val = fmaxf(0.0f, fminf(1.0f, val)); - int li = (int)(val * 255.0f + 0.5f); - if (li < 0) li = 0; - if (li > 255) li = 255; - PFCanvas::setPixel(x, y, RAMP_LUT[li][0], RAMP_LUT[li][1], RAMP_LUT[li][2]); - } - } - - auto plot = [&](float pu, float pv, float pval) { - int puInt = (int)roundf(pu); - int pvInt = (int)roundf(pv); - int px = W - 1 - pvInt; - int py = puInt; - if (px >= 0 && px < W && py >= 0 && py < H) { - pval = fmaxf(0.0f, fminf(1.0f, pval)); - int li = (int)(pval * 255.0f + 0.5f); - if (li < 0) li = 0; - if (li > 255) li = 255; - PFCanvas::setPixel(px, py, RAMP_LUT[li][0], RAMP_LUT[li][1], RAMP_LUT[li][2]); - } - }; - - for (int s = 0; s < 6; ++s) { - if (!itemOn[s]) continue; - float ix = items[s*3]; - float iy = items[s*3+1]; - int ty = (int)items[s*3+2]; - float blink = 0.6f + 0.4f * PFMath::fastSin(t * (6.0f + ty * 4.0f) + s); - plot(ix, iy, 1.0f); - plot(ix - 1, iy, blink); - plot(ix + 1, iy, blink); - plot(ix, iy - 1, blink); - plot(ix, iy + 1, blink); - if (ty == 0) { - plot(ix - 2, iy, blink * 0.5f); - plot(ix + 2, iy, blink * 0.5f); - } - } - - for (int i = 0; i < 8; ++i) { - if (!ballOn[i]) continue; - float bx = balls[i*4]; - float by = balls[i*4+1]; - plot(bx, by, 1.0f); - plot(bx - 1, by, 0.8f); - plot(bx + 1, by, 0.8f); - plot(bx, by - 1, 0.8f); - plot(bx, by + 1, 0.8f); - if (fire) { - plot(bx - 1, by - 1, 0.6f); - plot(bx + 1, by - 1, 0.6f); - plot(bx - 1, by + 1, 0.6f); - plot(bx + 1, by + 1, 0.6f); + PFCanvas::setPixel(x, y, c, c, c); } } PFCanvas::present(); } -} // namespace BreakoutArcade \ No newline at end of file +} // namespace GridFracturePattern + diff --git a/firmware/patternflow/custom3.h b/firmware/patternflow/custom3.h index 85dddc9..72a2ece 100644 --- a/firmware/patternflow/custom3.h +++ b/firmware/patternflow/custom3.h @@ -1,190 +1,143 @@ #pragma once #include +#include +#include #include "config.h" #include "src/core_display.h" #include "src/core_encoders.h" #include "src/core_canvas.h" #include "src/core_math.h" -#include "src/core_noise.h" - -namespace MidsummerSea { - -const char* NAME = "Midsummer Sea"; -const char* const KNOB_LABELS[4] = {"Waves", "Speed", "Sun", "Glitter"}; - -static const uint8_t RAMP_LUT[256][3] = { - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, - {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{1,0,7}, - {3,0,17},{5,0,27},{6,0,37},{8,0,47},{10,0,57},{11,0,67},{13,0,77},{15,0,87}, - {16,0,97},{18,0,107},{20,0,117},{21,0,127},{23,0,137},{25,0,147},{26,0,157},{28,0,167}, - {30,0,177},{32,0,187},{33,0,197},{35,0,207},{37,0,217},{38,0,227},{40,0,237},{42,0,247}, - {45,1,253},{53,3,244},{60,5,234},{68,8,225},{76,10,215},{84,12,206},{92,15,196},{100,17,187}, - {107,19,177},{115,22,168},{123,24,159},{131,27,149},{139,29,140},{147,31,130},{154,34,121},{162,36,111}, - {170,38,102},{178,41,93},{186,43,83},{194,45,74},{202,48,64},{209,50,55},{217,53,45},{225,55,36}, - {233,57,27},{241,60,17},{249,62,8},{255,65,2},{255,71,10},{255,78,18},{255,84,27},{255,90,35}, - {255,97,44},{255,103,52},{255,109,60},{255,116,69},{255,122,77},{255,128,86},{255,134,94},{255,141,102}, - {255,147,111},{255,153,119},{255,160,128},{255,166,136},{255,172,144},{255,178,153},{255,185,161},{255,191,170}, - {255,197,178},{255,204,186},{255,210,195},{255,216,203},{255,223,212},{255,229,220},{255,235,228},{255,241,237}, - {255,248,245},{255,254,254},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, - {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + +namespace KineticRipplePattern { + +const char* NAME = "Kinetic Ripple"; +const char* const KNOB_LABELS[4] = {"CENTERS", "SPEED", "TIME WARP", "DENSITY"}; + +const float KINETIC_RIPPLE_WAVES_MIN = 1.0f; +const float KINETIC_RIPPLE_WAVES_MAX = 6.0f; +const float KINETIC_RIPPLE_WAVES_STEP = 0.05f; + +const float KINETIC_RIPPLE_SPEED_MIN = 0.1f; +const float KINETIC_RIPPLE_SPEED_MAX = 8.0f; +const float KINETIC_RIPPLE_SPEED_STEP = 0.10f; + +const float KINETIC_RIPPLE_WARP_MIN = 0.2f; +const float KINETIC_RIPPLE_WARP_MAX = 3.0f; +const float KINETIC_RIPPLE_WARP_STEP = 0.05f; + +const float KINETIC_RIPPLE_COMPLEXITY_MIN = 1.0f; +const float KINETIC_RIPPLE_COMPLEXITY_MAX = 5.0f; +const float KINETIC_RIPPLE_COMPLEXITY_STEP = 0.05f; + +struct Params { + float waves; + float speed; + float timeWarp; + float complexity; + float timeAcc; }; -static float waves = 0.374f; -static float speed = 1.954f; -static float sun = 0.683f; -static float glit = 0.311f; -static float t = 0.0f; +Params params; void setup() { + params.waves = 3.0f; + params.speed = 1.5f; + params.timeWarp = 1.0f; + params.complexity = 2.0f; + params.timeAcc = 0.0f; + PFMath::buildSinLUT(); } void update(float dt, const InputFrame& input) { - waves += input.knobDeltas[0] * 0.05f; - if (waves < 0.0f) waves = 0.0f; - if (waves > 1.0f) waves = 1.0f; - - speed += input.knobDeltas[1] * 0.1f; - if (speed < 0.1f) speed = 0.1f; - if (speed > 3.0f) speed = 3.0f; - - sun += input.knobDeltas[2] * 0.05f; - if (sun < 0.0f) sun = 0.0f; - if (sun > 1.0f) sun = 1.0f; - - glit += input.knobDeltas[3] * 0.05f; - if (glit < 0.0f) glit = 0.0f; - if (glit > 1.0f) glit = 1.0f; - - t += dt * speed; - // common period for all sine multipliers: 2000π - if (t > 2000.0f * TWO_PI) { - t -= 2000.0f * TWO_PI; - } + params.waves = constrain(params.waves + input.knobDeltas[0] * KINETIC_RIPPLE_WAVES_STEP, KINETIC_RIPPLE_WAVES_MIN, KINETIC_RIPPLE_WAVES_MAX); + params.speed = constrain(params.speed + input.knobDeltas[1] * KINETIC_RIPPLE_SPEED_STEP, KINETIC_RIPPLE_SPEED_MIN, KINETIC_RIPPLE_SPEED_MAX); + params.timeWarp = constrain(params.timeWarp + input.knobDeltas[2] * KINETIC_RIPPLE_WARP_STEP, KINETIC_RIPPLE_WARP_MIN, KINETIC_RIPPLE_WARP_MAX); + params.complexity = constrain(params.complexity + input.knobDeltas[3] * KINETIC_RIPPLE_COMPLEXITY_STEP, KINETIC_RIPPLE_COMPLEXITY_MIN, KINETIC_RIPPLE_COMPLEXITY_MAX); + + params.timeAcc += dt * params.speed; } void draw() { - const int W = PANEL_RES_W; // 128 - const int H = PANEL_RES_H; // 64 - const float vh = (float)(W); // portrait logic: vh = max(W,H) = 128 - const float vw = (float)(H); // 64 - const float horizon = floorf(vh * 0.34f); // 43 - const float beachTop = vh - floorf(vh * 0.14f); // 111 - const float sunU = vw * 0.5f; // 32.0 - const float sunV = horizon - 3.0f - sun * (horizon - 8.0f); // 40 - sun*35 - const float invHorizon = 1.0f / horizon; - const float beachRange = vh - beachTop; // 17 - - for (int y = 0; y < H; ++y) { - const float u = (float)y; // 0..63 - - for (int x = 0; x < W; ++x) { - // coordinate remap for vertical panel (landscape physical) - const float v = (float)(W - 1 - x); // 127..0 - - float val; - - if (v < horizon) { - // --- Sky --- - const float g = v * invHorizon; - val = 0.12f + 0.38f * g; - - const float du = u - sunU; - const float dv = (v - sunV) * 1.2f; - const float d = sqrtf(du * du + dv * dv); - if (d < 4.5f) { - val = 1.0f; + const int w = PANEL_RES_W; + const int h = PANEL_RES_H; + const float t = params.timeAcc; + + const int centers = (int)floorf(params.waves); + const float warp = params.timeWarp; + const float dens = params.complexity; + + const float cx1 = (float)w * 0.5f + PFMath::fastCos(t * 0.7f) * ((float)w * 0.25f); + const float cy1 = (float)h * 0.5f + PFMath::fastSin(t * 1.1f) * ((float)h * 0.25f); + const float cx2 = (float)w * 0.5f - PFMath::fastSin(t * 0.9f) * ((float)w * 0.3f); + const float cy2 = (float)h * 0.5f + PFMath::fastCos(t * 0.6f) * ((float)h * 0.2f); + + const float d1_freq = 0.1f * dens; + const float d2_freq = 0.08f * dens; + const float t_offset1 = -t * 2.5f; + const float t_offset2 = -t * 1.8f; + + for (int y = 0; y < h; y++) { + const float dy1 = (float)y - cy1; + const float dy2 = (float)y - cy2; + + for (int x = 0; x < w; x++) { + const float dx1 = (float)x - cx1; + const float dist1 = PFMath::approxLength(dx1, dy1); + + float tWarp1; + if (warp == 1.0f) { + tWarp1 = (dist1 * 0.02f) + t_offset1; + } else if (warp == 2.0f) { + float d1_scaled = dist1 * 0.02f; + tWarp1 = (d1_scaled * d1_scaled) + t_offset1; + } else { + tWarp1 = powf(dist1 * 0.02f, warp) + t_offset1; + } + const float v1 = PFMath::fastSin(dist1 * d1_freq + tWarp1); + + float finalWave = v1; + + if (centers > 1) { + const float dx2 = (float)x - cx2; + const float dist2 = PFMath::approxLength(dx2, dy2); + + float tWarp2; + if (warp == 1.0f) { + tWarp2 = (dist2 * 0.02f) + t_offset2; + } else if (warp == 2.0f) { + float d2_scaled = dist2 * 0.02f; + tWarp2 = (d2_scaled * d2_scaled) + t_offset2; } else { - val += 0.7f * expf(-d * 0.18f); + tWarp2 = powf(dist2 * 0.02f, warp) + t_offset2; } + const float v2 = PFMath::fastCos(dist2 * d2_freq + tWarp2); - const float cl = PFMath::fastSin(u * 0.11f + v * 0.9f + t * 0.25f) - + PFMath::fastSin(u * 0.05f - v * 0.5f + 2.0f); - if (cl > 1.2f && v < horizon * 0.8f) { - val += 0.12f; + if (centers == 2) { + finalWave = (v1 + v2) * 0.5f; + } else { + finalWave = fabsf(v1 * v2); } } - else if (v < beachTop) { - // --- Sea --- - const float depth = (v - horizon) / (beachTop - horizon); - const float persp = 1.0f / (depth + 0.09f); - const float wob = PFMath::fastSin(u * 0.25f + t * 1.3f) * 0.5f * waves; - const float band = PFMath::fastSin(persp * 2.6f + wob + t * (1.5f + depth * 2.0f)); - - val = 0.42f - 0.22f * depth - + band * (0.06f + 0.14f * waves) * (0.4f + depth); - - const float pathW = 2.5f + depth * 9.0f; - const float sway = PFMath::fastSin(v * 0.5f + t) * waves * 2.0f; - const bool inPath = fabsf(u - sunU + sway) < pathW; - if (inPath) { - val += 0.12f + 0.1f * (1.0f - depth); - } - // glitter sparkle - const int gx = (int)(u * 7.3f); - const int gy = (int)(v * 13.1f); - const int seed = (int)(floorf(t * 7.0f) * 17.7f); - const float sp = PFNoise::cellHash(gx, gy, seed); - const float thr = 1.0f - glit * (inPath ? 0.10f : 0.03f); - if (sp > thr && band > 0.2f) { - val = 1.0f; - } - } - else { - // --- Beach --- - const float s = (v - beachTop) / beachRange; - const int bx = (int)(u * 3.7f); - const int by = (int)(v * 5.1f); - const float sandHash = PFNoise::cellHash(bx, by); - val = 0.5f + 0.15f * s + 0.06f * sandHash; - - const float surge = PFMath::fastSin(t * 1.8f) * 0.5f + 0.5f; - const float edge = beachTop + 2.0f - + surge * beachRange * 0.55f * (0.4f + waves) - + PFMath::fastSin(u * 0.35f + t * 2.2f) * 2.5f * waves; - - if (v < edge) { - const float waterDepth = (edge - v) / beachRange; - val = 0.34f - 0.1f * waterDepth; - if (edge - v < 1.5f) { - val = 0.95f; - } - } - } + float v = (finalWave + 1.0f) * 0.5f; + + float bright; + if (v > 0.8f) bright = 1.0f; + else if (v > 0.5f) bright = 0.6f; + else if (v > 0.2f) bright = 0.25f; + else bright = 0.05f; + + // Amplify brightness dynamically to reach near-full intensity on a HUB75 LED Matrix + float amplified = constrain(bright * 1.15f, 0.0f, 1.0f); + uint8_t c = (uint8_t)(amplified * 255.0f); - // clamp and map through baked ramp - val = fmaxf(0.0f, fminf(1.0f, val)); - int li = (int)(val * 255.0f + 0.5f); - if (li < 0) li = 0; - if (li > 255) li = 255; - PFCanvas::setPixel(x, y, - RAMP_LUT[li][0], - RAMP_LUT[li][1], - RAMP_LUT[li][2]); + PFCanvas::setPixel(x, y, c, c, c); } } PFCanvas::present(); } -} // namespace MidsummerSea \ No newline at end of file +} // namespace KineticRipplePattern \ No newline at end of file diff --git a/firmware/patternflow/pattern_registry.h b/firmware/patternflow/pattern_registry.h index a56e3dd..d750d1d 100644 --- a/firmware/patternflow/pattern_registry.h +++ b/firmware/patternflow/pattern_registry.h @@ -32,6 +32,19 @@ #include "presets/preset_0531.h" #include "presets/preset_0601.h" #include "presets/preset_0602.h" +#include "presets/preset_0628.h" +#include "presets/preset_0629.h" +#include "presets/preset_0629_2.h" +#include "presets/preset_0701.h" +#include "presets/preset_0707.h" +#include "presets/preset_0710.h" +#include "presets/preset_0712.h" +#include "presets/preset_0712_2.h" +#include "presets/preset_0713.h" +#include "presets/preset_0715.h" +#include "presets/preset_0716.h" +#include "presets/preset_0718.h" +#include "presets/preset_0719.h" #include "presets/preset_a_big_hit.h" struct PatternEntry { @@ -55,9 +68,9 @@ struct PatternEntry { // ── CUSTOM (your own — edit these) ── PatternEntry customPatterns[] = { - PATTERN_ENTRY(FireflyHollow), - PATTERN_ENTRY(BreakoutArcade), - PATTERN_ENTRY(MidsummerSea), + PATTERN_ENTRY(BinaryCascade), + PATTERN_ENTRY(GridFracturePattern), + PATTERN_ENTRY(KineticRipplePattern), }; const int NUM_CUSTOM = sizeof(customPatterns) / sizeof(customPatterns[0]); @@ -83,6 +96,19 @@ PatternEntry presetPatterns[] = { PATTERN_ENTRY(Pattern0531), PATTERN_ENTRY(Pattern0601), PATTERN_ENTRY(Pattern0602), + PATTERN_ENTRY(RetroDigitalTapestry), + PATTERN_ENTRY(ChromaticAberrationVortexPattern), + PATTERN_ENTRY(VectorFieldParticleFlowPattern), + PATTERN_ENTRY(LissajousWeave), + PATTERN_ENTRY(UntitledPattern), + PATTERN_ENTRY(TileWaves), + PATTERN_ENTRY(MidsummerSea), + PATTERN_ENTRY(BreakoutArcade), + PATTERN_ENTRY(FireflyHollow), + PATTERN_ENTRY(PoincareSphere), + PATTERN_ENTRY(TriMarch), + PATTERN_ENTRY(WarpedWave), + PATTERN_ENTRY(MagVortex), PATTERN_ENTRY(PatternABigHit), }; const int NUM_PRESETS = sizeof(presetPatterns) / sizeof(presetPatterns[0]); diff --git a/firmware/patternflow/presets/preset_0628.h b/firmware/patternflow/presets/preset_0628.h new file mode 100644 index 0000000..dc0b822 --- /dev/null +++ b/firmware/patternflow/presets/preset_0628.h @@ -0,0 +1,117 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: Retro Digital Tapestry +// Author: Seunghun LEE +// Date: 2026-06-28 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" +#include "../src/core_color.h" + +namespace RetroDigitalTapestry { + +const char* NAME = "Retro Digital Tapestry"; +const char* const KNOB_LABELS[4] = {"Cell Scale", "Speed", "Logic Mode", "Wave Mod"}; + +float cellScale = -0.101f; +float speed = 1.99f; +float logicMode = 1.001f; +float waveMod = 1.346f; +float timeAcc = 0.0f; + +void setup() { + PFMath::buildSinLUT(); + cellScale = -0.101f; + speed = 1.99f; + logicMode = 1.001f; + waveMod = 1.346f; + timeAcc = 0.0f; +} + +void update(float dt, const InputFrame& input) { + cellScale += input.knobDeltas[0] * 0.05f; + if (cellScale < -0.101f) cellScale = -0.101f; + if (cellScale > 0.5f) cellScale = 0.5f; + + speed += input.knobDeltas[1] * 0.1f; + if (speed < 0.1f) speed = 0.1f; + if (speed > 5.0f) speed = 5.0f; + + logicMode += input.knobDeltas[2] * 0.05f; + if (logicMode < 0.0f) logicMode = 0.0f; + if (logicMode > 1.001f) logicMode = 1.001f; + + waveMod += input.knobDeltas[3] * 0.05f; + if (waveMod < 0.0f) waveMod = 0.0f; + if (waveMod > 3.0f) waveMod = 3.0f; + + timeAcc += dt * speed * 2.0f; +} + +void draw() { + int scale = (int)(4.0f + cellScale * 24.0f); + if (scale < 1) scale = 1; + int mode = (int)(logicMode * 5.0f); + float waveF = 0.02f + waveMod * 0.08f; + float t = timeAcc; + + int floorT = (int)floorf(t); + int floorT15 = (int)floorf(t * 1.5f); + int floorT08 = (int)floorf(t * 0.8f); + + float minVal = floorf(50.0f * (PFMath::fastSin(t * 2.0f) * 0.5f + 0.5f)); + float hsv_v = 220.0f / 255.0f; + float hsv_s = (220.0f - minVal) / 220.0f; + + for (int y = 0; y < PANEL_RES_H; y++) { + int sy = y / scale; + float cosY = PFMath::fastCos(y * waveF - t); + + for (int x = 0; x < PANEL_RES_W; x++) { + int sx = x / scale; + int patternVal = 0; + + switch (mode) { + case 0: patternVal = (sx ^ sy) + floorT; break; + case 1: patternVal = (sx & sy) * 3 + floorT15; break; + case 2: patternVal = (sx * 7 + sy * 3) ^ floorT; break; + case 3: patternVal = (sx ^ (sy + floorT)) & 15; break; + default: patternVal = ((sx * sx + sy * sy) >> 2) + floorT08; break; + } + + float smoothS = PFMath::fastSin(x * waveF + t) * cosY; + bool bitActive = (patternVal & 8) != 0; + + uint8_t r = 0, g = 0, b = 0; + + if (bitActive) { + float hu = smoothS * 0.3f + 0.5f + (float)(patternVal % 16) / 32.0f; + hu = fmodf(hu, 1.0f); + if (hu < 0.0f) hu += 1.0f; + + PFColor::hsvToRgb(hu, hsv_s, hsv_v, r, g, b); + } else { + if ((x % scale == 0) || (y % scale == 0)) { + r = 20; g = 10; b = 40; + } + } + + PFCanvas::setPixel(x, y, r, g, b); + } + } + PFCanvas::present(); +} + +} // namespace RetroDigitalTapestry + +// ── Made with Patternflow · https://patternflow.work ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/presets/preset_0629.h b/firmware/patternflow/presets/preset_0629.h new file mode 100644 index 0000000..c440516 --- /dev/null +++ b/firmware/patternflow/presets/preset_0629.h @@ -0,0 +1,146 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: Chromatic Aberration Vortex +// Author: Seunghun LEE +// Date: 2026-06-29 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" + +namespace ChromaticAberrationVortexPattern { + +const char* NAME = "Chromatic Vortex"; +const char* const KNOB_LABELS[4] = {"Split Dist", "Swirl Speed", "Wave Density", "Color Shift"}; + +const float CHROMATIC_VORTEX_SPLIT_MIN = 0.0f; +const float CHROMATIC_VORTEX_SPLIT_MAX = 1.0f; +const float CHROMATIC_VORTEX_SPLIT_STEP = 0.05f; + +const float CHROMATIC_VORTEX_SPEED_MIN = 0.1f; +const float CHROMATIC_VORTEX_SPEED_MAX = 10.0f; +const float CHROMATIC_VORTEX_SPEED_STEP = 0.10f; + +const float CHROMATIC_VORTEX_DENSITY_MIN = 0.0f; +const float CHROMATIC_VORTEX_DENSITY_MAX = 4.9f; +const float CHROMATIC_VORTEX_DENSITY_STEP = 0.05f; + +const float CHROMATIC_VORTEX_COLOR_BIAS_MIN = 0.0f; +const float CHROMATIC_VORTEX_COLOR_BIAS_MAX = 1.0f; +const float CHROMATIC_VORTEX_COLOR_BIAS_STEP = 0.05f; + +struct Params { + float split; + float speed; + float density; + float colorBias; + float timeAcc; +}; + +Params params; + +void setup() { + PFMath::buildSinLUT(); + params.split = 0.4f; + params.speed = 1.5f; + params.density = 2.0f; + params.colorBias = 0.5f; + params.timeAcc = 0.0f; +} + +void update(float dt, const InputFrame& input) { + params.split += input.knobDeltas[0] * CHROMATIC_VORTEX_SPLIT_STEP; + params.split = fmodf(params.split, 1.0f); + if (params.split < 0.0f) params.split += 1.0f; + + params.speed += input.knobDeltas[1] * CHROMATIC_VORTEX_SPEED_STEP; + params.speed = constrain(params.speed, CHROMATIC_VORTEX_SPEED_MIN, CHROMATIC_VORTEX_SPEED_MAX); + + params.density += input.knobDeltas[2] * CHROMATIC_VORTEX_DENSITY_STEP; + params.density = constrain(params.density, CHROMATIC_VORTEX_DENSITY_MIN, CHROMATIC_VORTEX_DENSITY_MAX); + + params.colorBias += input.knobDeltas[3] * CHROMATIC_VORTEX_COLOR_BIAS_STEP; + params.colorBias = fmodf(params.colorBias, 1.0f); + if (params.colorBias < 0.0f) params.colorBias += 1.0f; + + params.timeAcc += dt * params.speed; +} + +void draw() { + int w = PANEL_RES_W; + int h = PANEL_RES_H; + float t = params.timeAcc; + + float cx = w / 2.0f; + float cy = h / 2.0f; + float maxShift = params.split * 8.0f; + float densityCalc = params.density * 0.1f + 0.05f; + + for (int y = 0; y < h; y++) { + float dy = (float)y - cy; + for (int x = 0; x < w; x++) { + float dx = (float)x - cx; + + // 완벽한 원형을 위해 실제 sqrtf 사용 (ESP32-S3 FPU 하드웨어 연산 활용) + float dist = sqrtf(dx * dx + dy * dy); + float angle = atan2f(dy, dx); + + float dist005 = dist * 0.05f; + float shiftR = PFMath::fastSin(dist005 - t) * maxShift; + float shiftG = PFMath::fastSin(dist005 - t + 1.0f) * maxShift * 0.5f; + float shiftB = PFMath::fastSin(dist005 - t + 2.0f) * maxShift * -0.5f; + + // Red Channel Matrix + float rDist = dist + shiftR; + float rWave = PFMath::fastSin(rDist * densityCalc - t * 2.0f + angle); + float rInt = rWave * 0.5f + 0.5f; + if (rInt < 0.0f) rInt = 0.0f; + + // Green Channel Matrix + float gDist = dist + shiftG; + float gWave = PFMath::fastSin(gDist * densityCalc - t * 2.0f + angle + 1.0f); + float gInt = gWave * 0.5f + 0.5f; + if (gInt < 0.0f) gInt = 0.0f; + + // Blue Channel Matrix + float bDist = dist + shiftB; + float bWave = PFMath::fastSin(bDist * densityCalc - t * 2.0f + angle + 2.0f); + float bInt = bWave * 0.5f + 0.5f; + if (bInt < 0.0f) bInt = 0.0f; + + // Color Bias Processing + float rFloat = rInt * 255.0f * (params.colorBias * 0.5f + 0.5f); + float gFloat = gInt * 255.0f * (1.0f - params.colorBias * 0.3f); + float bFloat = bInt * 255.0f * (0.3f + params.colorBias * 0.7f); + + uint8_t r = (uint8_t)constrain(floorf(rFloat), 0.0f, 255.0f); + uint8_t g = (uint8_t)constrain(floorf(gFloat), 0.0f, 255.0f); + uint8_t b = (uint8_t)constrain(floorf(bFloat), 0.0f, 255.0f); + + // White Overlap Peak Correction + if (rInt > 0.85f && gInt > 0.85f && bInt > 0.85f) { + r = 255; + g = 255; + b = 255; + } + + PFCanvas::setPixel(x, y, r, g, b); + } + } + PFCanvas::present(); +} + +} // namespace ChromaticAberrationVortexPattern + +// ── Made with Patternflow · https://patternflow.work ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/presets/preset_0629_2.h b/firmware/patternflow/presets/preset_0629_2.h new file mode 100644 index 0000000..a29a4e7 --- /dev/null +++ b/firmware/patternflow/presets/preset_0629_2.h @@ -0,0 +1,150 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: Vector Field Particle Flow +// Author: Seunghun LEE +// Date: 2026-06-29 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" +#include "../src/core_color.h" + +namespace VectorFieldParticleFlowPattern { + +const char* NAME = "Vector Field Flow"; +const char* const KNOB_LABELS[4] = {"Turbulence", "Velocity", "Density", "Palette"}; + +const float VECTOR_FIELD_TURB_MIN = 0.0f; +const float VECTOR_FIELD_TURB_MAX = 1.0f; +const float VECTOR_FIELD_TURB_STEP = 0.05f; + +const float VECTOR_FIELD_SPEED_MIN = 0.1f; +const float VECTOR_FIELD_SPEED_MAX = 10.0f; +const float VECTOR_FIELD_SPEED_STEP = 0.10f; + +const float VECTOR_FIELD_DENSITY_MIN = 0.0f; +const float VECTOR_FIELD_DENSITY_MAX = 4.9f; +const float VECTOR_FIELD_DENSITY_STEP = 0.05f; + +const float VECTOR_FIELD_PALETTE_MIN = 0.0f; +const float VECTOR_FIELD_PALETTE_MAX = 1.0f; +const float VECTOR_FIELD_PALETTE_STEP = 0.05f; + +struct Params { + float turbulence; + float speed; + float density; + float palette; + float timeAcc; +}; + +Params params; + +float norm_x[PANEL_RES_W]; +float norm_y[PANEL_RES_H]; + +void setup() { + PFMath::buildSinLUT(); + + params.turbulence = 0.5f; + params.speed = 2.0f; + params.density = 2.5f; + params.palette = 0.1f; + params.timeAcc = 0.0f; + + for (int x = 0; x < PANEL_RES_W; x++) { + norm_x[x] = (float)x / PANEL_RES_W - 0.5f; + } + for (int y = 0; y < PANEL_RES_H; y++) { + norm_y[y] = (float)y / PANEL_RES_H - 0.5f; + } +} + +void update(float dt, const InputFrame& input) { + // Knob 1: Turbulence (Wrap) + params.turbulence += input.knobDeltas[0] * VECTOR_FIELD_TURB_STEP; + while (params.turbulence < VECTOR_FIELD_TURB_MIN) params.turbulence += (VECTOR_FIELD_TURB_MAX - VECTOR_FIELD_TURB_MIN); + while (params.turbulence > VECTOR_FIELD_TURB_MAX) params.turbulence -= (VECTOR_FIELD_TURB_MAX - VECTOR_FIELD_TURB_MIN); + + // Knob 2: Speed (Clamp) + params.speed += input.knobDeltas[1] * VECTOR_FIELD_SPEED_STEP; + params.speed = constrain(params.speed, VECTOR_FIELD_SPEED_MIN, VECTOR_FIELD_SPEED_MAX); + + // Knob 3: Density (Clamp) + params.density += input.knobDeltas[2] * VECTOR_FIELD_DENSITY_STEP; + params.density = constrain(params.density, VECTOR_FIELD_DENSITY_MIN, VECTOR_FIELD_DENSITY_MAX); + + // Knob 4: Palette (Wrap) + params.palette += input.knobDeltas[3] * VECTOR_FIELD_PALETTE_STEP; + while (params.palette < VECTOR_FIELD_PALETTE_MIN) params.palette += (VECTOR_FIELD_PALETTE_MAX - VECTOR_FIELD_PALETTE_MIN); + while (params.palette > VECTOR_FIELD_PALETTE_MAX) params.palette -= (VECTOR_FIELD_PALETTE_MAX - VECTOR_FIELD_PALETTE_MIN); + + params.timeAcc += dt * params.speed; +} + +void draw() { + float density_4 = params.density * 4.0f; + float t = params.timeAcc; + + float cos_ny_term[PANEL_RES_H]; + for (int y = 0; y < PANEL_RES_H; y++) { + cos_ny_term[y] = PFMath::fastCos(norm_y[y] * density_4 - t); + } + + float sin_nx_term[PANEL_RES_W]; + for (int x = 0; x < PANEL_RES_W; x++) { + sin_nx_term[x] = PFMath::fastSin(norm_x[x] * density_4 + t); + } + + for (int y = 0; y < PANEL_RES_H; y++) { + float cy = cos_ny_term[y]; + float ny = norm_y[y]; + + for (int x = 0; x < PANEL_RES_W; x++) { + float nx = norm_x[x]; + float angle = sin_nx_term[x] + cy; + + float turb_5 = angle * params.turbulence * 5.0f; + float forceX = PFMath::fastSin(turb_5); + float forceY = PFMath::fastCos(turb_5); + + float value = PFMath::fastSin((nx * forceX + ny * forceY) * 10.0f + t * 2.0f); + float intensity = value * 0.5f + 0.5f; + if (intensity < 0.0f) intensity = 0.0f; + + uint8_t r = 0, g = 0, b = 0; + if (intensity > 0.1f) { + float adjusted_intensity = constrain(0.05f + intensity * 1.1f, 0.0f, 1.0f); + float hue = params.palette + (angle * 0.159154943f) + (forceX * 0.2f); + + hue = fmodf(hue, 1.0f); + if (hue < 0.0f) hue += 1.0f; + + PFColor::hsvToRgb(hue, 0.85f, adjusted_intensity, r, g, b); + + if (adjusted_intensity > 0.88f) { + r = 255; + g = 255; + b = 255; + } + } + PFCanvas::setPixel(x, y, r, g, b); + } + } + PFCanvas::present(); +} + +} // namespace VectorFieldParticleFlowPattern + +// ── Made with Patternflow · https://patternflow.work ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/presets/preset_0701.h b/firmware/patternflow/presets/preset_0701.h new file mode 100644 index 0000000..4c3cca2 --- /dev/null +++ b/firmware/patternflow/presets/preset_0701.h @@ -0,0 +1,132 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: Lissajous Weave +// Author: Seunghun LEE +// Date: 2026-07-01 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" +#include "../src/core_color.h" + +namespace LissajousWeave { + + const char* NAME = "Lissajous Weave"; + const char* const KNOB_LABELS[4] = {"X Frequency", "Speed", "Y Frequency", "Phase Offset"}; + + // Knob state tracking initialized to the specified Pattern Lab current values + float knob1 = 1.586f; // min 0, max 2.8, step 0.05 + float knob2 = 0.358f; // min 0, max 2, step 0.1 + float knob3 = 1.437f; // min 0, max 7, step 0.05 + float knob4 = 2.713f; // min -3, max 3, step 0.05 + + // Derived pattern parameters + float freqX = 3.0f; + float speed = 2.0f; + float freqY = 4.0f; + float phase = 0.5f; + float timeAcc = 0.0f; + + void setup() { + PFMath::buildSinLUT(); + + // Initialize derived parameters from initial knob values + freqX = 1.0f + floorf(knob1 * 7.0f); + speed = knob2; + freqY = 1.0f + floorf(knob3 * 7.0f); + phase = knob4; + timeAcc = 0.0f; + } + + void update(float dt, const InputFrame& input) { + // Update Knob 1 + knob1 += input.knobDeltas[0] * 0.05f; + if (knob1 < 0.0f) knob1 = 0.0f; + if (knob1 > 2.8f) knob1 = 2.8f; + + // Update Knob 2 + knob2 += input.knobDeltas[1] * 0.1f; + if (knob2 < 0.0f) knob2 = 0.0f; + if (knob2 > 2.0f) knob2 = 2.0f; + + // Update Knob 3 + knob3 += input.knobDeltas[2] * 0.05f; + if (knob3 < 0.0f) knob3 = 0.0f; + if (knob3 > 7.0f) knob3 = 7.0f; + + // Update Knob 4 + knob4 += input.knobDeltas[3] * 0.05f; + if (knob4 < -3.0f) knob4 = -3.0f; + if (knob4 > 3.0f) knob4 = 3.0f; + + // Recompute parameters based on updated knob positions + freqX = 1.0f + floorf(knob1 * 7.0f); + speed = knob2; + freqY = 1.0f + floorf(knob3 * 7.0f); + phase = knob4; + + timeAcc += dt * speed; + } + + void draw() { + float t = timeAcc; + float fx = freqX; + float fy = freqY; + float phaseRad = phase * 3.14159265f * 2.0f; + + // Clear display with a vertical/horizontal background gradient + for (int y = 0; y < PANEL_RES_H; y++) { + for (int x = 0; x < PANEL_RES_W; x++) { + int bg = 10 + (x * 20) / PANEL_RES_W; + PFCanvas::setPixel(x, y, 0, bg, (bg * 7) / 10); + } + } + + // Draw multiple Lissajous curves + const int numCurves = 12; + const int points = 300; + const float centerW = PANEL_RES_W * 0.5f; + const char centerH = PANEL_RES_H * 0.5f; + const float radiusW = PANEL_RES_W * 0.4f; + const float radiusH = PANEL_RES_H * 0.4f; + + for (int curve = 0; curve < numCurves; curve++) { + float curvePhase = ((float)curve / numCurves) * 3.14159265f * 2.0f; + float hue = fmodf((float)curve / numCurves + t * 0.01f, 1.0f); + if (hue < 0.0f) hue += 1.0f; + + for (int i = 0; i < points; i++) { + float theta = ((float)i / points) * 3.14159265f * 8.0f + t * 0.2f; + + float cx = centerW + PFMath::fastSin(theta * fx + t * 0.1f + curvePhase) * radiusW; + float cy = centerH + PFMath::fastSin(theta * fy + t * 0.15f + curvePhase + phaseRad) * radiusH; + + int px = (int)cx; + int py = (int)cy; + + if (px >= 0 && px < PANEL_RES_W && py >= 0 && py < PANEL_RES_H) { + float brightness = 0.3f + 0.7f * (0.5f + 0.5f * PFMath::fastSin(theta * 3.0f)); + float saturation = 0.8f; + + uint8_t r, g, b; + PFColor::hsvToRgb(hue, saturation, brightness, r, g, b); + PFCanvas::setPixel(px, py, r, g, b); + } + } + } + + PFCanvas::present(); + } + +} // namespace LissajousWeave + +// ── Made with Patternflow · https://patternflow.work ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/presets/preset_0707.h b/firmware/patternflow/presets/preset_0707.h new file mode 100644 index 0000000..4de5b8e --- /dev/null +++ b/firmware/patternflow/presets/preset_0707.h @@ -0,0 +1,149 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: 260707 +// Author: Seunghun LEE +// Date: 2026-07-07 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" + +namespace UntitledPattern { + +const char* NAME = "Untitled pattern"; +const char* const KNOB_LABELS[4] = {"Glitch", "Speed", "Freq", "Quantize"}; + +static const uint8_t RAMP_LUT[256][3] = { + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{43,0,255},{43,0,255}, + {43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255}, + {43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255}, + {43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255}, + {43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255}, + {43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255}, + {43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255}, + {43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255},{43,0,255}, + {43,0,255},{43,0,255},{43,0,255},{43,0,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255}, + {0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255}, + {0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255}, + {0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255}, + {0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255}, + {0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{0,157,255},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, +}; + +static float glitch = 0.597f; +static float speed = 2.0f; +static float freq = 7.631555555555555f; +static float quantize = 10.0f; +static float timeAcc = 0.0f; + +static const float UNTITLED_GLITCH_STEP = 0.05f; +static const float UNTITLED_SPEED_STEP = 0.1f; +static const float UNTITLED_FREQ_STEP = 0.05f; +static const float UNTITLED_QUANTIZE_STEP = 0.05f; + +void setup() { + PFMath::buildSinLUT(); +} + +void update(float dt, const InputFrame& input) { + if (input.knobDeltas[0] != 0) { + glitch += input.knobDeltas[0] * UNTITLED_GLITCH_STEP; + if (glitch < 0.0f) glitch = 0.0f; + if (glitch > 2.0f) glitch = 2.0f; + } + if (input.knobDeltas[1] != 0) { + speed += input.knobDeltas[1] * UNTITLED_SPEED_STEP; + if (speed < 0.05f) speed = 0.05f; + if (speed > 2.0f) speed = 2.0f; + } + if (input.knobDeltas[2] != 0) { + freq += input.knobDeltas[2] * UNTITLED_FREQ_STEP; + if (freq < 2.0f) freq = 2.0f; + if (freq > 10.0f) freq = 10.0f; + } + if (input.knobDeltas[3] != 0) { + quantize += input.knobDeltas[3] * UNTITLED_QUANTIZE_STEP; + if (quantize < 2.0f) quantize = 2.0f; + if (quantize > 10.0f) quantize = 10.0f; + } + + timeAcc += dt * speed; + if (timeAcc > TWO_PI) timeAcc -= TWO_PI; +} + +void draw() { + const int w = PANEL_RES_W; + const int h = PANEL_RES_H; + const float t = timeAcc; + + const float halfW = w * 0.5f; + const float halfH = h * 0.5f; + const float invHalfW = 1.0f / halfW; + const float invHalfH = 1.0f / halfH; + + const float freqParam = freq; + const float glitchParam = glitch; + const int steps = (int)quantize; + const float stepsMinusOne = (float)(steps - 1); + + for (int y = 0; y < h; y++) { + float rowShift = 0.0f; + if (glitchParam > 0.02f) { + float ny0 = y * 0.5f; + float ny1 = y * 0.1f; + float noise = PFMath::fastSin(ny0 + t * 10.0f) * PFMath::fastCos(ny1 - t * 4.0f); + if (noise > 1.0f - glitchParam) { + rowShift = PFMath::fastSin(t * 30.0f) * glitchParam * 30.0f; + } + } + + for (int x = 0; x < w; x++) { + float nx = (x + rowShift - halfW) * invHalfW; + float ny = (y - halfH) * invHalfH; + float d = sqrtf(nx * nx + ny * ny); + + float waveValue = PFMath::fastSin(d * freqParam - t * 4.0f + PFMath::fastSin(nx * 4.0f + t) * glitchParam * 5.0f); + float rawV = (waveValue + 1.0f) * 0.5f; + + float v = floorf(rawV * steps) / stepsMinusOne; + if (v < 0.0f) v = 0.0f; + if (v > 1.0f) v = 1.0f; + + int li = (int)(v * 255.0f + 0.5f); + PFCanvas::setPixel(x, y, RAMP_LUT[li][0], RAMP_LUT[li][1], RAMP_LUT[li][2]); + } + } + + PFCanvas::present(); +} + +} // namespace UntitledPattern + +// ── Made with Patternflow Pattern Lab · https://patternflow.work/pattern-lab ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/presets/preset_0710.h b/firmware/patternflow/presets/preset_0710.h new file mode 100644 index 0000000..178b9c3 --- /dev/null +++ b/firmware/patternflow/presets/preset_0710.h @@ -0,0 +1,216 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: 260710 +// Author: Seunghun LEE +// Date: 2026-07-10 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" + +namespace TileWaves { + +const char* NAME = "TileWaves"; +const char* const KNOB_LABELS[4] = {"Quantize", "Speed", "PhaseShift", "Sharpness"}; + +static const uint8_t RAMP_LUT[256][3] = { + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {1,0,8},{3,0,17},{4,0,25},{6,0,34},{7,0,42},{9,0,50},{10,0,59},{11,0,67}, + {13,0,76},{14,0,84},{16,0,93},{17,0,101},{19,0,110},{20,0,118},{21,0,127},{23,0,135}, + {24,0,144},{26,0,152},{27,0,161},{29,0,169},{30,0,178},{31,0,186},{33,0,195},{34,0,203}, + {36,0,211},{37,0,220},{39,0,228},{40,0,237},{41,0,245},{43,0,254},{42,2,255},{42,4,255}, + {41,7,255},{41,9,255},{40,11,255},{39,13,255},{39,16,255},{38,18,255},{37,20,255},{37,22,255}, + {36,25,255},{36,27,255},{35,29,255},{34,32,255},{34,34,255},{33,36,255},{32,38,255},{32,41,255}, + {31,43,255},{31,45,255},{30,48,255},{29,50,255},{29,52,255},{28,54,255},{27,57,255},{27,59,255}, + {26,61,255},{26,64,255},{25,66,255},{24,68,255},{24,70,255},{23,73,255},{22,75,255},{22,77,255}, + {21,80,255},{21,82,255},{20,84,255},{19,86,255},{19,89,255},{18,91,255},{17,93,255},{17,95,255}, + {16,98,255},{16,100,255},{15,102,255},{14,105,255},{14,107,255},{13,109,255},{12,111,255},{12,114,255}, + {11,116,255},{11,118,255},{10,121,255},{9,123,255},{9,125,255},{8,127,255},{7,130,255},{7,132,255}, + {6,134,255},{6,137,255},{5,139,255},{4,141,255},{4,143,255},{3,146,255},{2,148,255},{2,150,255}, + {1,152,255},{1,155,255},{0,157,255},{7,153,248},{14,148,241},{21,144,234},{28,140,227},{35,135,220}, + {42,131,213},{49,127,206},{56,122,199},{63,118,192},{70,114,185},{77,110,178},{84,105,171},{91,101,164}, + {98,97,157},{105,92,150},{112,88,143},{119,84,136},{126,79,129},{133,75,122},{140,71,115},{147,67,108}, + {154,62,101},{161,58,94},{168,54,87},{175,49,80},{182,45,73},{189,41,66},{196,36,59},{203,32,52}, + {210,28,45},{217,23,38},{224,19,31},{231,15,24},{238,11,17},{245,6,10},{252,2,3},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, + {255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0},{255,0,0}, +}; + +// Knob state initialized to Pattern Lab current values +static float quantizeState = 6.533f; +static float speedState = 7.048f; +static float phaseShiftState = 3.0f; +static float sharpnessState = 1.0f; + +// Calibrated steps per detent +static const float TILE_QUANTIZE_STEP = 0.05f; +static const float TILE_SPEED_STEP = 0.1f; +static const float TILE_PHASESHIFT_STEP = 0.05f; +static const float TILE_SHARPNESS_STEP = 0.05f; + +// Range limits +static const float TILE_QUANTIZE_MIN = 1.0f; +static const float TILE_QUANTIZE_MAX = 12.0f; +static const float TILE_SPEED_MIN = 0.1f; +static const float TILE_SPEED_MAX = 10.0f; +static const float TILE_PHASESHIFT_MIN = 0.0f; +static const float TILE_PHASESHIFT_MAX = 5.0f; +static const float TILE_SHARPNESS_MIN = 1.0f; +static const float TILE_SHARPNESS_MAX = 10.0f; + +static float timeAcc = 0.0f; + +// tileSize is fixed at 8; precompute tile centers and distances for all grid cells. +// Grid dimensions: (PANEL_RES_W/8 + 1) x (PANEL_RES_H/8 + 1) — center of panel is (w/2, h/2) in pixel coords. +// We precompute dist for each grid cell once per frame since phaseShift can change, +// but the gridX/gridY → dist mapping is parameter-dependent only via phaseShift multiplier applied later. +// Actually dist itself is parameter-independent (pure geometry), so precompute it in setup. +// gridCols = ceil(PANEL_RES_W / 8.0f), gridRows = ceil(PANEL_RES_H / 8.0f). +// We store dist for each (gridX, gridY) so we don't recalc sqrtf per pixel. + +static const int TILE_SIZE = 8; +static int gridCols; +static int gridRows; +static float* gridDist; // size gridCols * gridRows; dist from tile center to panel center + +static float cx, cy; + +void setup() { + PFMath::buildSinLUT(); + + cx = PANEL_RES_W * 0.5f; + cy = PANEL_RES_H * 0.5f; + gridCols = (PANEL_RES_W + TILE_SIZE - 1) / TILE_SIZE; + gridRows = (PANEL_RES_H + TILE_SIZE - 1) / TILE_SIZE; + gridDist = new float[gridCols * gridRows]; + + float halfTile = TILE_SIZE * 0.5f; + for (int gy = 0; gy < gridRows; gy++) { + float ty = gy * TILE_SIZE + halfTile; + float dy = ty - cy; + int rowBase = gy * gridCols; + for (int gx = 0; gx < gridCols; gx++) { + float tx = gx * TILE_SIZE + halfTile; + float dx = tx - cx; + gridDist[rowBase + gx] = sqrtf(dx * dx + dy * dy); + } + } +} + +void update(float dt, const InputFrame& input) { + quantizeState += input.knobDeltas[0] * TILE_QUANTIZE_STEP; + if (quantizeState < TILE_QUANTIZE_MIN) quantizeState = TILE_QUANTIZE_MIN; + if (quantizeState > TILE_QUANTIZE_MAX) quantizeState = TILE_QUANTIZE_MAX; + + speedState += input.knobDeltas[1] * TILE_SPEED_STEP; + if (speedState < TILE_SPEED_MIN) speedState = TILE_SPEED_MIN; + if (speedState > TILE_SPEED_MAX) speedState = TILE_SPEED_MAX; + + phaseShiftState += input.knobDeltas[2] * TILE_PHASESHIFT_STEP; + if (phaseShiftState < TILE_PHASESHIFT_MIN) phaseShiftState = TILE_PHASESHIFT_MIN; + if (phaseShiftState > TILE_PHASESHIFT_MAX) phaseShiftState = TILE_PHASESHIFT_MAX; + + sharpnessState += input.knobDeltas[3] * TILE_SHARPNESS_STEP; + if (sharpnessState < TILE_SHARPNESS_MIN) sharpnessState = TILE_SHARPNESS_MIN; + if (sharpnessState > TILE_SHARPNESS_MAX) sharpnessState = TILE_SHARPNESS_MAX; + + timeAcc += dt * speedState; + // timeAcc feeds fastSin with integer multiplier (3.0) and floorf for quantization. + // Wrap at TWO_PI for the sin use; the quantization floorf operates on the wrapped value + // but produces the same floorf(localTime/step) since step is fractional and TWO_PI is the + // period of the underlying sine. The phase offset (dist * phaseShift * 0.08) drifts but is + // added before floorf. To keep floorf quantization stable we need to preserve the + // unbounded drift in the offset, but wrapping timeAcc at 2π is correct because + // sin(theta - 2π*k) == sin(theta) and floorf((theta - 2π*k)/step) differs from + // floorf(theta/step) by an integer, which sin eliminates. So wrap is safe. + if (timeAcc > TWO_PI) { + timeAcc -= TWO_PI; + } else if (timeAcc < -TWO_PI) { + timeAcc += TWO_PI; + } +} + +void draw() { + float t = timeAcc; + float quantize = quantizeState; + float phaseShift = phaseShiftState; + float sharpness = sharpnessState; + + int tileSize = TILE_SIZE; + int cols = gridCols; + int rows = gridRows; + + float quantizeStep = 1.0f; + float invQuantize = 1.0f; + if (quantize > 1.0f) { + quantizeStep = 1.0f / quantize; + invQuantize = quantize; + } + + for (int y = 0; y < PANEL_RES_H; y++) { + int gridY = y / tileSize; + int rowBase = gridY * cols; + + // tile border check: top edge of tile + bool borderY = (y % tileSize == 0); + + for (int x = 0; x < PANEL_RES_W; x++) { + int gridX = x / tileSize; + float dist = gridDist[rowBase + gridX]; + + // Phase-delayed, time-quantized motion + float localTime = t - dist * phaseShift * 0.08f; + if (quantize > 1.0f) { + localTime = floorf(localTime * invQuantize) * quantizeStep; + } + + // Concentric tile waves + float wave = PFMath::fastSin(dist * 0.25f - localTime * 3.0f); + float val = (wave + 1.0f) * 0.5f; + + // Sharpness power scaling + if (val > 0.0f) { + val = PFMath::fastPow(val, sharpness); + } + + // Tile frame borders + if (borderY || (x % tileSize == 0)) { + val = 0.0f; + } + + // Clamp + if (val < 0.0f) val = 0.0f; + if (val > 1.0f) val = 1.0f; + + int li = (int)(val * 255.0f + 0.5f); + PFCanvas::setPixel(x, y, RAMP_LUT[li][0], RAMP_LUT[li][1], RAMP_LUT[li][2]); + } + } + + PFCanvas::present(); +} + +} // namespace TileWaves + +// ── Made with Patternflow Pattern Lab · https://patternflow.work/pattern-lab ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/presets/preset_0712.h b/firmware/patternflow/presets/preset_0712.h new file mode 100644 index 0000000..5f63625 --- /dev/null +++ b/firmware/patternflow/presets/preset_0712.h @@ -0,0 +1,202 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: 260712_Midsummer Sea +// Author: Seunghun LEE +// Date: 2026-07-12 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" +#include "../src/core_noise.h" + +namespace MidsummerSea { + +const char* NAME = "Midsummer Sea"; +const char* const KNOB_LABELS[4] = {"Waves", "Speed", "Sun", "Glitter"}; + +static const uint8_t RAMP_LUT[256][3] = { + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{1,0,7}, + {3,0,17},{5,0,27},{6,0,37},{8,0,47},{10,0,57},{11,0,67},{13,0,77},{15,0,87}, + {16,0,97},{18,0,107},{20,0,117},{21,0,127},{23,0,137},{25,0,147},{26,0,157},{28,0,167}, + {30,0,177},{32,0,187},{33,0,197},{35,0,207},{37,0,217},{38,0,227},{40,0,237},{42,0,247}, + {45,1,253},{53,3,244},{60,5,234},{68,8,225},{76,10,215},{84,12,206},{92,15,196},{100,17,187}, + {107,19,177},{115,22,168},{123,24,159},{131,27,149},{139,29,140},{147,31,130},{154,34,121},{162,36,111}, + {170,38,102},{178,41,93},{186,43,83},{194,45,74},{202,48,64},{209,50,55},{217,53,45},{225,55,36}, + {233,57,27},{241,60,17},{249,62,8},{255,65,2},{255,71,10},{255,78,18},{255,84,27},{255,90,35}, + {255,97,44},{255,103,52},{255,109,60},{255,116,69},{255,122,77},{255,128,86},{255,134,94},{255,141,102}, + {255,147,111},{255,153,119},{255,160,128},{255,166,136},{255,172,144},{255,178,153},{255,185,161},{255,191,170}, + {255,197,178},{255,204,186},{255,210,195},{255,216,203},{255,223,212},{255,229,220},{255,235,228},{255,241,237}, + {255,248,245},{255,254,254},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, +}; + +static float waves = 0.374f; +static float speed = 1.954f; +static float sun = 0.683f; +static float glit = 0.311f; +static float t = 0.0f; + +void setup() { + PFMath::buildSinLUT(); +} + +void update(float dt, const InputFrame& input) { + waves += input.knobDeltas[0] * 0.05f; + if (waves < 0.0f) waves = 0.0f; + if (waves > 1.0f) waves = 1.0f; + + speed += input.knobDeltas[1] * 0.1f; + if (speed < 0.1f) speed = 0.1f; + if (speed > 3.0f) speed = 3.0f; + + sun += input.knobDeltas[2] * 0.05f; + if (sun < 0.0f) sun = 0.0f; + if (sun > 1.0f) sun = 1.0f; + + glit += input.knobDeltas[3] * 0.05f; + if (glit < 0.0f) glit = 0.0f; + if (glit > 1.0f) glit = 1.0f; + + t += dt * speed; + // common period for all sine multipliers: 2000π + if (t > 2000.0f * TWO_PI) { + t -= 2000.0f * TWO_PI; + } +} + +void draw() { + const int W = PANEL_RES_W; // 128 + const int H = PANEL_RES_H; // 64 + const float vh = (float)(W); // portrait logic: vh = max(W,H) = 128 + const float vw = (float)(H); // 64 + const float horizon = floorf(vh * 0.34f); // 43 + const float beachTop = vh - floorf(vh * 0.14f); // 111 + const float sunU = vw * 0.5f; // 32.0 + const float sunV = horizon - 3.0f - sun * (horizon - 8.0f); // 40 - sun*35 + const float invHorizon = 1.0f / horizon; + const float beachRange = vh - beachTop; // 17 + + for (int y = 0; y < H; ++y) { + const float u = (float)y; // 0..63 + + for (int x = 0; x < W; ++x) { + // coordinate remap for vertical panel (landscape physical) + const float v = (float)(W - 1 - x); // 127..0 + + float val; + + if (v < horizon) { + // --- Sky --- + const float g = v * invHorizon; + val = 0.12f + 0.38f * g; + + const float du = u - sunU; + const float dv = (v - sunV) * 1.2f; + const float d = sqrtf(du * du + dv * dv); + if (d < 4.5f) { + val = 1.0f; + } else { + val += 0.7f * expf(-d * 0.18f); + } + + const float cl = PFMath::fastSin(u * 0.11f + v * 0.9f + t * 0.25f) + + PFMath::fastSin(u * 0.05f - v * 0.5f + 2.0f); + if (cl > 1.2f && v < horizon * 0.8f) { + val += 0.12f; + } + } + else if (v < beachTop) { + // --- Sea --- + const float depth = (v - horizon) / (beachTop - horizon); + const float persp = 1.0f / (depth + 0.09f); + const float wob = PFMath::fastSin(u * 0.25f + t * 1.3f) * 0.5f * waves; + const float band = PFMath::fastSin(persp * 2.6f + wob + t * (1.5f + depth * 2.0f)); + + val = 0.42f - 0.22f * depth + + band * (0.06f + 0.14f * waves) * (0.4f + depth); + + const float pathW = 2.5f + depth * 9.0f; + const float sway = PFMath::fastSin(v * 0.5f + t) * waves * 2.0f; + const bool inPath = fabsf(u - sunU + sway) < pathW; + if (inPath) { + val += 0.12f + 0.1f * (1.0f - depth); + } + + // glitter sparkle + const int gx = (int)(u * 7.3f); + const int gy = (int)(v * 13.1f); + const int seed = (int)(floorf(t * 7.0f) * 17.7f); + const float sp = PFNoise::cellHash(gx, gy, seed); + const float thr = 1.0f - glit * (inPath ? 0.10f : 0.03f); + if (sp > thr && band > 0.2f) { + val = 1.0f; + } + } + else { + // --- Beach --- + const float s = (v - beachTop) / beachRange; + const int bx = (int)(u * 3.7f); + const int by = (int)(v * 5.1f); + const float sandHash = PFNoise::cellHash(bx, by); + val = 0.5f + 0.15f * s + 0.06f * sandHash; + + const float surge = PFMath::fastSin(t * 1.8f) * 0.5f + 0.5f; + const float edge = beachTop + 2.0f + + surge * beachRange * 0.55f * (0.4f + waves) + + PFMath::fastSin(u * 0.35f + t * 2.2f) * 2.5f * waves; + + if (v < edge) { + const float waterDepth = (edge - v) / beachRange; + val = 0.34f - 0.1f * waterDepth; + if (edge - v < 1.5f) { + val = 0.95f; + } + } + } + + // clamp and map through baked ramp + val = fmaxf(0.0f, fminf(1.0f, val)); + int li = (int)(val * 255.0f + 0.5f); + if (li < 0) li = 0; + if (li > 255) li = 255; + PFCanvas::setPixel(x, y, + RAMP_LUT[li][0], + RAMP_LUT[li][1], + RAMP_LUT[li][2]); + } + } + + PFCanvas::present(); +} + +} // namespace MidsummerSea + +// ── Made with Patternflow Pattern Lab · https://patternflow.work/pattern-lab ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/presets/preset_0712_2.h b/firmware/patternflow/presets/preset_0712_2.h new file mode 100644 index 0000000..2049332 --- /dev/null +++ b/firmware/patternflow/presets/preset_0712_2.h @@ -0,0 +1,506 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: 260713_Breakout Arcade +// Author: Seunghun LEE +// Date: 2026-07-12 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" +#include "../src/core_mem.h" + +namespace BreakoutArcade { + +const char* NAME = "Breakout Arcade"; +const char* const KNOB_LABELS[4] = {"Paddle", "Speed", "Luck", "Glow"}; + +static const uint8_t RAMP_LUT[256][3] = { + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{4,4,4}, + {8,8,9},{12,12,13},{16,16,17},{20,20,22},{24,23,26},{28,27,31},{31,30,35},{34,33,39}, + {38,36,44},{41,39,48},{44,42,53},{46,44,57},{49,47,61},{52,49,66},{54,51,70},{56,53,75}, + {59,55,79},{61,56,83},{63,58,88},{65,59,92},{66,60,97},{68,61,101},{69,62,105},{71,63,110}, + {72,63,114},{73,63,119},{74,64,123},{74,64,127},{75,64,132},{76,63,136},{76,63,141},{76,63,145}, + {77,62,150},{77,61,154},{77,60,158},{76,59,163},{76,58,167},{76,56,172},{75,55,176},{74,53,180}, + {73,51,185},{73,49,189},{71,47,194},{70,44,198},{69,42,202},{67,39,207},{66,36,211},{64,33,216}, + {62,30,220},{60,27,224},{58,23,229},{56,20,233},{54,16,238},{51,12,242},{48,8,246},{46,4,251}, + {44,0,255},{56,0,255},{68,0,255},{81,0,255},{93,0,255},{105,0,255},{118,0,255},{130,0,255}, + {142,0,255},{155,0,255},{167,0,255},{179,0,255},{192,0,255},{204,0,255},{216,0,255},{229,0,255}, + {241,0,255},{253,0,255},{255,0,245},{255,0,232},{255,0,220},{255,0,208},{255,0,195},{255,0,183}, + {255,0,171},{255,0,158},{255,0,146},{255,0,134},{255,0,121},{255,0,109},{255,0,97},{255,0,84}, + {255,0,72},{255,0,60},{255,0,47},{255,0,35},{255,0,23},{255,0,10},{255,2,0},{255,14,0}, + {255,27,0},{255,39,0},{255,51,0},{255,64,0},{255,67,4},{255,71,9},{255,74,14},{255,78,18}, + {255,81,23},{255,84,27},{255,88,32},{255,91,37},{255,95,41},{255,98,46},{255,102,50},{255,105,55}, + {255,109,59},{255,112,64},{255,115,69},{255,119,73},{255,122,78},{255,126,82},{255,129,87},{255,133,92}, + {255,136,96},{255,139,101},{255,143,105},{255,146,110},{255,150,114},{255,153,119},{255,157,124},{255,160,128}, + {255,164,133},{255,167,137},{255,170,142},{255,174,147},{255,177,151},{255,181,156},{255,184,160},{255,188,165}, + {255,191,170},{255,194,174},{255,198,179},{255,201,183},{255,205,188},{255,208,192},{255,212,197},{255,215,202}, + {255,218,206},{255,222,211},{255,225,215},{255,229,220},{255,232,225},{255,236,229},{255,239,234},{255,243,238}, + {255,246,243},{255,249,248},{255,253,252},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, +}; + +static constexpr int VW = 64; +static constexpr int VH = 128; +static constexpr int ROWS = 8; +static constexpr int BRICK_W = 8; +static constexpr int BRICK_H = 5; +static constexpr int BRICK_TOP = 10; +static constexpr float PAD_W = 10.0f; +static constexpr float PAD_W_WIDE = 16.0f; +static constexpr float ITEM_FALL = 20.0f; +static constexpr float AI_SPD = 115.0f; + +static uint8_t dead[64]; +static float balls[32]; +static uint8_t ballOn[8]; +static float items[18]; +static uint8_t itemOn[6]; +// VW*VH floats (32 KB) — as a static array this sat in internal DRAM from +// boot for every build; allocated from PSRAM in setup() instead (PFMem). +static float* glow = nullptr; + +static float knobPaddle = 46.116f; // raw knob value, only changed by encoder +static float paddlePos = 46.116f; // actual paddle position (manual or AI) +static float speed = 89.336f; +static float luck = 0.332f; +static float glowK = 0.355f; +static float tAccum = 0.0f; +static uint32_t rngState = 12345; +static float flash = 0.0f; +static int combo = 0; +static float idleT = 99.0f; +static float lastKnob = 46.116f; +static float aiTarget = 32.0f; +static float wideT = 0.0f; +static float fireT = 0.0f; +static float padW = PAD_W; +static bool fire = false; +static bool manual = false; + +static float rnd() { + rngState = (rngState * 48271u) % 2147483647u; + return (float)rngState / 2147483647.0f; +} + +static void depositGlow(float gx, float gy, float amt, float rad) { + int x0 = (int)fmaxf(0.0f, floorf(gx - rad)); + int x1 = (int)fminf(VW - 1.0f, ceilf(gx + rad)); + int y0 = (int)fmaxf(0.0f, floorf(gy - rad)); + int y1 = (int)fminf(VH - 1.0f, ceilf(gy + rad)); + for (int gy2 = y0; gy2 <= y1; ++gy2) { + for (int gx2 = x0; gx2 <= x1; ++gx2) { + float du = gx2 - gx; + float dv = gy2 - gy; + float f = 1.0f - sqrtf(du * du + dv * dv) / (rad + 0.001f); + if (f > 0.0f) { + int idx = gx2 + gy2 * VW; + float nv = glow[idx] + amt * f; + if (nv > 1.0f) nv = 1.0f; + glow[idx] = nv; + } + } + } +} + +static void multiball() { + for (int i = 0; i < 8; ++i) { + if (!ballOn[i]) continue; + for (int j = 0; j < 8; ++j) { + if (ballOn[j]) continue; + ballOn[j] = 1; + balls[j*4] = balls[i*4]; + balls[j*4+1] = balls[i*4+1]; + float a = 0.3f + rnd() * 0.4f; + balls[j*4+2] = -balls[i*4+2] * (0.7f + a); + balls[j*4+3] = balls[i*4+3]; + float dx = balls[j*4+2]; + float dy = balls[j*4+3]; + float len = sqrtf(dx*dx + dy*dy); + balls[j*4+2] = dx / len; + balls[j*4+3] = dy / len; + break; + } + } +} + +void setup() { + PFMath::buildSinLUT(); + memset(dead, 0, sizeof(dead)); + balls[0] = 32.0f; + balls[1] = 80.0f; + balls[2] = 0.55f; + balls[3] = -0.84f; + ballOn[0] = 1; + for (int i = 1; i < 8; ++i) ballOn[i] = 0; + memset(itemOn, 0, sizeof(itemOn)); + if (!glow) glow = PFMem::allocFloats(VW * VH); // zeroed by PFMem + else memset(glow, 0, sizeof(float) * VW * VH); + knobPaddle = 46.116f; + paddlePos = 46.116f; + lastKnob = 46.116f; + idleT = 99.0f; + aiTarget = 32.0f; + wideT = 0.0f; + fireT = 0.0f; + padW = PAD_W; + fire = false; + manual = false; + flash = 0.0f; + combo = 0; +} + +void update(float dt, const InputFrame& input) { + if (!glow) return; // allocation failed — degrade to a blank pattern + + // --- Knob Paddle (encoder driven, used only for manual mode and idle detection) --- + knobPaddle += input.knobDeltas[0] * 0.05f; + if (knobPaddle < 2.0f) knobPaddle = 2.0f; + if (knobPaddle > 62.0f) knobPaddle = 62.0f; + + speed += input.knobDeltas[1] * 0.1f; + if (speed < 25.0f) speed = 25.0f; + if (speed > 200.0f) speed = 200.0f; + + luck += input.knobDeltas[2] * 0.05f; + if (luck < 0.0f) luck = 0.0f; + if (luck > 1.0f) luck = 1.0f; + + glowK += input.knobDeltas[3] * 0.05f; + if (glowK < 0.0f) glowK = 0.0f; + if (glowK > 1.0f) glowK = 1.0f; + + if (input.btnPressed[0]) { + memset(dead, 0, sizeof(dead)); + } + if (input.btnPressed[1]) { + multiball(); + flash = 1.0f; + } + if (input.btnPressed[2]) { + wideT = 6.0f; + } + if (input.btnPressed[3]) { + fireT = 4.0f; + flash = 0.8f; + } + + // --- Idle detection (only from knob, never from AI movement) --- + if (lastKnob < -100.0f) lastKnob = knobPaddle; + if (fabsf(knobPaddle - lastKnob) > 0.15f) { + idleT = 0.0f; + } else { + idleT += dt; + } + lastKnob = knobPaddle; + manual = (idleT < 5.0f); + + const int vw = VW; + const int vh = VH; + const int brickTop = BRICK_TOP; + + float decay = expf(-dt * (8.0f - 7.0f * glowK)); + for (int i = 0; i < vw * vh; ++i) { + glow[i] *= decay; + } + + wideT = fmaxf(0.0f, wideT - dt); + fireT = fmaxf(0.0f, fireT - dt); + padW = (wideT > 0.0f) ? PAD_W_WIDE : PAD_W; + fire = (fireT > 0.0f); + float padV = vh - 7.0f; + + // --- Paddle movement --- + if (manual) { + paddlePos = knobPaddle; + } else { + float diff = aiTarget - paddlePos; + float step = fminf(fabsf(diff), AI_SPD * dt); + paddlePos += (diff > 0.0f ? step : -step); + } + float minPad = padW * 0.5f; + float maxPad = vw - padW * 0.5f; + if (paddlePos < minPad) paddlePos = minPad; + if (paddlePos > maxPad) paddlePos = maxPad; + + int aliveBalls = 0; + float ballTX = -1.0f; + float ballETA = 1e9f; + + for (int i = 0; i < 8; ++i) { + if (!ballOn[i]) continue; + int o = i * 4; + balls[o] += balls[o+2] * speed * dt; + balls[o+1] += balls[o+3] * speed * dt; + float bx = balls[o]; + float by = balls[o+1]; + + if (bx < 2.0f) { balls[o] = bx = 2.0f; balls[o+2] = fabsf(balls[o+2]); } + if (bx > vw - 2.0f) { balls[o] = bx = vw - 2.0f; balls[o+2] = -fabsf(balls[o+2]); } + if (by < 2.0f) { balls[o+1] = by = 2.0f; balls[o+3] = fabsf(balls[o+3]); } + + if (by >= brickTop && by < brickTop + ROWS * BRICK_H) { + int col = (int)(bx / BRICK_W); + if (col < 0) col = 0; + if (col > 7) col = 7; + int row = (int)((by - brickTop) / BRICK_H); + int idx = row * 8 + col; + if (row >= 0 && row < ROWS && !dead[idx]) { + dead[idx] = 1; + if (!fire) balls[o+3] = -balls[o+3]; + combo++; + flash = fminf(1.0f, 0.25f + combo * 0.1f); + depositGlow(col * BRICK_W + BRICK_W * 0.5f, + brickTop + row * BRICK_H + BRICK_H * 0.5f, + 0.9f, fire ? 5.0f : 3.0f); + + if (rnd() < luck * 0.4f) { + for (int s = 0; s < 6; ++s) { + if (itemOn[s]) continue; + itemOn[s] = 1; + items[s*3] = col * BRICK_W + BRICK_W * 0.5f; + items[s*3+1] = brickTop + row * BRICK_H; + items[s*3+2] = floorf(rnd() * 3.0f); + break; + } + } + } + } + + if (by >= padV - 1.0f && by <= padV + 2.0f && balls[o+3] > 0.0f + && fabsf(bx - paddlePos) < padW * 0.5f + 1.0f) { + balls[o+3] = -fabsf(balls[o+3]); + balls[o+2] += (bx - paddlePos) / (padW * 0.5f) * 0.7f; + float dx = balls[o+2]; + float dy = balls[o+3]; + float len = sqrtf(dx*dx + dy*dy); + dx /= len; + dy /= len; + if (dy > -0.35f) dy = -0.35f; + len = sqrtf(dx*dx + dy*dy); + balls[o+2] = dx / len; + balls[o+3] = dy / len; + combo = 0; + } + + if (by > vh + 4.0f) { + ballOn[i] = 0; + continue; + } + + aliveBalls++; + + if (balls[o+3] > 0.0f) { + float eta = (padV - by) / (balls[o+3] * speed); + if (eta >= 0.0f && eta < ballETA) { + ballETA = eta; + ballTX = bx; + } + } + + depositGlow(bx, by, fire ? 0.5f : 0.3f, fire ? 2.5f : 1.5f); + } + + if (aliveBalls == 0) { + ballOn[0] = 1; + balls[0] = vw * 0.5f; + balls[1] = vh * 0.55f; + balls[2] = rnd() > 0.5f ? 0.55f : -0.55f; + balls[3] = -0.84f; + flash = 1.0f; + combo = 0; + } + + int brickAlive = 0; + for (int r = 0; r < ROWS; ++r) { + for (int c = 0; c < 8; ++c) { + if (!dead[r * 8 + c]) brickAlive++; + } + } + if (brickAlive == 0) { + memset(dead, 0, sizeof(dead)); + flash = 1.0f; + depositGlow(vw * 0.5f, vh * 0.3f, 1.0f, 14.0f); + } + + float itemTX = -1.0f; + float itemETA = 1e9f; + for (int s = 0; s < 6; ++s) { + if (!itemOn[s]) continue; + items[s*3+1] += ITEM_FALL * dt; + float ix = items[s*3]; + float iy = items[s*3+1]; + + if (iy >= padV - 1.0f && iy <= padV + 3.0f && fabsf(ix - paddlePos) < padW * 0.5f + 1.5f) { + int ty = (int)items[s*3+2]; + if (ty == 0) multiball(); + else if (ty == 1) wideT = 6.0f; + else fireT = 4.0f; + flash = 1.0f; + depositGlow(ix, padV, 1.0f, 6.0f); + itemOn[s] = 0; + continue; + } + if (iy > vh + 3.0f) { + itemOn[s] = 0; + continue; + } + + float eta = (padV - iy) / ITEM_FALL; + if (eta >= 0.0f && eta < itemETA) { + itemETA = eta; + itemTX = ix; + } + } + + if (ballTX < 0.0f) { + aiTarget = (itemTX >= 0.0f) ? itemTX : vw * 0.5f; + } else if (itemTX >= 0.0f) { + float travelT = fabsf(itemTX - paddlePos) / AI_SPD; + if (itemETA + 0.35f < ballETA && travelT < itemETA + 0.2f) { + aiTarget = itemTX; + } else { + aiTarget = ballTX; + } + } else { + aiTarget = ballTX; + } + + flash = fmaxf(0.0f, flash - dt * 2.5f); + + tAccum += dt; + if (tAccum > TWO_PI) tAccum -= TWO_PI; +} + +void draw() { + if (!glow) { // allocation failed — show nothing rather than crash + PFCanvas::present(); + return; + } + const int W = PANEL_RES_W; // 128 + const int H = PANEL_RES_H; // 64 + const float vw = VW; + const float vh = VH; + const int brickTop = BRICK_TOP; + const float padV = vh - 7.0f; + const float t = tAccum; + + for (int y = 0; y < H; ++y) { + for (int x = 0; x < W; ++x) { + float u = (float)y; + float v = (float)(W - 1 - x); + + float val = 0.03f + 0.02f * fmodf(v, 2.0f) + flash * 0.15f; + + if (u < 1.0f || u > vw - 2.0f) val = 0.3f; + + if (v >= brickTop && v < brickTop + ROWS * BRICK_H) { + int col = (int)(u / BRICK_W); + int row = (int)((v - brickTop) / BRICK_H); + if (col >= 0 && col < 8 && row >= 0 && row < ROWS && !dead[row * 8 + col]) { + float lu = u - col * BRICK_W; + float lv = (v - brickTop) - row * BRICK_H; + bool border = (lu < 0.5f || lu > BRICK_W - 0.5f || lv < 0.5f || lv > BRICK_H - 0.5f); + val = border ? 0.30f : 0.80f - row * 0.05f; + if (fire) { + val += 0.12f * PFMath::fastSin(t * 10.0f + col * 2.0f + row); + } + } + } + + if (v >= padV && v <= padV + 1.0f && fabsf(u - paddlePos) < padW * 0.5f) { + val = 0.9f; + if (padW > PAD_W + 1.0f && fabsf(u - paddlePos) > padW * 0.5f - 2.0f) { + val = 0.6f + 0.4f * PFMath::fastSin(t * 12.0f); + } + if (manual && fabsf(u - paddlePos) < 1.0f && fabsf(v - padV) < 0.5f) { + val = 0.7f + 0.3f * PFMath::fastSin(t * 8.0f); + } + } + + int glowIdx = (int)u + (int)v * (int)vw; + if (glowIdx >= 0 && glowIdx < (int)(vw * vh)) { + val += glow[glowIdx] * 0.85f; + } + + val = fmaxf(0.0f, fminf(1.0f, val)); + int li = (int)(val * 255.0f + 0.5f); + if (li < 0) li = 0; + if (li > 255) li = 255; + PFCanvas::setPixel(x, y, RAMP_LUT[li][0], RAMP_LUT[li][1], RAMP_LUT[li][2]); + } + } + + // 람다 함수 수정 + auto plot = [&](float pu, float pv, float pval) { + int puInt = (int)roundf(pu); + int pvInt = (int)roundf(pv); + int px = W - 1 - pvInt; + int py = puInt; + if (px >= 0 && px < W && py >= 0 && py < H) { + pval = fmaxf(0.0f, fminf(1.0f, pval)); + int li = (int)(pval * 255.0f + 0.5f); + if (li < 0) li = 0; + if (li > 255) li = 255; + PFCanvas::setPixel(px, py, RAMP_LUT[li][0], RAMP_LUT[li][1], RAMP_LUT[li][2]); + } + }; + + for (int s = 0; s < 6; ++s) { + if (!itemOn[s]) continue; + float ix = items[s*3]; + float iy = items[s*3+1]; + int ty = (int)items[s*3+2]; + float blink = 0.6f + 0.4f * PFMath::fastSin(t * (6.0f + ty * 4.0f) + s); + plot(ix, iy, 1.0f); + plot(ix - 1, iy, blink); + plot(ix + 1, iy, blink); + plot(ix, iy - 1, blink); + plot(ix, iy + 1, blink); + if (ty == 0) { + plot(ix - 2, iy, blink * 0.5f); + plot(ix + 2, iy, blink * 0.5f); + } + } + + for (int i = 0; i < 8; ++i) { + if (!ballOn[i]) continue; + float bx = balls[i*4]; + float by = balls[i*4+1]; + plot(bx, by, 1.0f); + plot(bx - 1, by, 0.8f); + plot(bx + 1, by, 0.8f); + plot(bx, by - 1, 0.8f); + plot(bx, by + 1, 0.8f); + if (fire) { + plot(bx - 1, by - 1, 0.6f); + plot(bx + 1, by - 1, 0.6f); + plot(bx - 1, by + 1, 0.6f); + plot(bx + 1, by + 1, 0.6f); + } + } + + PFCanvas::present(); +} + +} // namespace BreakoutArcade + +// ── Made with Patternflow Pattern Lab · https://patternflow.work/pattern-lab ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. \ No newline at end of file diff --git a/firmware/patternflow/presets/preset_0713.h b/firmware/patternflow/presets/preset_0713.h new file mode 100644 index 0000000..eb24257 --- /dev/null +++ b/firmware/patternflow/presets/preset_0713.h @@ -0,0 +1,279 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: 260713_Firefly +// Author: Seunghun LEE +// Date: 2026-07-13 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" +#include "../src/core_noise.h" + +namespace FireflyHollow { + +const char* NAME = "Firefly Hollow"; +const char* const KNOB_LABELS[4] = {"Flies", "Speed", "Glow", "Wind"}; + +// Ramp LUT – DO NOT EDIT (generated from user ramp, 256 entries) +static const uint8_t RAMP_LUT[256][3] = { + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {11,10,10},{26,24,24},{41,36,36},{57,47,47},{72,56,56},{87,64,64},{103,70,70},{118,75,75}, + {133,79,79},{149,81,81},{164,82,82},{179,81,81},{195,79,79},{210,75,75},{225,70,70},{241,64,64}, + {254,58,56},{254,68,47},{254,80,38},{254,94,29},{255,109,20},{255,126,11},{255,144,2},{255,165,38}, + {255,185,87},{255,206,138},{255,227,187},{255,248,238},{255,250,227},{255,243,183},{255,236,140},{255,229,96}, + {255,222,53},{255,215,9},{255,207,0},{255,200,0},{255,193,0},{255,185,0},{255,178,0},{255,171,0}, + {255,163,0},{255,156,0},{255,149,0},{255,141,0},{255,134,0},{255,127,0},{255,119,0},{255,112,0}, + {255,105,0},{255,97,0},{255,90,0},{255,83,0},{255,75,0},{255,68,0},{255,61,0},{255,53,0}, + {255,46,0},{255,39,0},{255,31,0},{255,24,0},{255,17,0},{255,9,0},{255,2,0},{255,48,39}, + {255,109,93},{255,164,147},{255,213,201},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, + {255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235},{255,240,235}, +}; + +// Knob state (initial values from Pattern Lab) +static float knobFlies = 34.0f; // 2..34 +static float knobSpeed = 2.275f; // 0.2..5 +static float knobGlow = 1.32f; // 0..2 +static float knobWind = 0.409f; // 0..2 + +static constexpr int MAX_FLIES = 16; +static int numFlies = 16; // active count (capped at 16) + +// Firefly motion parameters (constant per firefly, set in setup) +static float fly_s1[MAX_FLIES]; +static float fly_s2[MAX_FLIES]; +static float fly_hb[MAX_FLIES]; + +// Phase accumulators (each wraps at TWO_PI) +static float phase_fu[MAX_FLIES]; // main x-osc +static float phase_fv_main[MAX_FLIES]; // main y-osc +static float phase_fv_extra[MAX_FLIES];// secondary y-osc (freq 0.9) +static float phase_b[MAX_FLIES]; // brightness oscillation + +// Output buffers used by draw() +static float fu[MAX_FLIES]; +static float fv[MAX_FLIES]; +static float fb[MAX_FLIES]; + +// Grass sway phases +static float grass_phase1 = 0.0f; // freq 1.8 +static float grass_phase2 = 0.0f; // freq 2.6 + +// Cloud drift accumulator (unwrapped – feeds noise coordinates, not sin) +static float cloudT = 0.0f; + +void setup() { + PFMath::buildSinLUT(); // idempotent + + for (int i = 0; i < MAX_FLIES; ++i) { + // deterministic per-firefly constants (replace sin‑based hash with cellHash) + fly_s1[i] = 0.13f + 0.11f * PFNoise::cellHash(i, 0, 7); + fly_s2[i] = 0.09f + 0.13f * PFNoise::cellHash(i, 0, 8); + fly_hb[i] = PFNoise::cellHash(i, 0, 9); + + // random initial phases + phase_fu[i] = PFNoise::cellHash(i, 0, 10) * TWO_PI; + phase_fv_main[i] = PFNoise::cellHash(i, 0, 11) * TWO_PI; + phase_fv_extra[i]= PFNoise::cellHash(i, 0, 12) * TWO_PI; + phase_b[i] = PFNoise::cellHash(i, 0, 13) * TWO_PI; + + // initial values so first frame is valid + fu[i] = 0.5f + 0.44f * PFMath::fastSin(phase_fu[i] + i * 2.39f); + fv[i] = 0.62f + + 0.30f * PFMath::fastSin(phase_fv_main[i] + i * 5.17f) + + 0.05f * PFMath::fastSin(phase_fv_extra[i] + (float)i); + float p = PFMath::fastSin(phase_b[i] + i * 1.7f); + float pp = fmaxf(0.0f, p); + fb[i] = pp * pp * pp; // x^3 + } + + grass_phase1 = 0.0f; + grass_phase2 = 0.0f; + cloudT = 0.0f; +} + +void update(float dt, const InputFrame& input) { + // ----- knobs ----- + knobFlies += input.knobDeltas[0] * 0.05f; + if (knobFlies < 2.0f) knobFlies = 2.0f; + if (knobFlies > 34.0f) knobFlies = 34.0f; + + knobSpeed += input.knobDeltas[1] * 0.1f; + if (knobSpeed < 0.2f) knobSpeed = 0.2f; + if (knobSpeed > 5.0f) knobSpeed = 5.0f; + + knobGlow += input.knobDeltas[2] * 0.05f; + if (knobGlow < 0.0f) knobGlow = 0.0f; + if (knobGlow > 2.0f) knobGlow = 2.0f; + + knobWind += input.knobDeltas[3] * 0.05f; + if (knobWind < 0.0f) knobWind = 0.0f; + if (knobWind > 2.0f) knobWind = 2.0f; + + int flies = (int)lroundf(knobFlies); + if (flies < 2) flies = 2; + if (flies > 16) flies = 16; + numFlies = flies; + + const float speed = knobSpeed; + + // ----- firefly phases & buffers ----- + for (int i = 0; i < MAX_FLIES; ++i) { + phase_fu[i] += dt * speed * fly_s1[i] * 2.0f; + phase_fv_main[i] += dt * speed * fly_s2[i] * 2.0f; + phase_fv_extra[i] += dt * speed * 0.9f; + float freqB = 0.8f + 0.5f * fly_hb[i]; + phase_b[i] += dt * speed * freqB; + + // wrap each phase at TWO_PI + while (phase_fu[i] > TWO_PI) phase_fu[i] -= TWO_PI; + while (phase_fv_main[i] > TWO_PI) phase_fv_main[i] -= TWO_PI; + while (phase_fv_extra[i] > TWO_PI) phase_fv_extra[i] -= TWO_PI; + while (phase_b[i] > TWO_PI) phase_b[i] -= TWO_PI; + + fu[i] = 0.5f + 0.44f * PFMath::fastSin(phase_fu[i] + i * 2.39f); + fv[i] = 0.62f + + 0.30f * PFMath::fastSin(phase_fv_main[i] + i * 5.17f) + + 0.05f * PFMath::fastSin(phase_fv_extra[i] + (float)i); + float p = PFMath::fastSin(phase_b[i] + i * 1.7f); + float pp = fmaxf(0.0f, p); + fb[i] = pp * pp * pp; + } + + // ----- grass phases ----- + grass_phase1 += dt * speed * 1.8f; + while (grass_phase1 > TWO_PI) grass_phase1 -= TWO_PI; + grass_phase2 += dt * speed * 2.6f; + while (grass_phase2 > TWO_PI) grass_phase2 -= TWO_PI; + + // ----- cloud drift (offset only, no sin → precision loss negligible) ----- + cloudT += dt * speed * (0.4f + knobWind * 0.8f); +} + +void draw() { + const int W = PANEL_RES_W; + const int H = PANEL_RES_H; + + const float vh = (float)W; // logical vertical extent + const float vw = (float)H; // logical horizontal extent + const float vh_half = vh * 0.5f; + + const float glowSq = knobGlow * knobGlow; + const float wind = knobWind; + const int n = numFlies; + + // ----- pre‑compute per‑row data (depends only on u = y) ----- + float hillTop[H]; + float grassGh[H]; + for (int u = 0; u < H; ++u) { + float hu = (float)u; + hillTop[u] = vh * 0.58f + + PFMath::fastSin(hu * 0.09f + 2.0f) * 5.0f + + PFMath::fastSin(hu * 0.023f) * 8.0f; + + int gx = u / 2; + float hh = PFNoise::cellHash(gx, 0, 91); // 0..1 + grassGh[u] = 10.0f + hh * 16.0f; + } + + const float cloudDrift = cloudT * (0.4f + wind * 0.8f); + + for (int y = 0; y < H; ++y) { + const int u = y; // logical x in JS + const float hill = hillTop[u]; + const float gh = grassGh[u]; + + for (int x = 0; x < W; ++x) { + const int v = W - 1 - x; // logical y in JS + const float g = (float)v / vh; // normalized 0..1 + + float val = 0.05f + 0.14f * g; + + // ----- clouds (only upper half of the view) ----- + if ((float)v < vh_half) { + float cn = PFNoise::valueNoise2D(u * 0.045f + cloudDrift * 0.12f, + v * 0.09f + cloudDrift * 0.015f) * 0.65f + + PFNoise::valueNoise2D(u * 0.11f - cloudDrift * 0.07f, + v * 0.22f + 40.0f) * 0.35f; + cn *= 1.0f - (g / 0.5f) * 0.7f; // g < 0.5 here + float cd = (cn - 0.38f) / 0.18f; + if (cd > 0.0f) { + float soft = (cd >= 1.0f) ? 1.0f + : cd * cd * (3.0f - 2.0f * cd); // smoothstep + val += soft * 0.13f * 1.5f; // lit = 1.5 + } + } + + // ----- distant hill silhouette ----- + if (v >= hill) { + val = 0.07f; + } + + // ----- foreground grass (swaying) ----- + float sway = PFMath::fastSin(u * 0.3f + grass_phase1) * wind * 4.0f + + PFMath::fastSin(u * 0.9f - grass_phase2) * wind * 2.0f; + float grassTop = vh - gh + sway; + if (v >= grassTop) { + val = 0.015f; + if (v - grassTop < 1.2f) val = 0.11f; // moonlit tips + } + + // ----- fireflies (additive glow) ----- + for (int i = 0; i < n; ++i) { + float du = (float)u - fu[i] * vw; + float dv = (float)v - fv[i] * vh; + float dd = du * du + dv * dv; + if (dd < glowSq * 9.0f) { + val += fb[i] * expf(-dd / glowSq); + } + } + + // ----- clamp and map through ramp ----- + if (val < 0.0f) val = 0.0f; + if (val > 1.0f) val = 1.0f; + int idx = (int)(val * 255.0f + 0.5f); + if (idx < 0) idx = 0; + if (idx > 255) idx = 255; + + PFCanvas::setPixel(x, y, + RAMP_LUT[idx][0], + RAMP_LUT[idx][1], + RAMP_LUT[idx][2]); + } + } + + PFCanvas::present(); +} + +} // namespace FireflyHollow + +// ── Made with Patternflow Pattern Lab · https://patternflow.work/pattern-lab ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/presets/preset_0715.h b/firmware/patternflow/presets/preset_0715.h new file mode 100644 index 0000000..015cc6b --- /dev/null +++ b/firmware/patternflow/presets/preset_0715.h @@ -0,0 +1,106 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: Poincaré Sphere +// Author: Seunghun LEE +// Date: 2026-07-15 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" + +namespace PoincareSphere { + +const char* NAME = "Poincaré Sphere"; +const char* const KNOB_LABELS[4] = {"Color Tone", "Speed", "Grid Density", "Curvature"}; + +static float hueParam = 1.0f; // Knob 1, range 0..1 +static float speed = 8.62f; // Knob 2, range 0.1..10 +static float density = 2.50677966f; // Knob 3, range 0..5 +static float curve = 2.601f; // Knob 4, range 0..5 +static float t = 0.0f; + +void setup() { + PFMath::buildSinLUT(); +} + +void update(float dt, const InputFrame& input) { + // Knob 1: color tone + hueParam += input.knobDeltas[0] * 0.05f; + hueParam = fmaxf(0.0f, fminf(1.0f, hueParam)); + + // Knob 2: rotation speed + speed += input.knobDeltas[1] * 0.1f; + speed = fmaxf(0.1f, fminf(10.0f, speed)); + + // Knob 3: grid density + density += input.knobDeltas[2] * 0.05f; + density = fmaxf(0.0f, fminf(5.0f, density)); + + // Knob 4: projection curvature + curve += input.knobDeltas[3] * 0.05f; + curve = fmaxf(0.0f, fminf(5.0f, curve)); + + t += dt * speed; + // Wrap at common period 20π to avoid float precision loss over days. + const float period = 20.0f * PI; + if (t > period) t -= period; +} + +void draw() { + float gridCount = 2.0f + density * 3.0f; + float curvature = 0.1f + curve * 2.0f; + + float cx = PANEL_RES_W * 0.5f; + float cy = PANEL_RES_H * 0.5f; + + for (int y = 0; y < PANEL_RES_H; ++y) { + float dy = (y - cy) / cy; // -1 .. 1 + + for (int x = 0; x < PANEL_RES_W; ++x) { + float dx = (x - cx) / cy; // -W/H .. W/H + + float r2 = dx * dx + dy * dy; + float projScale = 1.0f / (1.0f + r2 * curvature); + float sphereX = dx * projScale; + float sphereY = dy * projScale; + + float waveU = PFMath::fastSin(sphereX * gridCount * TWO_PI + t); + float waveV = PFMath::fastSin(sphereY * gridCount * TWO_PI - t * 0.7f); + + float line = fabsf(waveU) * fabsf(waveV); + uint8_t r = 0, g = 0, b = 0; + + if (line < 0.15f) { + float intensity = 1.0f - line / 0.15f; + float fr = intensity * 128.0f * hueParam; + float fg = intensity * 255.0f * (1.0f - hueParam); + float fb = intensity * 255.0f; + + if (line < 0.03f) { + fr = 255.0f; fg = 255.0f; fb = 255.0f; + } + + r = (uint8_t)fminf(fmaxf(fr, 0.0f), 255.0f); + g = (uint8_t)fminf(fmaxf(fg, 0.0f), 255.0f); + b = (uint8_t)fminf(fmaxf(fb, 0.0f), 255.0f); + } + + PFCanvas::setPixel(x, y, r, g, b); + } + } + + PFCanvas::present(); +} + +} // namespace PoincareSphere + +// ── Made with Patternflow Live Editor · https://patternflow.work/pattern ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/presets/preset_0716.h b/firmware/patternflow/presets/preset_0716.h new file mode 100644 index 0000000..6f45766 --- /dev/null +++ b/firmware/patternflow/presets/preset_0716.h @@ -0,0 +1,107 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: 260716_TriMarch +// Author: Seunghun LEE +// Date: 2026-07-16 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" +#include "../src/core_color.h" + +namespace TriMarch { + +const char* NAME = "Tri March"; +const char* const KNOB_LABELS[4] = {"Triangle size", "Speed", "March angle", "Color palette"}; + +static float tsize = 0.0f; +static float speed = 3.931f; +static float angle = 3.122f; +static float palette = 2.607f; +static float t = 0.0f; + +void setup() { + PFMath::buildSinLUT(); +} + +void update(float dt, const InputFrame& input) { + tsize += input.knobDeltas[0] * 0.05f; + if (tsize < 0.0f) tsize = 0.0f; + if (tsize > 1.0f) tsize = 1.0f; + + speed += input.knobDeltas[1] * 0.1f; + if (speed < -3.0f) speed = -3.0f; + if (speed > 4.0f) speed = 4.0f; + + angle += input.knobDeltas[2] * 0.05f; + if (angle < -0.001f) angle = -0.001f; + if (angle > 5.0f) angle = 5.0f; + + palette += input.knobDeltas[3] * 0.05f; + if (palette < 0.0f) palette = 0.0f; + if (palette > 4.0f) palette = 4.0f; + + t += dt * speed; + // Period needed for multipliers 10, 2, 0.05 = 40π = 20*TWO_PI + const float kWrapPeriod = 20.0f * TWO_PI; + while (t > kWrapPeriod) t -= kWrapPeriod; + while (t < -kWrapPeriod) t += kWrapPeriod; +} + +void draw() { + const float triH = 6.0f + tsize * 25.0f; + const float triW = triH * 0.8660254f; // sqrt(3)/2 + + const float moveX = PFMath::fastCos(angle * PI) * t * 10.0f; + const float moveY = PFMath::fastSin(angle * PI) * t * 10.0f; + + for (int y = 0; y < PANEL_RES_H; ++y) { + for (int x = 0; x < PANEL_RES_W; ++x) { + float fx = ((float)x - moveX) / triW; + float fy = ((float)y - moveY) / triH; + int col = (int)floorf(fx); + int row = (int)floorf(fy); + float lx = fx - (float)col - 0.5f; + float ly = fy - (float)row - 0.5f; + int flip = (col + row) & 1; + + bool inTri = false; + if (flip == 0) { + inTri = (ly < 0.3f && fabsf(lx) * 1.8f + ly < 0.45f); + } else { + inTri = (ly > -0.3f && fabsf(lx) * 1.8f - ly < 0.45f); + } + + if (inTri) { + float seed = (float)(col * 11 + row * 17); + float brightness = PFMath::fastSin(seed * 0.5f + t * 2.0f) * 0.4f + 0.6f; + if (brightness < 0.0f) brightness = 0.0f; + if (brightness > 1.0f) brightness = 1.0f; + + float hue = seed * 0.03f * palette + brightness * 0.2f + t * 0.05f; + hue = PFMath::fract(hue); + + uint8_t r, g, b; + PFColor::hsvToRgb(hue, 1.0f, brightness, r, g, b); + PFCanvas::setPixel(x, y, r, g, b); + } else { + PFCanvas::setPixel(x, y, 0, 0, 0); + } + } + } + + PFCanvas::present(); +} + +} // namespace TriMarch + +// ── Made with Patternflow Live Editor · https://patternflow.work/pattern ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/presets/preset_0718.h b/firmware/patternflow/presets/preset_0718.h new file mode 100644 index 0000000..4c81a53 --- /dev/null +++ b/firmware/patternflow/presets/preset_0718.h @@ -0,0 +1,118 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: 260718_Warped Wave +// Author: Seunghun LEE +// Date: 2026-07-18 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_math.h" +#include "../src/core_color.h" + +namespace WarpedWave { + +const char* NAME = "Warped Wave"; +const char* const KNOB_LABELS[4] = {"Hue", "Speed", "Warp Amp", "Warp Freq"}; + +static float s_hue = 0.0f; +static float s_speed = 2.0f; +static float s_warpAmp = 0.2f; +static float s_warpFreq = 0.5f; +static float s_timeAcc = 0.0f; + +void setup() { + PFMath::buildSinLUT(); + // no PFTables needed — warping uses moving-center / non-radial math +} + +void update(float dt, const InputFrame& input) { + // Accumulate knob deltas + s_hue += input.knobDeltas[0] * 0.05f; + s_speed += input.knobDeltas[1] * 0.1f; + s_warpAmp += input.knobDeltas[2] * 0.05f; + s_warpFreq += input.knobDeltas[3] * 0.05f; + + // Clamp to documented ranges + s_hue = fmaxf(0.0f, fminf(1.0f, s_hue)); + s_speed = fmaxf(-20.0f, fminf(20.0f, s_speed)); + s_warpAmp = fmaxf(0.1f, fminf(1.0f, s_warpAmp)); + s_warpFreq = fmaxf(0.0f, fminf(30.0f, s_warpFreq)); + + // Button resets (press, not long-press) + if (input.btnPressed[0]) s_hue = 0.0f; + if (input.btnPressed[1]) s_speed = 2.0f; + if (input.btnPressed[2]) s_warpAmp = 0.2f; + if (input.btnPressed[3]) s_warpFreq = 0.5f; + + // Map warpAmp from raw 0.1..1 to 0..1.225 (as in JS: v[2]*0.25) + // We store raw and convert on use, preserving the JS mapping. + + s_timeAcc += dt * s_speed; + // Wrap time accumulator. Multipliers: t*0.3, t*0.4, t*1.0. Common period: 20π wraps all seamlessly. + const float PERIOD = 20.0f * PI; + if (s_timeAcc > PERIOD) s_timeAcc -= PERIOD; + if (s_timeAcc < 0.0f) s_timeAcc += PERIOD; +} + +void draw() { + const float w = (float)PANEL_RES_W; + const float h = (float)PANEL_RES_H; + const float invW = 1.0f / w; + const float invH = 1.0f / h; + const float t = s_timeAcc; + + const float waveFreq = 15.0f; + // Map raw warpAmp (0.1..1) to JS scale (0..1.225) via v*0.25 + const float warpAmp = s_warpAmp * 0.25f; + const float warpFreqBase = 3.0f + s_warpFreq * 8.0f; + + // Precompute hue RGB once per frame + uint8_t hcR, hcG, hcB; + PFColor::hsvToRgb(s_hue, 1.0f, 1.0f, hcR, hcG, hcB); + + for (int y = 0; y < PANEL_RES_H; ++y) { + const float ny = ((float)y * invH - 0.5f) * 2.0f; // -1..1 + for (int x = 0; x < PANEL_RES_W; ++x) { + const float nx = ((float)x * invW - 0.5f) * 2.0f; + + // Warp coordinates + const float wx = nx + warpAmp * PFMath::fastSin(ny * warpFreqBase + t * 0.3f); + const float wy = ny + warpAmp * PFMath::fastCos(nx * warpFreqBase * 1.3f + t * 0.4f); + + const float dist = sqrtf(wx * wx + wy * wy); + const float wave = PFMath::fastSin(dist * waveFreq + t); + + float tt = (wave * 0.8f + 1.0f) * 0.5f; + tt = fmaxf(0.0f, fminf(1.0f, tt)); + + uint8_t r = 0, g = 0, b = 0; + if (tt >= 0.154f) { + r = 10; g = 10; b = 10; + } + if (tt >= 0.556f) { + r = (uint8_t)fmaxf(0, fminf(255, (int)(hcR * 1.5f))); + g = (uint8_t)fmaxf(0, fminf(255, (int)(hcG * 1.5f))); + b = (uint8_t)fmaxf(0, fminf(255, (int)(hcB * 1.5f))); + } + if (tt >= 0.816f) { + r = 255; g = 255; b = 255; + } + + PFCanvas::setPixel(x, y, r, g, b); + } + } + + PFCanvas::present(); +} + +} // namespace WarpedWave + +// ── Made with Patternflow Pattern Lab · https://patternflow.work/pattern-lab ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/presets/preset_0719.h b/firmware/patternflow/presets/preset_0719.h new file mode 100644 index 0000000..27b9e44 --- /dev/null +++ b/firmware/patternflow/presets/preset_0719.h @@ -0,0 +1,272 @@ +#pragma once + +// ===== Patternflow pattern ===== +// Title: 260719_MagVortex +// Author: Seunghun LEE +// Date: 2026-07-19 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// =============================== + +#include +#include "config.h" +#include "../src/core_display.h" +#include "../src/core_encoders.h" +#include "../src/core_canvas.h" +#include "../src/core_mem.h" + +namespace MagVortex { + +const char* NAME = "MagVortex"; +const char* const KNOB_LABELS[4] = { + "TrailDecay", + "Velocity", + "SpinPull", + "InflowPitch" +}; + +// Parameter state +static float trailDecay = 0.924f; +static float velocity = 2.013f; +static float spin = 0.746f; +static float pitch = -2.203f; + +// Density map (0..1 trails). 128×64 floats (32 KB) — as a static array this +// sat in internal DRAM from boot for every build; allocated from PSRAM in +// setup() instead (PFMem). +static float* densityMap = nullptr; + +// Particle structure +struct Charge { + float r; + float angle; + float speedProfile; + float brightness; + float prevX; + float prevY; +}; + +static const int NUM_CHARGES = 48; +static Charge charges[NUM_CHARGES]; + +// Helper for random float 0..1 +static float randf() { + return (float)random(0x7FFFFFFF) / (float)0x7FFFFFFF; +} + +// Pre-baked color ramp LUT (verbatim) +static const uint8_t RAMP_LUT[256][3] = { + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, + {0,0,0},{43,39,47},{80,61,100},{107,61,153},{123,40,205},{128,0,255},{132,0,255},{136,0,255}, + {141,0,255},{145,0,255},{149,0,255},{153,0,255},{157,0,255},{161,0,255},{165,0,255},{169,0,255}, + {174,0,255},{178,0,255},{182,0,255},{186,0,255},{190,0,255},{194,0,255},{198,0,255},{202,0,255}, + {206,0,255},{211,0,255},{215,0,255},{219,0,255},{223,0,255},{228,0,255},{232,0,255},{236,0,255}, + {240,0,255},{245,0,255},{249,0,255},{253,0,255},{255,0,253},{255,0,248},{255,0,244},{255,0,240}, + {255,0,236},{255,0,231},{255,0,227},{255,0,223},{255,0,219},{255,0,214},{255,0,210},{255,0,206}, + {255,0,202},{255,0,197},{255,0,193},{255,0,189},{255,0,185},{255,0,180},{255,0,176},{255,0,172}, + {255,0,168},{255,0,163},{255,0,159},{255,0,155},{255,0,151},{255,0,146},{255,0,142},{255,0,138}, + {255,0,134},{255,0,129},{255,0,125},{255,0,121},{255,0,117},{255,0,112},{255,0,108},{255,0,104}, + {255,0,100},{255,0,95},{255,0,91},{255,0,87},{255,0,83},{255,0,78},{255,0,74},{255,0,70}, + {255,0,66},{255,0,61},{255,0,57},{255,0,53},{255,0,49},{255,0,44},{255,0,40},{255,0,36}, + {255,0,32},{255,0,27},{255,0,23},{255,0,19},{255,0,15},{255,0,10},{255,0,6},{255,0,2}, + {255,13,13},{255,38,38},{255,63,63},{255,88,88},{255,113,113},{255,138,138},{255,163,163},{255,188,188}, + {255,213,213},{255,238,238},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, + {255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255},{255,255,255}, +}; + +void setup() { + // Seed randomness + randomSeed(esp_random()); + + // Density map lives in PSRAM; PFMem zeroes fresh allocations. + if (!densityMap) { + densityMap = PFMem::allocFloats(PANEL_RES_W * PANEL_RES_H); + } else { + for (int i = 0; i < PANEL_RES_W * PANEL_RES_H; i++) { + densityMap[i] = 0.0f; + } + } + + // Initialize particles + const float cx = PANEL_RES_W / 2.0f; + const float cy = PANEL_RES_H / 2.0f; + for (int i = 0; i < NUM_CHARGES; i++) { + float r = 10.0f + randf() * 60.0f; + float angle = randf() * TWO_PI; + float xPos = cx + cosf(angle) * r; + float yPos = cy + sinf(angle) * r; + + charges[i].r = r; + charges[i].angle = angle; + charges[i].speedProfile = 0.8f + randf() * 1.4f; + charges[i].brightness = 0.4f + randf() * 0.6f; + charges[i].prevX = xPos; + charges[i].prevY = yPos; + } +} + +void update(float dt, const InputFrame& input) { + if (!densityMap) return; // allocation failed — degrade to a blank pattern + + // Knob 0: TrailDecay + trailDecay += input.knobDeltas[0] * 0.05f; + if (trailDecay < 0.5f) trailDecay = 0.5f; + if (trailDecay > 0.98f) trailDecay = 0.98f; + + // Knob 1: Velocity + velocity += input.knobDeltas[1] * 0.1f; + if (velocity < -3.0f) velocity = -3.0f; + if (velocity > 5.0f) velocity = 5.0f; + + // Knob 2: SpinPull + spin += input.knobDeltas[2] * 0.05f; + if (spin < 0.0f) spin = 0.0f; + if (spin > 3.0f) spin = 3.0f; + + // Knob 3: InflowPitch + pitch += input.knobDeltas[3] * 0.05f; + if (pitch < -20.0f) pitch = -20.0f; + if (pitch > 20.0f) pitch = 20.0f; + + // Button resets + if (input.btnPressed[0]) trailDecay = 0.924f; + if (input.btnPressed[1]) velocity = 2.013f; + if (input.btnPressed[2]) spin = 0.746f; + if (input.btnPressed[3]) pitch = -2.203f; + + // Decay the density map + for (int i = 0; i < PANEL_RES_W * PANEL_RES_H; i++) { + densityMap[i] *= trailDecay; + } + + float tStep = velocity * dt * 4.0f; + const float cx = PANEL_RES_W / 2.0f; + const float cy = PANEL_RES_H / 2.0f; + + for (int i = 0; i < NUM_CHARGES; i++) { + Charge& c = charges[i]; + + // Save previous position + c.prevX = cx + cosf(c.angle) * c.r; + c.prevY = cy + sinf(c.angle) * c.r; + + // Update orbit + c.angle += spin * 0.4f * c.speedProfile * tStep; + c.r -= pitch * 6.0f * tStep; + + // Reset logic depending on flow direction + if (pitch > 0.01f) { + // Inward flow + if (c.r < 3.0f) { + c.r = 55.0f + randf() * 35.0f; + c.angle = randf() * TWO_PI; + c.prevX = cx + cosf(c.angle) * c.r; + c.prevY = cy + sinf(c.angle) * c.r; + } + } else if (pitch < -0.01f) { + // Outward flow + if (c.r > 90.0f) { + c.r = 2.0f + randf() * 5.0f; + c.angle = randf() * TWO_PI; + c.prevX = cx + cosf(c.angle) * c.r; + c.prevY = cy + sinf(c.angle) * c.r; + } + } else { + // Neutral + if (c.r < 3.0f || c.r > 90.0f) { + c.r = 30.0f + randf() * 40.0f; + c.angle = randf() * TWO_PI; + c.prevX = cx + cosf(c.angle) * c.r; + c.prevY = cy + sinf(c.angle) * c.r; + } + } + + // Current position + float curX = cx + cosf(c.angle) * c.r; + float curY = cy + sinf(c.angle) * c.r; + + // Interpolate trail between previous and current + float dx = curX - c.prevX; + float dy = curY - c.prevY; + float dist = sqrtf(dx * dx + dy * dy); + int steps = (int)ceilf(dist); + if (steps < 1) steps = 1; + + float addVal = c.brightness * 0.7f; + for (int s = 0; s <= steps; s++) { + float frac = (float)s / (float)steps; + float px = c.prevX + dx * frac; + float py = c.prevY + dy * frac; + int ix = (int)floorf(px); + int iy = (int)floorf(py); + + if (ix >= 0 && ix < PANEL_RES_W && iy >= 0 && iy < PANEL_RES_H) { + int idx = iy * PANEL_RES_W + ix; + float newVal = densityMap[idx] + addVal; + if (newVal > 1.0f) newVal = 1.0f; + densityMap[idx] = newVal; + } + } + } +} + +void draw() { + if (!densityMap) { // allocation failed — show nothing rather than crash + PFCanvas::present(); + return; + } + for (int y = 0; y < PANEL_RES_H; y++) { + for (int x = 0; x < PANEL_RES_W; x++) { + int idx = y * PANEL_RES_W + x; + float val = densityMap[idx]; + float v; + + if (val > 0.001f) { + if (val < 0.15f) { + v = 0.06f + val * 0.6f; + } else if (val < 0.45f) { + v = 0.2f + (val - 0.15f) * 1.3f; + } else if (val < 0.75f) { + v = 0.55f + (val - 0.45f) * 1.5f; + } else { + v = 0.85f + (val - 0.75f) * 2.0f; + } + if (v > 1.0f) v = 1.0f; + if (v < 0.0f) v = 0.0f; + } else { + v = 0.02f; + } + + int li = (int)(v * 255.0f + 0.5f); + if (li < 0) li = 0; + if (li > 255) li = 255; + PFCanvas::setPixel(x, y, + RAMP_LUT[li][0], + RAMP_LUT[li][1], + RAMP_LUT[li][2]); + } + } + PFCanvas::present(); +} + +} // namespace MagVortex + +// ── Made with Patternflow Pattern Lab · https://patternflow.work/pattern-lab ── +// Shared under CC-BY-SA-4.0. Attribution is part of this licence — +// please keep this notice and the author credit above when you reuse, +// remix, or redistribute this pattern. Do not delete it. diff --git a/firmware/patternflow/src/core_mem.h b/firmware/patternflow/src/core_mem.h new file mode 100644 index 0000000..557596c --- /dev/null +++ b/firmware/patternflow/src/core_mem.h @@ -0,0 +1,52 @@ +// ═══════════════════════════════════════════════════════════ +// PatternFlow - Big-buffer allocation for patterns +// +// Every pattern's namespace statics live in internal DRAM from the +// moment the chip boots, whether or not that pattern is active — all +// preset headers are compiled into one image. A single framebuffer- +// sized array (128×64 floats = 32 KB) is a fifth of the DRAM the +// Wi-Fi stack and the HUB75 DMA driver have to share, and two of +// them were enough to boot-loop the device. +// +// So: framebuffer-sized state (trail maps, glow accumulators, per- +// pixel scratch) must NOT be a static array. Declare a pointer and +// allocate it once from setup(): +// +// static float* trail = nullptr; +// void setup() { +// if (!trail) trail = PFMem::allocFloats(PANEL_RES_W * PANEL_RES_H); +// } +// +// Allocation prefers PSRAM (8 MB on the reference R16N8 board) and +// falls back to internal heap when PSRAM is absent. Returned memory +// is zeroed. Pattern setup() runs once at boot and never again, so +// there is no free() path — treat the buffer as owned for the life +// of the firmware. Guard update()/draw() with `if (!trail) return;` +// so an allocation failure degrades to a blank pattern, not a crash. +// +// Small fixed state (a few dozen particles, knob values) is fine as +// plain statics — this is only for the big per-pixel buffers. +// License: MIT +// ═══════════════════════════════════════════════════════════ +#pragma once + +#include +#include + +namespace PFMem { + +inline void* alloc(size_t bytes) { + void* p = nullptr; +#if defined(ESP32) || defined(ARDUINO_ARCH_ESP32) + if (psramFound()) p = ps_malloc(bytes); +#endif + if (!p) p = malloc(bytes); + if (p) memset(p, 0, bytes); + return p; +} + +inline float* allocFloats(int count) { + return (float*)alloc((size_t)count * sizeof(float)); +} + +} // namespace PFMem diff --git a/firmware/patternflow/src/core_tables.h b/firmware/patternflow/src/core_tables.h index b96b9c3..7692508 100644 --- a/firmware/patternflow/src/core_tables.h +++ b/firmware/patternflow/src/core_tables.h @@ -40,6 +40,7 @@ #include #include #include "config.h" +#include "core_mem.h" namespace PFTables { @@ -51,20 +52,11 @@ inline int idx(int x, int y) { return y * PANEL_RES_W + x; } -inline float* allocFloats(int count) { - void* p = nullptr; -#if defined(ESP32) || defined(ARDUINO_ARCH_ESP32) - if (psramFound()) p = ps_malloc((size_t)count * sizeof(float)); -#endif - if (!p) p = malloc((size_t)count * sizeof(float)); - return (float*)p; -} - inline void init() { if (ready) return; const int N = PANEL_RES_W * PANEL_RES_H; - rT = allocFloats(N); - thetaT = allocFloats(N); + rT = PFMem::allocFloats(N); + thetaT = PFMem::allocFloats(N); if (!rT || !thetaT) { // Allocation failed (no PSRAM and internal heap exhausted). Leave the // tables unavailable rather than half-initialized. diff --git a/web/src/app/pattern-lab/PatternLabClient.tsx b/web/src/app/pattern-lab/PatternLabClient.tsx index b81055c..608576f 100644 --- a/web/src/app/pattern-lab/PatternLabClient.tsx +++ b/web/src/app/pattern-lab/PatternLabClient.tsx @@ -1389,6 +1389,7 @@ Conditional includes — only when actually used in your code: #include "src/core_color.h" // PFColor:: hsvToRgb, buildPowLUT/buildPowLUTf, ColorStop, sampleRamp #include "src/core_noise.h" // PFNoise:: cellHash, valueNoise2D, perlin2D, fractal2D #include "src/core_tables.h" // PFTables:: init(), rT[], thetaT[] — per-pixel radius/angle from the panel center, precomputed + #include "src/core_mem.h" // PFMem:: allocFloats — PSRAM-first, zeroed allocation for framebuffer-sized buffers Helper signatures — these are the FULL argument lists. Call them exactly like this; do not add size arguments, reorder parameters, or invent overloads: @@ -1407,6 +1408,7 @@ Helper signatures — these are the FULL argument lists. Call them exactly like PFColor::hsvToRgb(h01, s01, v01, r8, g8, b8); // h/s/v floats 0..1; r8/g8/b8 are uint8_t& outputs static uint8_t plut[256]; PFColor::buildPowLUT(exponent, plut); // fills (i/255)^exp scaled to 0..255 static float plutf[256]; PFColor::buildPowLUTf(exponent, plutf); // fills (i/255)^exp as 0..1 floats + static float* buf = nullptr; buf = PFMem::allocFloats(count); // in setup(); PSRAM-first, returns zeroed memory (or nullptr) Other interface rules: - Use PANEL_RES_W and PANEL_RES_H. Never hardcode 128 or 64. @@ -1414,6 +1416,18 @@ Other interface rules: - The last line of draw() must be PFCanvas::present();. Without it nothing reaches the panel. - Macro collisions: Arduino.h and config.h define macros that will preprocessor-mangle same-named declarations into compile errors. Do NOT define your own variables, constants, or functions named PI, TWO_PI, HALF_PI, DEG_TO_RAD, RAD_TO_DEG, EULER, min, max, abs, sq, round, radians, degrees, constrain, MAX_HUE, MAX_SPEED, SPEED_STEP, MAX_FREQ, or FREQ_STEP. Use the existing PI / TWO_PI constants directly, use fminf/fmaxf/fabsf for your own helpers, and prefix pattern constants with the pattern name (e.g. CELLS_TWO_PI, CELLS_SPEED_STEP). +## Memory rules — big buffers must never be static arrays +All patterns compile into one firmware image, so every namespace static array occupies internal DRAM from boot even while the pattern is inactive — and internal DRAM is shared with the Wi-Fi stack and the HUB75 DMA driver. Two 32 KB static arrays were enough to boot-loop a real device. + +- Any per-pixel buffer (trail map, glow/density accumulator, feedback field — anything sized by PANEL_RES_W * PANEL_RES_H or similar) must be a POINTER allocated once in setup() with PFMem::allocFloats (include src/core_mem.h). PFMem allocates from PSRAM when available and returns zeroed memory: + + static float* trail = nullptr; + void setup() { if (!trail) trail = PFMem::allocFloats(PANEL_RES_W * PANEL_RES_H); } + +- Guard update() with \`if (!trail) return;\` and start draw() with \`if (!trail) { PFCanvas::present(); return; }\` so a failed allocation degrades to a blank pattern instead of crashing. +- Small fixed state (particle arrays, knob params, 256-entry LUTs — anything under ~2 KB) stays as plain statics; this rule is only for framebuffer-scale buffers. +- Call PFTables::init() ONLY if the code actually reads PFTables::rT or PFTables::thetaT. Never call it "just in case" — it allocates two 32 KB tables. + ## DO NOT reimplement existing helpers The firmware ships tested, optimized versions of these. Using your own breaks shared optimizations (color calibration, sin LUT sharing) and wastes ROM. If the JavaScript source contains an inline hsvToRgb or sin LUT, strip it and call the firmware helper instead. @@ -1485,9 +1499,10 @@ Before finalizing your code block, verify each of these. If any answer is wrong, 4. Are all pixel writes via PFCanvas::setPixel? Did I avoid touching dma_display? 5. Do my knob parameters consume input.knobDeltas (not input.knobValues), constrained to the documented range? 6. Does every time accumulator wrap at its period (TWO_PI or a common multiple — see Performance)? An unbounded accumulator is a bug even if the preview looks fine. -7. Is every line valid C++ that will compile — no stray tokens, no placeholder text, no truncated statements? Re-read the block once before finalizing.${ +7. Is every line valid C++ that will compile — no stray tokens, no placeholder text, no truncated statements? Re-read the block once before finalizing. +8. Did I declare any static array bigger than ~2 KB (e.g. float buf[PANEL_RES_W * PANEL_RES_H])? If yes, convert it to a PFMem::allocFloats pointer per the Memory rules. Did I call PFTables::init() without reading rT/thetaT anywhere? If yes, remove the call.${ usesValueField - ? "\n8. Did I paste the RAMP_LUT table verbatim (all 256 entries, unchanged), and does draw() get every color exclusively from RAMP_LUT with no other color code?" + ? "\n9. Did I paste the RAMP_LUT table verbatim (all 256 entries, unchanged), and does draw() get every color exclusively from RAMP_LUT with no other color code?" : "" } diff --git a/web/src/components/sections/PatternPanel.tsx b/web/src/components/sections/PatternPanel.tsx index d137e1b..ffc28e7 100644 --- a/web/src/components/sections/PatternPanel.tsx +++ b/web/src/components/sections/PatternPanel.tsx @@ -37,6 +37,7 @@ Required header structure: \`#include "src/core_math.h"\` // PFMath:: fastSin, fastCos, fract, lerp, approxLength, sin LUT \`#include "src/core_color.h"\` // PFColor:: hsvToRgb, ColorStop, sampleRamp \`#include "src/core_noise.h"\` // PFNoise:: perlin2D, fractal2D + \`#include "src/core_mem.h"\` // PFMem:: allocFloats — PSRAM-first, zeroed allocation for framebuffer-sized buffers - Do not use \`\`, \`\`, \`\`, \`std::clamp\`, \`std::round\`, \`std::vector\`, \`std::string\`, dynamic allocation, exceptions, file IO, external libraries, or placeholder declarations like \`extern Display*\` or mock \`InputFrame\`. - Use Arduino/math functions: \`constrain()\`, \`roundf()\`, \`floorf()\`, \`fmodf()\`, \`powf()\`. Prefer \`PFMath::fastSin()\` / \`PFMath::fastCos()\` over \`sinf()\` / \`cosf()\` inside the pixel loop. - Use \`PANEL_RES_W\` and \`PANEL_RES_H\`; never hardcode 128 or 64. @@ -54,6 +55,14 @@ ESP32 optimization: - Precompute row-only and column-only warp terms once per frame outside the inner pixel loop. - Preserve the visual structure, but prefer a faster approximation over a literal slow translation. +Memory rules (big buffers must never be static arrays): +- All patterns compile into one firmware image, so every namespace static array occupies internal DRAM from boot even while the pattern is inactive — and internal DRAM is shared with the Wi-Fi stack and the HUB75 DMA driver. Never declare a framebuffer-sized static array such as \`static float buf[PANEL_RES_W * PANEL_RES_H]\` (32 KB locked at boot). +- Any per-pixel buffer (trail map, glow/density accumulator, feedback field) must be a POINTER allocated once in \`setup()\` with \`PFMem::allocFloats\` from \`src/core_mem.h\` — it allocates from PSRAM when available and returns zeroed memory: + \`static float* trail = nullptr;\` + \`void setup() { if (!trail) trail = PFMem::allocFloats(PANEL_RES_W * PANEL_RES_H); }\` +- Guard \`update()\` with \`if (!trail) return;\` and start \`draw()\` with \`if (!trail) { PFCanvas::present(); return; }\` so a failed allocation degrades to a blank pattern instead of crashing. +- Small fixed state (particle arrays, knob params, 256-entry LUTs — anything under ~2 KB) stays as plain statics; this rule is only for framebuffer-scale buffers. + Required namespace interface: - Choose a stable PascalCase namespace ending in \`Pattern\`. - Inside the namespace, define: From 334ce1ce9ac1e31bc3f7b9907d3eed7f2e11e259 Mon Sep 17 00:00:00 2001 From: engmung <122682380+engmung@users.noreply.github.com> Date: Mon, 20 Jul 2026 09:42:50 +0900 Subject: [PATCH 4/7] =?UTF-8?q?web(flash):=20ship=20today's=20firmware=20b?= =?UTF-8?q?uild=20=E2=80=94=20presets=20+=20PFMem=20included?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The flashed image now carries the full preset library, the PFMem allocator, and self-reports 3.0.0 over Improv. Co-Authored-By: Claude Fable 5 --- web/public/flash/bin/v2/patternflow.ino.bin | Bin 1118384 -> 1139744 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/web/public/flash/bin/v2/patternflow.ino.bin b/web/public/flash/bin/v2/patternflow.ino.bin index 1f9bfdf7785b09659ebfdb6f7cfc1590e5aca0ed..48c3f667239407dda3be9b35d596c96f3a1bd365 100644 GIT binary patch delta 344507 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

WKYet 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 z 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 Date: Mon, 20 Jul 2026 09:43:16 +0900 Subject: [PATCH 5/7] docs: fold the preset/PFMem work into the 3.0.0 notes, refresh agent context Co-Authored-By: Claude Fable 5 --- .agents/rules/project-context.md | 4 ++-- CHANGELOG.md | 1 + docs/releases/v3.0.0.md | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.agents/rules/project-context.md b/.agents/rules/project-context.md index ad08f9f..cce2127 100644 --- a/.agents/rules/project-context.md +++ b/.agents/rules/project-context.md @@ -33,7 +33,7 @@ The board topologically sits behind the LED matrix, interfacing via a 2x8 HUB75 ### Hardware (Case) The current enclosure is modeled in Blender. `hardware/case/` is organized by printer bed size, for the v3.0 board: 1. `bed_330mm/encloser.stl`: one-piece snap-fit body, one STL — H2S-class beds, the main design. -2. `bed_256mm/`: divided snap-fit, 5 parts (divided_v3_part1..5.stl) — P1S-class beds; print & assembly tested (#169), separate LED-panel mounting part adapts to varying panel bolt-hole positions. +2. `bed_256mm/encloser.stl`: the standard 256mm print — body frame, back panels, and LED-panel mount in one STL; print & assembly verified. `for_other_panels/divided_v3_part1..5.stl` is the adjustable-mount variant for non-standard panels (#169). 3. `knobs/knobs_15mm.stl` / `knobs/knobs_20mm.stl`: Black PLA knobs, shared by all body options. 4. `legacy_v2/`: every v2.x-board case (standard plates, oneshot_v2, divided_v2.1) — NOT compatible with the v3.0 board. @@ -58,7 +58,7 @@ The project maintains a strict dual-license approach to accommodate the differin For full details, reference `BUILD_GUIDE.md` §10. Summary: 1. **Cold boot reliability:** fixed in v2.0 with a 10k GPIO0 pullup. 2. **SMD silkscreen ambiguity:** fixed in v2.0. -3. **LED matrix alignment bumps:** still open; current workaround is trimming during assembly. +3. **LED matrix alignment bumps:** resolved by the v3 snap-fit enclosures (built-in recesses); trimming only applies to the legacy v2 glued plates. 4. **Encoder direction:** handled in firmware. 5. **Encoder shaft length:** 15mm and 20mm EC11 shafts are functionally identical — purely preference. The BOM reference part (Bourns PEC11R-4220F-S0024) is 20mm; both knob STLs are kept. diff --git a/CHANGELOG.md b/CHANGELOG.md index ea2f9c5..06b1046 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to Patternflow will be documented in this file. ### Added - **v3.0 board promoted to the recommended revision** (`hardware/pcb/gerber/patternflow_v3.0_gerber.zip`). Fabricated, assembled, and verified ([#114](https://github.com/engmung/Patternflow/issues/114)): hybrid power input — USB-C (`USB1` + 5.1k CC pull-downs) or a back-side 2-pin screw terminal (`J4`) as the beginner bypass — all-through-hole, no SMD passives. **Not size-compatible with v2.x cases (and vice versa).** - **Machine-readable BOM** (`hardware/bom/bom_v3.0.csv`): every part by manufacturer part number, per-unit quantities, assembly-critical notes. The LED panel remains an AliExpress link (its mounting-screw positions match the case). +- **Firmware preset library + PFMem.** Curated patterns now live in `firmware/patternflow/presets/` — thirteen new presets (the June–July daily batch) join the library, and the three custom slots ship with fresh patterns. New `src/core_mem.h` (**PFMem**) allocates framebuffer-sized pattern state PSRAM-first, so a fully loaded preset image can no longer boot-loop the device on DRAM pressure. The browser-flasher image carries all of it and self-reports 3.0.0. - **v3 build guide** — now the main `BUILD_GUIDE.md`: [PCB soldering](https://youtu.be/NZCjMBCsDAc) and [assembly-to-first-power-on](https://youtu.be/J9C9bZgkNKs) each covered by a full video walkthrough, photo-documented print/case/wiring steps, netlist-derived pin reference. The v2 guide moved to `BUILD_GUIDE_v2.md` for existing v2.x builds. ### Changed diff --git a/docs/releases/v3.0.0.md b/docs/releases/v3.0.0.md index b020429..31d7bdb 100644 --- a/docs/releases/v3.0.0.md +++ b/docs/releases/v3.0.0.md @@ -25,6 +25,7 @@ The biggest hardware revision since launch. The v3.0 board and enclosure were re ### Firmware - **One image for every board generation** — v2.x and v3.0 share an identical pin map, so the [browser flasher](https://patternflow.work) just works on both. No board selection to get wrong. +- **Bigger preset library, sturdier engine** — thirteen new presets from the June–July daily batch, three fresh custom-slot patterns, and a new PSRAM-first allocator (`PFMem`) so a fully loaded pattern image can't starve the Wi-Fi/DMA DRAM budget. ## Breaking changes From 188e6b343ec1f040051819f48c3cce4e1e8386f9 Mon Sep 17 00:00:00 2001 From: engmung <122682380+engmung@users.noreply.github.com> Date: Mon, 20 Jul 2026 09:55:13 +0900 Subject: [PATCH 6/7] docs(readme): status note points at the v3.0.0 release Co-Authored-By: Claude Fable 5 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14d8c81..43fcb30 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ - 📦 **Get one ready-made** — Patternflow is in **[pre-launch on Crowd Supply](https://www.crowdsupply.com/engmung/patternflow)**. Subscribe to be notified the moment the campaign goes live. - 🎛️ **Try it right now** — the **[Live Editor](https://patternflow.work/pattern)** runs a virtual Patternflow in your browser. Same knobs, same patterns, no hardware. -> **Moving fast.** The repo improves almost daily — [v2.1.0](https://github.com/engmung/Patternflow/releases/tag/v2.1.0) consolidated the v2.x line (its release page bundles everything a v2 builder needs), and the **v3.0 board is verified and now the recommended build**: USB-C power with a beginner-friendly screw-terminal bypass, zero SMD passives, snap-fit enclosure. The [build guide](BUILD_GUIDE.md) now covers v3.0 (video-assisted soldering included). Follow the [changelog](CHANGELOG.md) and the [journal](https://patternflow.work/journal) for what's current. +> **Moving fast.** [**v3.0.0 is out**](https://github.com/engmung/Patternflow/releases/tag/v3.0.0) — hybrid USB-C / screw-terminal power, zero SMD passives, a snap-fit enclosure with no more panel trimming, and a [video-first build guide](BUILD_GUIDE.md). On v2.x hardware? Everything you need stays bundled at [v2.1.0](https://github.com/engmung/Patternflow/releases/tag/v2.1.0). Follow the [changelog](CHANGELOG.md) and the [journal](https://patternflow.work/journal) for what's current. ## Quick facts From b57cd6c185edb08c7efd4e4e328f7782118a75d1 Mon Sep 17 00:00:00 2001 From: engmung <122682380+engmung@users.noreply.github.com> Date: Mon, 20 Jul 2026 12:59:19 +0900 Subject: [PATCH 7/7] feat(web): add brief description for Pattern Lab link --- .../components/sections/PatternPanel.module.css | 16 ++++++++++++++++ web/src/components/sections/PatternPanel.tsx | 11 ++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/web/src/components/sections/PatternPanel.module.css b/web/src/components/sections/PatternPanel.module.css index e0b9658..a4acdff 100644 --- a/web/src/components/sections/PatternPanel.module.css +++ b/web/src/components/sections/PatternPanel.module.css @@ -276,6 +276,22 @@ color: var(--pf-cream); } +.toolItem { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 8px; + margin-top: 4px; +} + +.toolDesc { + margin: 0; + max-width: 560px; + color: var(--pf-ink-muted); + font-size: var(--pf-fs-body); + line-height: 1.5; +} + .unsupported { margin-top: 10px; color: var(--pf-ink-muted); diff --git a/web/src/components/sections/PatternPanel.tsx b/web/src/components/sections/PatternPanel.tsx index ffc28e7..61b4a99 100644 --- a/web/src/components/sections/PatternPanel.tsx +++ b/web/src/components/sections/PatternPanel.tsx @@ -531,9 +531,14 @@ export default function PatternPanel({ content }: PatternPanelProps) {

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