Commit graph

42 commits

Author SHA1 Message Date
b08490e80e v7.15.1 — silence hold: beat detection & prediction freeze during silence
Sustained near-digital quiet on the overall level (< 0.006 for 300 ms,
sticky until a decisive 0.015) now places an immediate HOLD on the beat
tracker: nothing fires (real or predicted -- previously the predictor
kept faking beats for up to ~2 s into any silence), the tempo estimate
and confidence freeze exactly where they are, and beatphase freezes for
scripts instead of saturating at 'beat imminent'. Decisive audio
releases the hold instantly and the grid resumes from the phase the
audio went quiet (captured before the debounce window, so a
pause/resume keeps perfect time); after a hard cut the comb + first
real beats re-align within a couple of periods. 'Set Beat' taps release
the hold outright. Waveform/band data is never gated -- it still flows
(it is simply ~0, because the audio is gone).

- BeatFrame.silent carries the state; scripts get the silent variable
  (1 while held); the beat indicator shows an amber HOLD badge + amber
  phase ring while held.
- rust-agent/src/beat.rs + engine.rs: same gate ported for parity (its
  bass level doubles as the silence signal; NOT compile-verified -- no
  cargo in this sandbox).
- Verified: headless 26/26 assertions on the real BeatTracker (music ->
  silence -> in-phase resume -> onsetless pad -> tap; the pre-fix
  fake-beat window 12.8-15.5 s is empty) and browser E2E on the live
  app with a generated 120 BPM + silence looping WAV (HOLD badge tracks
  the silent spans exactly across two loop cycles; console clean).
2026-11-06 06:49:46 +00:00
b08411f49b chore(git): ignore *.db* per workflow policy, untrack db/custom.db
The SQLite database is runtime state (presets, settings, sessions)
written constantly by the live app -- it is regenerated per machine via
prisma db push and seeded from embedded presets on first boot, so it
does not belong in version control. The file remains on disk untouched.

Also adds *.sqlite / *.sqlite3 alongside the requested *.db* pattern.
2026-11-06 06:24:04 +00:00
537bd06f93 chore: stop tracking .env and .zscripts/dev.pid
.env holds the live OVE directory API key and the database path — runtime
secrets stay on the machine and out of the repo (.gitignore already
excludes .env*); dev.pid is live process state, regenerated by the
platform on every start. Neither file is deleted from disk.
2026-11-06 05:16:59 +00:00
c1caefd543 Merge origin/main — union .gitignore: keep sandbox/tool-results/secrets exclusions, adopt remote's dist/ and !.env.example 2026-11-06 05:16:59 +00:00
zcreations_zai
35d725a5f0 chore: untrack z.ai tool artifacts and local secrets before GitLab sync 2026-11-06 04:22:38 +00:00
90b6c6ea2e Initial commit of openvisengine 2026-11-05 22:18:10 -06:00
Z User
5f1c03db31 e0315efb-ff50-4f97-ab76-b2f751e9b03b 2026-11-06 01:14:43 +00:00
Z User
b54841fabf c123beee-6c07-4660-8af8-d2ff1f89767c 2026-11-05 23:35:41 +00:00
Z User
5451c6ccdd cc601e21-85be-4466-9dee-d6199754c813 2026-11-05 22:47:32 +00:00
Z User
f5df41dcf3 30d7a251-db3d-4ef7-9904-20d67254a59e 2026-11-05 22:25:24 +00:00
Z User
9cea959a52 v7.13.1 — Beat Matrix endpoint fix: full 16x10 grid, no phantom dot past the wall 2026-11-05 08:44:59 +00:00
Z User
05d2c626ca worklog: Task 40 — v7.13 merge of the parallel v7.12 line into the OVE-Directory build 2026-11-05 08:23:21 +00:00
Z User
b161685026 v7.13 — merge the parallel v7.12 line into the OVE-Directory build
Three-way merge (base d59d398, verified identical trees). Brings in:
- 7.10.1: spectrum edge fix (SPEC_TOP_HZ 16 kHz cap)
- 7.10.2 (was 7.11 there): wake lock, respectful Demo, one-click Save
- 7.12: background movement (bgrot/bgx/bgy/bgzoom) + osc-rotations preset

Hand-merged: script-tab.tsx toolbar (one-click Save + Upload side by side),
version.ts + release-notes.ts single timeline, new 7.13 entries.
2026-11-05 08:09:31 +00:00
Z User
40c6d2887e b8fd4912-690d-432c-9235-71b5108014df 2026-11-05 06:53:07 +00:00
Z User
f72eae5ecb 03ddf852-dedd-41e2-89a2-337bd4bd6a89 2026-11-05 03:40:34 +00:00
Z User
1ea335a2fe 62fe0e7e-3025-47cc-bab0-d72875f1698e 2026-11-04 23:55:48 +00:00
Z User
401963b9f3 a30cfb39-1b53-4097-990f-27d01fb42f1f 2026-11-04 18:48:09 +00:00
Z User
1c1105da45 e7e98d75-c472-45a0-8363-2cc17e4e3f4e 2026-11-04 16:14:36 +00:00
Z User
fd71ca41aa ca373082-0cfe-4fd4-89b2-0a9b9c85453b 2026-11-04 15:27:56 +00:00
Z User
d59d398cec 74b54406-5b0d-416f-8a38-1f1006a1c814 2026-11-04 06:47:03 +00:00
Z User
9b76dcc208 a132a822-8297-48ee-a813-68dcaf906c8b 2026-11-04 05:50:06 +00:00
Z User
a97d5a17ad 12b812ed-f283-4328-aa03-41acf2879cf3 2026-10-31 03:45:59 +00:00
Z User
698fc1c2a3 v7.8 — share strings 2.0: big-base packing cuts them to ~28% of the script (was ~51%)
The user asked for more compression 'by any means possible', suggesting
base-62 numbers and dictionary phrases. Both ideas shipped — cranked up:

