Commit Graph
5 Commits
Author SHA1 Message Date
me0nline 8aeb5360f6 feat(controller): add refresh_display_bounds and dynamic resolution and monitor change detection 2026-09-08 23:47:22 +02:00
me0nline dc2d6ee9eb feat(controller): add jump state, window platform walking, and multi-monitor physics navigation 2026-09-08 23:44:43 +02:00
me0nline 3b202c8e68 fix(controller): update particle positioning and compositing for padded canvas 2026-09-08 23:33:16 +02:00
me0nline 4e57a9c596 fix(cat_controller): use virtual desktop bounds for drag, work area for walk
Split screen boundary usage into two sources:

1. walk / roam / run-to-target (unchanged):
   - self.screen_* = WindowManager.get_work_area() (primary monitor, taskbar-aware)
   - Cat autonomously roams the primary desktop floor only

2. drag clamping (new):
   - self.vd_* = WindowManager.get_virtual_desktop_bounds() (all monitors)
   - on_mouse_move() clamps to vd_left/right/top/bottom instead of
     screen_left/right/top/bottom
   - User can now pick up the cat and drag it to any connected monitor

Previously on_mouse_move() clamped to the primary work area rectangle
(0, 0, 1920, 1032), so moving the cursor past x=1776 would immediately
snap the cat back, making the second monitor unreachable.
2026-09-08 23:17:18 +02:00
me0nline dedae31a66 feat(controller): add cat AI state machine, kinematics, and paw targeting logic 2026-09-08 23:06:14 +02:00