This website requires JavaScript.
68fdacc12d
docs(handoff): trim to the 40-line cap
gramps
2026-11-01 07:33:00 -08:00
724f940f5e
docs(handoff): 40 lines
gramps
2026-11-01 07:32:44 -08:00
832955bbb8
docs(handoff): fit the 40-line cap
gramps
2026-11-01 07:32:30 -08:00
7dab7ded36
docs(handoff): HANDOFF under the 40-line cap for the surge plan
gramps
2026-11-01 07:32:13 -08:00
b2e8b26b6e
docs(tasks): the surge week, coding only — five days sized at 3-5 units each
gramps
2026-11-01 07:31:52 -08:00
f189c5e328
build(steam): the SDK zip IS the only download — ContentBuilder included, links recorded
gramps
2026-11-01 07:26:51 -08:00
1fe84be64a
build(steam): stage steam_api64.dll beside the exe — one file, not the whole SDK
gramps
2026-11-01 07:23:29 -08:00
27fc6fb507
feat(profile): the free budget is pixels and fps, enforced once — with a dev-only release hatch
gramps
2026-11-01 07:11:49 -08:00
abfab25685
build: the exe is LlamaCasty.exe, and the publish script proves the artifact
gramps
2026-11-01 07:01:50 -08:00
8f79b20a18
docs(distribution): Steam is the only channel — the zip, winget and the Store are dead
gramps
2026-10-31 11:05:53 -07:00
57ef9e7a5e
docs(commercial): the claim page was never needed, signing waits for revenue, and support is a filter
gramps
2026-10-31 10:08:05 -07:00
0b41b7db67
docs(mistakes): the www → apex recipe — CNAME, the silently self-signed cert, and the heredoc that ate $request_uri
gramps
2026-10-31 09:05:16 -07:00
7827d239e2
docs(commercial): one source of truth for the money — prices, entitlement, channels
gramps
2026-10-31 08:32:25 -07:00
90d5140906
docs(mistakes): the llamacasty.com deploy recipe, recorded
gramps
2026-10-30 16:49:33 -07:00
c72b61b61e
docs(decisions): the site publishes the model, not the terms
gramps
2026-10-30 16:16:31 -07:00
54de9c3dfb
docs(decisions): Store route re-opened via an Individual developer account
gramps
2026-10-30 16:15:28 -07:00
0498f7e130
legal: proprietary EULA + privacy policy; GPL terms retired
gramps
2026-10-30 16:10:38 -07:00
7829610cad
docs(mistakes): record the record-struct zero-init trap
gramps
2026-10-30 15:24:33 -07:00
c03acd0aa0
fix(scoreboard): the defaults were never applied — a record struct zero-initialises
gramps
2026-10-30 15:24:14 -07:00
28525c90aa
feat(scoreboard): scroll speed is a property (20-400 px/s, persisted)
gramps
2026-10-30 15:19:28 -07:00
460b36204d
feat(scoreboard): it ticks — the marquee is the design, not an option
gramps
2026-10-30 15:17:55 -07:00
882b8551d9
fix(scoreboard): the strip and the social bar now really share the frame
gramps
2026-10-30 15:11:35 -07:00
e27e79962c
fix(scoreboard): box follows the rendered strip, opacity proven, plate always settable, dev override
gramps
2026-10-30 15:09:19 -07:00
8caee21b9a
fix(scoreboard): the strip finally reaches the preview, and dev labels are orange
gramps
2026-10-30 15:05:33 -07:00
9405c54750
feat(scoreboard): dev mode can configure the board without signing in
gramps
2026-10-30 15:01:32 -07:00
e6abc13461
feat(scoreboard): a DEBUG-only "Simulate" switch, so the strip is provable in the preview
gramps
2026-10-30 14:58:56 -07:00
ea1017776d
feat(scoreboard): the properties are inert until the creator is signed in
gramps
2026-10-30 14:54:52 -07:00
38c2ad6555
feat(scoreboard): a master on/off switch that also stops the polling
gramps
2026-10-30 14:53:58 -07:00
85a4a8a7d3
feat(scoreboard): the layer is available to ALL scenes (YT_ACTIVITY_TICKER)
gramps
2026-10-30 14:50:20 -07:00
96d528b3ac
fix(scoreboard): clear the two nullable warnings
gramps
2026-10-30 14:44:56 -07:00
d4a4b1c80e
docs(handoff): scoreboard units 1-10 landed; providers + goal inputs remain
gramps
2026-10-30 14:43:20 -07:00
b205ce9ba9
feat(scoreboard): unit 10 — the polling policy (quiet by default)
gramps
2026-10-30 14:43:08 -07:00
9a6099af7c
feat(scoreboard): unit 9 — the Analytics scope, requested incrementally
gramps
2026-10-30 14:42:40 -07:00
7048bd8bff
fix(scoreboard): the chat feed actually reaches the tallies
gramps
2026-10-30 14:41:47 -07:00
534f56a7c4
feat(scoreboard): units 7+8 — the layer's properties panel (facts, colours, plate, size)
gramps
2026-10-30 14:41:31 -07:00
deb74529a6
feat(scoreboard): unit 6 — it is a LAYER (source type, strip geometry, resolver, session hook)
gramps
2026-10-30 14:40:31 -07:00
41b0cd6e98
feat(scoreboard): unit 5 — tile selection and the cached strip presenter
gramps
2026-10-30 14:38:59 -07:00
fbcccea0f7
feat(scoreboard): unit 4 — the strip renderer (plate, text colour, fit, wrap)
gramps
2026-10-30 14:37:34 -07:00
359e58a4c2
feat(scoreboard): unit 3 — edge coupling and line fitting, both pure
gramps
2026-10-30 14:36:56 -07:00
6b6ccd7b0a
feat(scoreboard): unit 2 — session lifecycle (start clears, End freezes)
gramps
2026-10-30 14:36:13 -07:00
3ed8386303
feat(scoreboard): unit 1 — session tallies, with the gift double-count guard
gramps
2026-10-30 14:35:42 -07:00
e92ce4bb63
fix(dock): the master ladder moves when no session is running
gramps
2026-10-30 14:01:29 -07:00
ec293e54b0
feat(dock): TRAX becomes a background level, not a channel strip
gramps
2026-10-30 13:46:05 -07:00
93dc6592ac
docs(dock): the desktop ladder says it includes TRAX
gramps
2026-10-30 13:34:27 -07:00
8d23502220
fix(trax): the fader now actually changes the level — and the meter follows it
gramps
2026-10-30 13:32:24 -07:00
2607ecf210
fix(dock): TRAX ladder gets the mic's ballistics (and a 33 Hz beat)
gramps
2026-10-30 13:28:32 -07:00
839bc991a2
fix(dock): meters beat on their own 20 Hz clock, and TRAX silence is diagnosed
gramps
2026-10-30 13:24:29 -07:00
a54149bd7c
feat(dock): TRAX gets its own ladder — measured at the player's output
gramps
2026-10-30 13:22:13 -07:00
8aa483f933
docs(handoff): audio dock shipped, awaiting an eyes-and-hands pass
gramps
2026-10-30 13:20:19 -07:00
16689c0a80
feat(dock): the dock is now the only audio surface (unit 10, final)
gramps
2026-10-30 13:19:58 -07:00
5889d71db6
feat(dock): master strip + MONO output (the accessibility switch)
gramps
2026-10-30 13:18:23 -07:00
a6f63f56f3
feat(dock): the LIP-SYNC bay — offset, readout, zero detent
gramps
2026-10-30 13:16:19 -07:00
7339df5fcd
feat(dock): the TRAX bay — track, play/pause, level, duck badge
gramps
2026-10-30 13:14:53 -07:00
a1d8e761ea
feat(dock): the GAME bay — dB fader, measured ladder, mute, real duck badge
gramps
2026-10-30 13:12:10 -07:00
3524ede480
feat(dock): the MIC bay — dB fader, measured ladder, mute, picker
gramps
2026-10-30 12:46:57 -07:00
7d8021ca09
fix(dock): master strip on top, against the preview
gramps
2026-10-30 12:45:12 -07:00
5552bf97a1
fix(dock): inside the work area, bottom edge aligned with the layers panel
gramps
2026-10-30 12:42:49 -07:00
a7d1afc70b
fix(dock): spans the preview column and loses 20px
gramps
2026-10-30 12:39:36 -07:00
1a9e8b8d36
feat(audio dock): the shell — 168px, auto-collapsing, replacing the empty bottom bar
gramps
2026-10-30 12:37:17 -07:00
0f62e55474
feat(audio): the segment meter control (unit 3 of the dock)
gramps
2026-10-30 12:36:05 -07:00
575caa7bc4
feat(audio): the meter knows which side a signal is on (unit 2 of the dock)
gramps
2026-10-30 12:33:40 -07:00
afe21682c2
feat(audio): the dock's dB scale, and the mono fold primitive
gramps
2026-10-30 12:32:07 -07:00
17249229c8
feat(top bar): EDIT moves beside the gear; the gear wears the app's orange
gramps
2026-10-30 11:18:36 -07:00
0f8647790d
fix(top bar): a signed-out ON-AIR press starts sign-in instead of disabling the button
gramps
2026-10-30 11:17:11 -07:00
fbeb04385b
feat(top bar): EDIT decides live vs test on the primary button — the TEST button is gone
gramps
2026-10-30 11:14:33 -07:00
9b08c3af4f
fix(ui): no space inside the wordmark — adjacent Runs again
gramps
2026-10-30 11:09:16 -07:00
318871033f
feat(ui): the capture context menu is always available (Ctrl+right-click); wordmark "ty" is YouTube red
gramps
2026-10-30 11:07:51 -07:00
cb4f8ec758
fix(ui): REC / ON-AIR labels are white in every state
gramps
2026-10-30 10:46:51 -07:00
feef763035
fix(ui): EDIT label is white in both states
gramps
2026-10-30 10:45:24 -07:00
d25dbf58dc
design: white ink on any accent fill (on-accent token)
gramps
2026-10-30 10:34:19 -07:00
568586c541
fix(xaml): the app refused to launch — RecordPillToggle was defined before SegmentToggle
gramps
2026-10-30 10:29:22 -07:00
4841c27514
feat(ui): the creator's six corrections
gramps
2026-10-30 10:27:11 -07:00
df0118ac52
docs(handoff): design conversion complete; spacing is a layout pass
gramps
2026-10-30 10:02:32 -07:00
e89cc3682a
test(socials): a real preview test — and the Cancel bug it immediately found
gramps
2026-10-30 10:02:06 -07:00
0822552830
design: the theme's 4px corners come from the radius token
gramps
2026-10-30 09:59:12 -07:00
ec01a7deb8
design: the last VM-side colours come from tokens (ThemeBrush)
gramps
2026-10-30 09:58:52 -07:00
7adff685c0
design: the on-stream graphics join the standard (OutputPalette)
gramps
2026-10-30 09:30:56 -07:00
c4642f1e99
design: every window inherits Inter (implicit Window style)
gramps
2026-10-30 09:18:50 -07:00
51d9dd09c7
fix(socials): the bar disappeared from the preview when the plate was off
gramps
2026-10-30 09:06:53 -07:00
c1212644b0
fix(socials): live preview of the bar appearance + the crash on dragging a slider
gramps
2026-10-30 08:57:09 -07:00
c82636e1a9
feat(socials): bar appearance — text colour, background plate, opacity, text shadow
gramps
2026-10-30 08:47:50 -07:00
9528128ca7
feat(settings): brand-logo thumbnail with a hover enlargement
gramps
2026-10-30 08:39:42 -07:00
7a49b38cae
docs(handoff): every XAML surface tokenised; VM state colours are the last unit
gramps
2026-10-30 08:30:45 -07:00
c885bbd782
design: the code-set state colours now agree with the standard
gramps
2026-10-30 08:30:33 -07:00
8502c1d194
design: app settings + dialogs to tokens (surface 5 of the sweep)
gramps
2026-10-30 08:29:28 -07:00
8415bb5f37
design: preview pane to tokens (surface 4), and one palette list instead of two
gramps
2026-10-30 08:28:21 -07:00
66b85d3fcc
docs(handoff): preview pane next, with the colour-picker trap recorded
gramps
2026-10-30 08:03:28 -07:00
3edb0d10be
design: three tokens the sweep needed — positive, scrim-dark, scrim-dark-strong
gramps
2026-10-30 08:03:18 -07:00
2dbc35b285
design: left panel to tokens (surface 3 of the sweep) — 101 colours gone
gramps
2026-10-30 08:00:43 -07:00
8a2cb92d8c
docs(handoff): shell converted, left panel is next
gramps
2026-10-30 07:56:13 -07:00
0275e30103
design: shell to tokens — top bar, window, scene strip (surface 2 of the sweep)
gramps
2026-10-30 07:56:02 -07:00
ffdf3b6fc9
design: wire the sans family into the window; fonts ship as explicit Resource items
gramps
2026-10-30 07:53:37 -07:00
1defb71568
docs(handoff): design standard landed, token sweep in flight
gramps
2026-10-30 07:47:14 -07:00
4ef84f2a97
design: convert Themes/Controls.xaml to tokens (surface 1 of the sweep)
gramps
2026-10-30 07:47:00 -07:00
84c335a929
design: bundle Inter + JetBrains Mono (OFL-1.1) as the standard typefaces
gramps
2026-10-30 07:45:19 -07:00
f2bf577f34
design: Themes/Tokens.xaml — one place a raw value may live, guarded by DESIGN.md
gramps
2026-10-30 07:43:17 -07:00
565b8dbd6f
docs(design): DESIGN.md becomes the visual standard (tokens merged, controls rejected)
gramps
2026-10-30 07:41:43 -07:00
5a102a4a37
docs: decisions log, queue trim, HANDOFF rewrite — the map stops being a treadmill
gramps
2026-10-29 11:10:51 -07:00
c9ac348976
docs(ai): ai.md becomes a router; invariants move to AGENTS.md; budgets gated
gramps
2026-10-29 11:08:07 -07:00
a311c8feb1
docs(ai): partition ai.md into five subsystem files (verbatim moves)
gramps
2026-10-29 11:05:53 -07:00