mirror of
https://github.com/DeeJanuz/frametop.git
synced 2026-10-18 06:00:39 +02:00
User, 2026-10-10: Vision Pro-style resize from all four corners. Only the bottom right worked by laser (the .resize handle), and a resize kept the screen centred. - One resize handle per panel still (SteamVR's 128 overlays are tight: a third remote display once didn't fit), but it moves to the corner being aimed at (vr.cpp UpdateCorner): a laser's ray (a controller's, or the pointer helper's device, which the gaze and the hand ray drive) landing within a fifth of the screen's height (5-20 cm) of a corner, or a hand's pinch at one (handinput's corners()). Its texture turns for that corner, it brightens the closer the aim (from the controls' idle 0.55 to 1), and it's lit blue while resizing. With no aim it lingers 0.4 s, then goes back to the bottom right. - Any corner resizes and the opposite one stays put: screens and remote displays keep their aspect (the corner follows the diagonal, ResizeFromCorner, on the cylinder for curved ones: SurfacePose), floating windows take the pixels from that corner (ft-floatd's new size is placed keeping the opposite corner, keepX/keepY; every corner of a window resizes now, the title bar's ends included). - Near hands: a pinch at any corner resizes the same way (the carry now gives the pose as well as the width). - Gaze pinches (gazehand.h): with the pointer on a screen's resize handle or grab bar, the pinch is a press after 0.12 s still (POINTER_GAZE_CONTROL_HOLD), not 0.5: nothing to click there, and the hand drags the resize. The chrome overlays are announced to the helper as they're made, so its ray and the gaze find a new remote display's handle at once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>