mirror of
https://github.com/storytold/photocraft.git
synced 2026-11-11 04:40:31 +00:00
ui.pointer, ui.click/ui.move, ui.key and ui.screenshot read every value with as_f64/as_bool/as_str and fell back to a default on any other type, and an unknown button or event kind fell through to a left click or a move. A typo such as "button":"ritgh" ran a different action and still replied ok. Each method now validates its whole request before acting, like ui.set: unknown fields (top-level, under modifiers, or in an event), wrong JSON types, unknown button/kind/tool values (the error lists the accepted ones) and out-of-range pressure, tilt and rotation return an error that names the parameter, and nothing is queued or applied. Null fields still mean omitted, and valid calls behave as before. Co-authored-by: Fabio Lussi <198260595+itrycodinganditsbad@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>