Twelfth hand-authored Zai-Magic preset: a true scrolling spectrogram as a
pure script -- bgx feedback slide moves the whole framebuffer left (the
time axis), persist 1 keeps the history locked, and a 64-bin vertical
write head at the right edge inks pink -> red -> orange -> yellow -> white
over a deep dark navy field that only leaves by scrolling off the left
edge. The per-frame ink is computed from the live stroke geometry (coats
= 1.12 + 1.604*wpx/segl; ink = 1.1/(coats*ratio)) so overlapping columns
accumulate to full palette strength at any fps, aspect or brush width,
with per-coat adds kept above 8-bit quantization. Half-second erase phase
drains the previous preset's framebuffer, 3s 15x fill sweep paints the
navy field, stage resizes replay the sweep. EMBEDDED_SEED_VERSION
7.14 -> 7.18.1; seed re-synced (107 presets).
Operator-authorized for the strictly private self-hosted Forgejo repo:
the env template (.env.ove), a baseline database snapshot
(db/custom.db.seed) and secrets/ now ride with the repo so sandbox
reprovisions can never wipe them. dev.sh self-heals at the very top
(before bun install): .env is restored from .env.ove whenever it lacks
OVE_DIRECTORY_API_KEY, and db/custom.db from the seed whenever it is
missing — verified end-to-end against a faithful reset simulation
(both [SELF-HEAL] restores fire, 106-preset library serves, directory
proxy authenticated, browser clean).
One evidence-driven deviation from the requested values: DATABASE_URL
is file:../db/custom.db, not file:./db/custom.db — Prisma resolves
relative SQLite paths against prisma/schema.prisma's directory, so the
./ form provably breaks both the CLI (would create a fresh empty db at
prisma/db/custom.db on every boot) and the runtime (cannot open); the
../ form is the portable equivalent and is documented in .env.ove's
header. secrets/ ships with a README documenting the house-cookie file
slots (the actual cookie exports are re-added by the operator).
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.