Add 'What did the model receive?', fix the how-it-was-made link, update README
Magnus Persson
31066d6
Stop timers from rebuilding the webcam and tabs
Magnus Persson
aeb4e68
Add the Photo studio tab: webcam or upload, five restyling looks, admin switch, consent and input checks
Magnus Persson
c566758
Examples popup: category pills instead of tabs, picture above its text
Magnus Persson
aad2488
Show a busy state on the text box while Help me and Give me an idea work
Magnus Persson
bb7c12d
18 days ago
Restyle the login page like the app, with a bilingual message
Magnus Persson
34137dd
Lighter design: smaller text, pill buttons, card panels, system fonts
Magnus Persson
0ced688
UX pass: Create under the text box, hidden edit panel, compact header buttons, Enter to create, confirm New visitor
Magnus Persson
91b3135
Add a before/after switch for the last edit
Magnus Persson
e0858f7
Two-column Create layout with fixed slots, clearer labels, and a How it works pipeline tab
Magnus Persson
4fc023c
Tap the result image to zoom it
Magnus Persson
c86874d
Show a working overlay over the result while Create or an edit chip runs
Magnus Persson
298d8ce
Add one-tap edit chips with FLUX.2-klein-4B, shared paid-call accounting and a stale-result guard
Magnus Persson
3b7d0f4
Chips (config/app.yaml edit_chips) send the visitor's current image and a static or LLM-picked instruction to the edit model; the LLM instruction is moderated and policy-checked, the output image is checked before display, and previous images go to history. Create and edit share services/spend.paid_call. A result arriving after New visitor is dropped (session epoch), for Create too. edit_instruction no longer asks for the unused new_prompt. Real-keys check covers two live edits. Library images and lock are left out: a forced rebuild is waiting for review. 415 tests.
19 days ago
Add Help me and Surprise me with Undo, and the real-keys flow check
Magnus Persson
09aba58
HelperService rewrites an idea (Help me) or invents one from a library theme (Surprise me). Every reply passes moderation and the workshop policy check before it is shown; a failed Surprise falls back to a curated library prompt. Limits: 2 s per device, 60 a minute overall, 8 at once, pause switch. Undo restores the previous text until the visitor types, picks an idea or uses an alternative. check_generated_text now runs the policy check and does not generate an alternative for LLM text.
scripts/check_real_flow.py drives startup validation, Create, a cached example, refusals, Help me and Surprise me with real keys and scans the logs for leaks. README gets the provider privacy note. Whole-flow safety review done; operational gate items are in todo.md. 381 tests.
Add the ideas popup with cached example images; drop the format picker
Magnus Persson
0016651
Ideas popup: 7 themed groups of example prompts in Swedish and English (config/prompt_library.yaml), including a like-real-photos group. Tapping a prompt fills the text box. An unchanged library prompt with no style returns its cached image at once, with no moderation call, provider call or cost, and a note that it is an example. Cached images live in assets/library and are tied to their texts by config/prompt_library.lock.json; a mismatch hides the prompt. scripts/build_library.py makes the images through the normal safety checks (every language of each prompt, and the image) and refreshes the lock.
Create is now always square: the Kvadrat/Liggande/Stående picker and its locale keys are removed (spec 3.3 updated); adapters still accept an aspect.
344 tests pass.
SafetyService runs moderation and the workshop policy in parallel on the final prompt and fails closed. Policy replies are validated; character mode and offer_safe_rewrite have the last word; serious categories never get an alternative; alternatives are cleaned and moderated before display. Fixed internal moderation code set. Rewrite card in the Create tab. 40 SV/EN safety cases replayed with table-driven fakes, plus a script for the real services. 170 tests.
20 days ago
Phase 0 and 1: project setup, config, fakes, Create tab