Portraits: set correct Content-Type for cloud images (NIM returns JPEG) acb2593 polats Claude Opus 4.8 (1M context) commited on Jun 5
Portraits step 2: /portrait engine routing + imagen facade + Settings picker 2151ea1 polats Claude Opus 4.8 (1M context) commited on Jun 5
Persona voice: cloud voice-clone, varied voice designs, animated class picker 26cb5c0 polats Claude Opus 4.8 (1M context) commited on Jun 4
Persona: red section headings, icon buttons, edit-aware voice + clone-on-play 72160ec polats Claude Opus 4.8 (1M context) commited on Jun 4
Voice settings: add "Qwen3-TTS local" engine — localhost-only, default on localhost e352ff3 polats Claude Opus 4.8 (1M context) commited on Jun 4
app.py: PORT env (default 7860) so it runs locally next to a service on 7860 0f47058 polats Claude Opus 4.8 (1M context) commited on Jun 4
Qwen3-TTS: use DashScope international endpoint (our key is sk-ws- intl) dff270e polats Claude Opus 4.8 (1M context) commited on Jun 4
Add Qwen3-TTS Voice Design (DashScope) + persona voice descriptions 717332c polats Claude Opus 4.8 (1M context) commited on Jun 4
Put the model picker in Gradio's OWN settings page (not a custom tab) cd43499 polats Claude Opus 4.8 (1M context) commited on Jun 4
Move engine/model settings to a Settings page; share one model across both pages 627d835 polats Claude Opus 4.8 (1M context) commited on Jun 4
Fix stale JS (no-cache on /web) + Transformers.js WebGPU→WASM fallback 559041f polats Claude Opus 4.8 (1M context) commited on Jun 4
Personas + War Diary now run llama.cpp IN THE BROWSER via wllama (local-first) 03708ca polats Claude Opus 4.8 (1M context) commited on Jun 4
Add /persona/selftest to measure pure generation tok/s inside the Space bd4a81a polats commited on Jun 4
Persona: cap n_threads=2 (cpu_count over-reports host cores in a container → llama.cpp thrashing/50x slowdown); smaller ctx; /persona/status diag; lower token cap 2f7e532 polats commited on Jun 4
Persona: load model under its own lock + prewarm in background (cold-start download no longer makes requests 'busy') f85d7c3 polats commited on Jun 4
Persona endpoint: stop generation on client disconnect, fail-fast lock, lower token cap (prevents abandoned-gen lock pile-up) 1df0cfb polats commited on Jun 4
Personas + war-diary via llama.cpp (reusing woid's persona SSE protocol) 67f4321 polats Claude Opus 4.8 (1M context) commited on Jun 4
Space: brand title in Fraunces w/ red dot + 'small minds, big dreams' subtitle; CHARACTERS title small+red; stage fixed-fills full height like main sidebar 0d345ef polats commited on Jun 3
Space: fix Carnival assets (URL-decode), red section headers w/ line, square selections, kill Gradio list bullets/margins, stage fills page 8f28cd7 polats commited on Jun 3
Space: theme-independent parchment (no theme redirect), full 47-char roster, fonts via Gradio vars 74df6c5 polats Claude Opus 4.8 (1M context) commited on Jun 3
Space: force light theme (dark-mode text was white on parchment), remove per-page brand text, picker as sidebar + framed canvas stage b39f807 polats commited on Jun 3
Space: mirror auto-battler styling — parchment theme, fonts, paper sidebar d6b7853 polats Claude Opus 4.8 (1M context) commited on Jun 3
Space: render the FULL Sprite Animations chrome via shared playground 0c573fe polats Claude Opus 4.8 (1M context) commited on Jun 3
Space: close drift — curate full asset set, unified nav IR, sync via build.sh 23ab228 polats Claude Opus 4.8 (1M context) commited on Jun 3
Space: Sprite tab uses the shared spriteScene render core + click/tap-to-move b450bdd polats Claude Opus 4.8 (1M context) commited on Jun 3
Space: drop the Gradio tab bar, navigate solely via sidebar (fixes mobile nav) 500b804 polats Claude Opus 4.8 (1M context) commited on Jun 3
Space: send upgrade-insecure-requests as response header (meta too late for Gradio's early theme.css link) 85a5b0b polats Claude Opus 4.8 (1M context) commited on Jun 3
Space: fix mixed-content fonts (upgrade-insecure-requests + proxy_headers) and self-style collapse/reopen buttons 9b8bd1e polats Claude Opus 4.8 (1M context) commited on Jun 3
Space: link shared sidebar.css unscoped via head (Gradio css_paths scopes selectors) 2a6b00d polats Claude Opus 4.8 (1M context) commited on Jun 3
Space: shared app-shell sidebar (nav.json IR + sidebar.css/js) wired into Gradio f29c07a polats Claude Opus 4.8 (1M context) commited on Jun 3
Serve sprites at /sprites (not /assets — collided with Gradio's UI bundle) c2de8fb polats Claude Opus 4.8 (1M context) commited on Jun 3
Resize Pixi canvases on tab select (tabs start hidden at 0x0) 7411f15 polats Claude Opus 4.8 (1M context) commited on Jun 3
Gradio-native UI: gr.Blocks tabs (Battle | Sprite Animations | Barracks) 2e524a0 polats Claude Opus 4.8 (1M context) commited on Jun 3
Built on Gradio: gr.Server custom frontend (Pixi + barracks via @app .api) 14e9729 polats Claude Opus 4.8 (1M context) commited on Jun 3
Icon: crossed swords ⚔️ instead of soldier hat 3bdc1e5 polats Claude Opus 4.8 (1M context) commited on Jun 3
Gradio app at root with Pixi battlefield embedded via iframe (/battle) dfdc145 polats Claude Opus 4.8 (1M context) commited on Jun 3
Pixi battlefield: real deterministic engine running in-browser 608a401 polats Claude Opus 4.8 (1M context) commited on Jun 3
Rename project branding Echo Wars -> Tiny Army c0ec0a4 polats Claude Opus 4.8 (1M context) commited on Jun 3
Skeleton: FastAPI + mounted Gradio barracks (Docker Space) 787e9bb polats Claude Opus 4.8 (1M context) commited on Jun 3