37c06db6be
fix(expressions): use full expression names with .exp3.json suffix
hobokenchicken2026-06-05 14:19:59 -04:00
73fe77f9aa
fix(pets): dynamically position cat at PetZone DOM element
hobokenchicken2026-06-05 13:51:50 -04:00
04ad706de6
fix(layout): pin PetZone to bottom of right sidebar, separate from scrollable content
hobokenchicken2026-06-05 13:48:53 -04:00
7f11ff83f0
fix(cat): position cat at bottom-right above status bar, not overlapping wardrobe
hobokenchicken2026-06-05 13:47:15 -04:00
f76ae3faec
fix(cat): use getLocalBounds for accurate scale calculation
hobokenchicken2026-06-05 13:45:32 -04:00
9d2ba052f4
fix(live2d): precise cat positioning and sizing
hobokenchicken2026-06-05 13:42:21 -04:00
5f5127f4fa
refactor(live2d): single shared stage for both Kira and Mochi
hobokenchicken2026-06-05 13:34:51 -04:00
43a392e5f5
fix(pets): use preferWebGLVersion:1 for cat canvas to avoid context conflicts
hobokenchicken2026-06-05 13:25:10 -04:00
1f8bcf6b4f
fix(pets): cat renders on shared KiraAvatar canvas via onAppReady callback
hobokenchicken2026-06-05 13:19:32 -04:00
37f8bf59a0
fix(webgl): use forceCanvas for Live2DCat to avoid dual WebGL context conflicts
hobokenchicken2026-06-05 13:08:18 -04:00
be1e51cc9a
fix(webgl): share single Pixi context between KiraAvatar and Live2DCat
hobokenchicken2026-06-05 13:04:43 -04:00
017c81cffa
feat(pets): replace static cats with Live2D LittleCat model (black texture)
hobokenchicken2026-06-05 12:55:24 -04:00
15199dfdee
feat(layout): move avatar to center hero position; timer+notes+chat to left sidebar
hobokenchicken2026-06-05 12:44:17 -04:00
95f97fa897
fix(avatar): declarative canvas element in JSX; remove manual DOM append
hobokenchicken2026-06-05 10:10:03 -04:00
e00dc37e68
fix(avatar): use Pixi resizeTo for native canvas sizing; remove all manual CSS/ResizeObserver
hobokenchicken2026-06-05 09:57:54 -04:00
3a6a1cd6c3
fix(avatar): reduce model margin to 45% to prevent clipping in narrow sidebar
hobokenchicken2026-06-05 09:51:39 -04:00
13dbcdb7f5
fix(avatar): re-apply CSS 100% after Pixi resize(); use fitModel helper; 65% margin
hobokenchicken2026-06-05 09:47:51 -04:00
f2ff91730b
fix(avatar): use ResizeObserver for accurate container sizing; force canvas CSS 100%; reduce margin to 68%
hobokenchicken2026-06-05 09:43:12 -04:00
dc2cb3bbb3
fix(avatar): reduce model scale to 72% (from 85%) and tighten anchor to prevent right-side clipping in narrow sidebar
hobokenchicken2026-06-05 09:36:37 -04:00
f5930d6190
fix(avatar): center Live2D model in card, overlay controls on canvas; scale model to 85% of container; remove card padding; clean template literals to avoid TS parsing issues
hobokenchicken2026-06-05 09:16:16 -04:00
baaa89756f
feat(ui): center avatar as hero, ~1/3 viewport height; tools grid below
hobokenchicken2026-06-05 09:03:32 -04:00
92250a668b
fix: restore full WebSocket message loop in main.py (was truncated to 77 lines, missing the entire try/except message handler)
hobokenchicken2026-06-05 02:10:41 -04:00
86b1e9aa04
audit-followup: re-verify all builds/deploys clean; update AUDIT.md with full completion of the 9-item plan
hobokenchicken2026-06-04 16:06:28 -04:00
4641d74536
fix(welcome): make WelcomeScreen support isCompact prop to prevent full-screen CSS clash when rendering inside saved-ID wrapper card in App.tsx
hobokenchicken2026-06-04 16:04:14 -04:00
1bfc8333e9
clean: archive legacy stt/tts/llm services; update ARCHITECTURE.md + README.md to current stack (REST gpt-4o-transcribe, nano, sage, Honcho, incremental TTS, white noise)
hobokenchicken2026-06-04 15:54:12 -04:00
59b72aa184
feat(white-noise): add Web Audio generated white/pink/brown/rain/cafe noise player
hobokenchicken2026-06-04 15:49:18 -04:00
3f1497174d
feat(ui): integrate Notes component into main grid (was dead import)
hobokenchicken2026-06-04 15:38:52 -04:00
771c00830a
feat(ui): display livePartial / transcript_delta in ChatBubble as 'Hearing:' indicator
hobokenchicken2026-06-04 15:34:37 -04:00
77cbd91b93
fix(tts): play Opus chunks immediately as they arrive instead of buffering until speaking_end
hobokenchicken2026-06-04 15:28:40 -04:00
0e74a16b40
fix(stt): revert to reliable REST gpt-4o-transcribe + MediaRecorder full-blob (Realtime WS not accessible on key)
hobokenchicken2026-06-04 15:23:57 -04:00
188da1d52a
fix(stt): try gpt-4o-realtime-preview as base session model + gpt-realtime-whisper for input_audio_transcription (per OpenAI error guidance)
hobokenchicken2026-06-04 15:16:08 -04:00
191b7ad9b5
fix(stt): correct Realtime WS model to gpt-realtime-whisper + enhance event handling for deltas/completed
hobokenchicken2026-06-04 15:14:26 -04:00
7502f201c7
feat: Realtime WebSocket STT via gpt-realtime-whisper
hobokenchicken2026-06-04 14:26:19 -04:00