- Dictionary grew ~170 data-mined entries: every function WITH its open
  paren (sin(, if(, megabuf(, …), every engine variable (vol_att, time,
  bpm, sv, …), AVS idioms ("hue = hue + dt * ", "t = t + dt * ", " * 0.",
  ") * ", "(0."), header lines ("linewidth: ", "blend: additive",
  "mode: lines"), blank-line+section skeletons ("\n\n[point]\n"), CRLF
  statement ends, ~70 number literals, and the library's common variable
  names (ring, spokes, chroma, segs, …) — all mined by frequency over the
  101-preset embedded corpus with a greedy-cover scorer.
- New scheme ▼ 'big-base packing': the dictionary output is read as ONE
  BIG NUMBER over its own alphabet and rewritten in base 32,164 — one
  digit per character from CJK Unified + Hangul. ~15 bits/char vs
  base-62's 5.95 ("1400" costs ~0.85 chars). The body's alphabet rides
  in a ~32-char bitmap header (dict-symbol bitmap + ASCII bitmap + raw
  non-ASCII tail) instead of ~80 literal symbols.
- Pair-packing kept as the fallback for short scripts (encoder picks
  whichever body is shorter); ▲ strings from v7.7 still decode via the
  kept legacy tables; still lossless for ANY text (verified: 101-preset
  corpus + 21 edge cases incl. CRLF, Hangul/CJK literals, lone
  surrogates, platform-injected zero-widths), still copy-safe, still
  self-checking (8 FNV check digits).
- Base packing gated at 16K symbols (O(n²) BigInt); encode 1.1 ms on the
  largest preset. Decode input capped at 40K chars.

Corpus measure: 64854 → 18026 chars = 72.2% reduction (v7.7: 49.1%);
median share string 26.9% of source, best 21.9%. Bass Bloom: 1341 → 326.
Browser-verified: encode→copy→paste→decode→load round-trip through the
dialogs for both ▼ and legacy ▲ strings, What's New 7.8 entry, mobile +
desktop layout, sticky footer.
2026-10-29 10:49:56 +00:00
Z User
80782609b2 133604ae-01f0-4bd7-96a5-69156cef7530 2026-10-29 10:04:00 +00:00
Z User
78bf025686 fcea9515-7ac3-402f-9159-635593e53a1f 2026-10-29 09:26:27 +00:00
Z User
9e90f7ff8a 06aca6bb-9fee-4fa9-bcc4-7ce527f71121 2026-10-29 08:43:20 +00:00
Z User
04233da343 5b6b4fb9-90e5-4481-8fcf-ba664d43edb4 2026-10-29 08:32:21 +00:00
Z User
5be05e345e 35a1a517-8c44-4c6c-81f5-41b0ac639b76 2026-10-29 07:19:50 +00:00
Z User
df5e6e3374 v6.4 — beat detection suspends with no music (no ghost beats) + royal purple dark theme with light-yellow highlights 2026-10-28 07:45:43 +00:00
Z User
0e4d37e269 v6.3 — light/dark theme tick switch in the header 2026-10-27 08:22:36 +00:00
Z User
87b5a7fe34 v6.2 — read-only embedded library + per-visitor browser presets (anti-spam/anti-vandalism hardening) 2026-10-27 07:44:06 +00:00
Z User
682214e467 8646bd4f-9dab-4f7f-a601-e6b446606285 2026-10-27 06:38:24 +00:00
Z User
f3fd5100d0 v6.1 — every embedded preset is now a unique visual: 16-family seeded stand-in generator, approx badges, version-gated library re-seed 2026-10-27 06:10:58 +00:00
Z User
c5180a9837 57a82b3f-4efa-4b65-9f9e-31375f916dbd 2026-10-27 03:42:05 +00:00
Z User
1538e83222 v6.0 — rename to Open Visualization Engine (AVA→OVE) + footer version stamp 2026-10-26 21:19:50 +00:00
Z User
df39d16b61 Restore folder-tree Presets page (Tasks 9-11) from user's Google Drive archive — tree UI, folders/export/import APIs, 95 embedded presets, randomize, Save/Save As 2026-10-26 21:01:39 +00:00
Z User
eb2b054619 3481f7aa-bd47-4daa-a6ff-faddb894e342 2026-10-26 20:50:45 +00:00
Z User
4caaa3e9ce 51e07079-f9be-4ead-b2fd-3fd53f7b3f35 2026-10-26 20:45:47 +00:00
Z User
a4b768be47 6a4d60d8-e614-4eb3-8fe3-b5de902153be 2026-10-22 15:49:16 +00:00
Z User
e8cab6a2be a039b0db-81ec-4ef2-82bd-9e2ad958af8c 2026-10-22 03:29:51 +00:00
Z User
28aebdf552 72185aef-7931-4dd9-a377-318054098118 2026-10-21 14:13:58 +00:00
Z User
d77000472f Initial commit 2026-10-21 12:58:51 +00:00