docs: README overhaul + DEVELOPERS/EFFECTS/WORKLOG, funding link, wordmark - #4
Merged
Conversation
fughilli
force-pushed
the
docs/readme-refactor
branch
from
July 28, 2026 02:08
0e318d4 to
98686ec
Compare
fughilli
force-pushed
the
docs/readme-refactor
branch
3 times, most recently
from
July 28, 2026 18:22
38c2c06 to
9f4065a
Compare
fughilli
pushed a commit
that referenced
this pull request
Aug 9, 2026
…OG.md The README had grown into a build-state changelog + handoff notes. Split it into three docs and give the front page a proper banner + status chips: - README.md: a concise first-time-user intro — what splanc does (map LEDs in 3D from a phone, then design/play effects on the real geometry), how it works, getting started (ledmapper.pages.dev), and hardware. Now leads with the splanc.svg wordmark banner and a standard chip row (CI/HITL Actions status, live app, Bazel, controller). - DEVELOPERS.md (new): contributor guide — prerequisites, build/test, the hardware-free pipeline demo, repo layout, CI/pre-commit, container/CI gotchas. - WORKLOG.md (new): a current-state handoff entry on top, then the old README's dated changelog / directives / TODO migrated verbatim as historical record. Also refreshes the claude-container named-service instructions in firmware/landing/README.md and tools/sim_studio/README.md. Docs-only; prettier + markdownlint clean. Ported forward from PR #4 onto current main. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fughilli
force-pushed
the
docs/readme-refactor
branch
from
August 9, 2026 16:03
d0568e4 to
85372c9
Compare
|
fughilli
pushed a commit
that referenced
this pull request
Aug 9, 2026
…OG.md The README had grown into a build-state changelog + handoff notes. Split it into three docs and give the front page a proper banner + status chips: - README.md: a concise first-time-user intro — what splanc does (map LEDs in 3D from a phone, then design/play effects on the real geometry), getting started (ledmapper.pages.dev), hardware, and how it works. Leads with the splanc.svg wordmark banner and a standard chip row (CI/HITL Actions status, live app, Bazel). Onboarding notes that a brand-new ESP32-C6 dev board can be flashed directly from the PWA over USB (Web Serial / WebUSB). - DEVELOPERS.md (new): contributor guide — prerequisites, build/test, the hardware-free pipeline demo, repo layout, CI/pre-commit, container/CI gotchas. - WORKLOG.md (new): a current-state handoff entry on top, then the old README's dated changelog / directives / TODO migrated verbatim as historical record. Also refreshes the claude-container named-service instructions in firmware/landing/README.md and tools/sim_studio/README.md. Docs-only; prettier + markdownlint clean. Ported forward from PR #4 onto current main. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fughilli
force-pushed
the
docs/readme-refactor
branch
from
August 9, 2026 17:01
6b10755 to
bd52206
Compare
…OG.md The README had grown into a build-state changelog + handoff notes. Split it into three docs and give the front page a proper banner + status chips: - README.md: a concise first-time-user intro — what splanc does (map LEDs in 3D from a phone, then design/play effects on the real geometry), how it works, getting started (ledmapper.pages.dev), and hardware. Now leads with the splanc.svg wordmark banner and a standard chip row (CI/HITL Actions status, live app, Bazel, controller). - DEVELOPERS.md (new): contributor guide — prerequisites, build/test, the hardware-free pipeline demo, repo layout, CI/pre-commit, container/CI gotchas. - WORKLOG.md (new): a current-state handoff entry on top, then the old README's dated changelog / directives / TODO migrated verbatim as historical record. Also refreshes the claude-container named-service instructions in firmware/landing/README.md and tools/sim_studio/README.md. Docs-only; prettier + markdownlint clean. Ported forward from PR #4 onto current main. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…OG.md The README had grown into a build-state changelog + handoff notes. Split it into three docs and give the front page a proper banner + status chips: - README.md: a concise first-time-user intro — what splanc does (map LEDs in 3D from a phone, then design/play effects on the real geometry), getting started (ledmapper.pages.dev), hardware, and how it works. Leads with the splanc.svg wordmark banner and a standard chip row (CI/HITL Actions status, live app, Bazel). Onboarding notes that a brand-new ESP32-C6 dev board can be flashed directly from the PWA over USB (Web Serial / WebUSB). - DEVELOPERS.md (new): contributor guide — prerequisites, build/test, the hardware-free pipeline demo, repo layout, CI/pre-commit, container/CI gotchas. - WORKLOG.md (new): a current-state handoff entry on top, then the old README's dated changelog / directives / TODO migrated verbatim as historical record. Also refreshes the claude-container named-service instructions in firmware/landing/README.md and tools/sim_studio/README.md. Docs-only; prettier + markdownlint clean. Ported forward from PR #4 onto current main. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
DEVELOPERS.md: - Add a "Design & architecture docs" section linking the durable spec, all docs/design/ notes, docs/ operational notes, and EFFECTS.md. - Add an architecture overview of the two major components — the PWA (web/) and the firmware (firmware/) — with a subsystem-by-subsystem layout, plus the shared protocol, solver, and Pi path. - Refresh the build notes: the ESP32-C6 image builds in-container now with an explicit target; document that it is still tags=manual (excluded from //...) and built explicitly by the dedicated CI firmware job. Correct firmware to ESP32-C6 (RP2350 is a declared triple with no board target yet). - Add a "Hardware-in-the-loop (HITL) testing" section: rig architecture, the suite, the FX performance benchmark + regression gate, CI wiring, and how to stand up your own rig for private use. EFFECTS.md (new): a standalone reference for the effects engine — the GLSL-ish language, the stack-machine VM and execution model, the full opcode table, the .fxb container format, uniform/texture/video-streaming/MIDI plumbing, measured ESP32-C6 performance and the regression gate, and how the built-in AI (claude-opus-4-8) is prompted to write and self-repair effects. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rebased onto #65 (FX VM hill-climb + effects-AI perf awareness), which changed the engine EFFECTS.md documents: - opcode enum extended to 0..=79 — add the native int/fixed ops (AbsI/MinI/MaxI/ ClampI, SignI/StepI/FloorFix/CeilFix/FractFix/MixFix); note builtins now run natively on int/fixed args instead of coercing to soft-float. - refresh the representative ESP32-C6 frame-cycle numbers from the regenerated golden (LUT sin/cos and integer hash dropped sharply; exp still soft-float). - note the AI prompt is now perf-aware (fixed-point/soft-float cost + per-device builtin cost table). Margins (10% / sweep16 15%) and the 13% software-estimator gate are unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fughilli
force-pushed
the
docs/readme-refactor
branch
from
August 9, 2026 18:25
bd52206 to
96cdf03
Compare
fughilli
pushed a commit
that referenced
this pull request
Aug 15, 2026
Move the sbc-deploy pin from cb70fcc to 18a5346 in lockstep across all four
spots (MODULE.bazel git_override + pi/hitl/flake.{nix,lock} + pi/provisioning/
nix/flake.lock). The new revs (upstream PRs #4 + #5) make the zero-conf macOS
aarch64 builder work for EXTERNAL bazel_dep consumers — the builder flake now
rides in each sbc_application target's runfiles, so `bazel run …image_sd` on
macOS auto-manages the sized VM from the pin (no --framework-subdir, no
vendoring, no --cross). Verified on hardware: the Pi 3 image builds via the
auto-started VM and deploys.
Locks regenerated with `nix flake update sbc-deploy` (only the sbc-deploy node
moved; transitive inputs unchanged). MODULE.bazel.lock needs no change
(git_override isn't content-pinned). Also gitignore .sbc-build/ (consumer-side
builder gc-roots/logs).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fughilli
pushed a commit
that referenced
this pull request
Aug 15, 2026
Move the sbc-deploy pin from cb70fcc to 18a5346 in lockstep across all four
spots (MODULE.bazel git_override + pi/hitl/flake.{nix,lock} + pi/provisioning/
nix/flake.lock). The new revs (upstream PRs #4 + #5) make the zero-conf macOS
aarch64 builder work for EXTERNAL bazel_dep consumers — the builder flake now
rides in each sbc_application target's runfiles, so `bazel run …image_sd` on
macOS auto-manages the sized VM from the pin (no --framework-subdir, no
vendoring, no --cross). Verified on hardware: the Pi 3 image builds via the
auto-started VM and deploys.
Locks regenerated with `nix flake update sbc-deploy` (only the sbc-deploy node
moved; transitive inputs unchanged). MODULE.bazel.lock needs no change
(git_override isn't content-pinned). Also gitignore .sbc-build/ (consumer-side
builder gc-roots/logs).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fughilli
pushed a commit
that referenced
this pull request
Aug 15, 2026
Move the sbc-deploy pin from cb70fcc to 18a5346 in lockstep across all four
spots (MODULE.bazel git_override + pi/hitl/flake.{nix,lock} + pi/provisioning/
nix/flake.lock). The new revs (upstream PRs #4 + #5) make the zero-conf macOS
aarch64 builder work for EXTERNAL bazel_dep consumers — the builder flake now
rides in each sbc_application target's runfiles, so `bazel run …image_sd` on
macOS auto-manages the sized VM from the pin (no --framework-subdir, no
vendoring, no --cross). Verified on hardware: the Pi 3 image builds via the
auto-started VM and deploys.
Locks regenerated with `nix flake update sbc-deploy` (only the sbc-deploy node
moved; transitive inputs unchanged). MODULE.bazel.lock needs no change
(git_override isn't content-pinned). Also gitignore .sbc-build/ (consumer-side
builder gc-roots/logs).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A documentation-focused pass. The README had grown into a build-state changelog
contributor guide, a standalone effects-engine reference, and a historical build
log — then adds a funding link and refreshes the
splanc.svgwordmark. Portsforward and supersedes the stale docs: README overhaul + DEVELOPERS/EFFECTS/WORKLOG, funding link, wordmark #4 (docs README refactor), rebased onto current
mainand fine-tuned.No code, protocol, or build-logic changes — the only non-doc file is the wordmark
SVG asset.
README → first-time-user intro
README.mdas a concise intro: what splanc does (map LEDs in 3D from aphone, then design/play effects on the real geometry), getting started
(ledmapper.pages.dev), hardware, and how it works.
splanc.svgwordmark banner and a status-chip row:Test (CI) + HITL Actions status, live app, and Built-with-Bazel.
from the PWA over USB (Web Serial / WebUSB).
DEVELOPERS.md (expanded contributor guide)
docs/design/*note, thedocs/operational notes, andEFFECTS.md.web/,subsystem by subsystem) and the firmware (
firmware/) — plus the sharedprotocol, solver, and Pi path.
explicit target; documented that it is still
tags=["manual"](excluded from//...) and built explicitly by the dedicated CIfirmwarejob. Corrected thefirmware to ESP32-C6 (RP2350 is a declared Rust triple with no board target
yet).
suite, the FX performance benchmark + regression gate, CI wiring, and a
step-by-step guide to standing up your own rig for private use.
EFFECTS.md (new — effects-engine reference)
A standalone reference for the whole effects stack:
built-ins, topology sources) with a worked example.
.fxbcontainer format and uniform plumbing (numeric slots +out-of-band JSON manifest).
dequant) and MIDI mapping (a web-layer feature over
set_uniform).the golden/margin regression gate.
claude-opus-4-8is prompted (system promptassembled from the language spec, one-shot vs. tool-use chat, self-repair from
compiler diagnostics).
WORKLOG.md (new)
The old README's dated changelog / directives / TODO, migrated verbatim as
historical record with a current-state handoff entry on top.
Other
.github/FUNDING.yml— a Buy Me a Coffee funding link(
buy_me_a_coffee: fughilli, renders the repo Sponsor button).firmware/landing/README.md,tools/sim_studio/README.md— refreshed theclaude-container reachability instructions to the current named-service model.
web/public/icons/splanc.svg— updated wordmark artwork (the README bannerreferences this file, so it picks up the new art automatically).
Testing
prettierandmarkdownlint(repo-pinned versions) pass on all changedMarkdown, and the full pre-commit suite passes on every commit. Docs-only; no
runtime behavior is affected.
🤖 Generated with Claude Code