Repository navigation
Feat/window aware mascot - #42
Merged
Merged
Conversation
…seline The two art sets disagreed. Emotion and action frames drew Doraemon up to 20% smaller than the Shimeji frames and 6-7 px above the floor, so every reaction shrank and lifted him. Ceiling frames were 128x184 and got squashed into 128x128, eleven animations were one repeated frame, and many sets were pixel copies of each other. scripts/sprites/build-sprites.mjs regenerates all 218 frames the app uses from the pristine 1x sources now kept in art/dora-sprites: - 256x256 RGBA masters shown at 128 CSS px (Lanczos, light unsharp) - one Doraemon scale across both sets, measured per set against the Shimeji frame it was traced from - grounded groups share one shift that puts the feet on row 255 - ceiling frames cropped to their content instead of squashed - a dark outline on the generated frames to match the Shimeji line work - breathing, chewing or bobbing for the eleven static sets - small procedural manga symbols on 27 sets so look-alikes differ - the unused Anywhere Door frames (shime38-50) normalized for reuse Filenames and frame counts are unchanged. The folder grows from 8.9 MB to 13 MB because the masters have four times the pixels.
The engine's world was one rectangle per display. It now also knows every on-screen app window, front to back, and turns the visible stretch of each top edge into a ledge: - falling onto a ledge lands him on it; at the end of one he turns back or steps off - he rides the window he stands on, and falls when it closes, minimises or gets covered - walking into a window's side can start a climb that ends on its top - some behaviour choices become trips to another window: a jump to low, close ledges, otherwise the Take-copter or the new Anywhere Door animation - a held reaction no longer freezes him mid-air; it waits for the landing Window lists come from the Rust companion, which gains a window probe: CGWindowListCopyWindowInfo on macOS (bounds only, so no Screen Recording permission), EnumWindows with DWM frame bounds on Windows, and EWMH properties on X11. It polls every 150 ms, every 40 ms while windows move, and only reports changes. - Kiro desktop mode: Rust pushes snapshots into the companion webview. - Desktop app: main spawns the binary with --window-probe, maps its native space to Electron DIPs and forwards snapshots over IPC. electron-builder bundles it from kiro-extension/bin, and the dist scripts build it first. - The renderer now subtracts the overlay origin when drawing, so the sprite sits where the engine thinks he is even when the overlay does not start at 0,0 (macOS places it below the menu bar). Verified on macOS: in both hosts he landed on a test window and stood on its top edge to the pixel. The Windows and X11 probes only compile so far.
…nstall - top of the GitHub README: Open VSX badges and a three-click install - new sections on window walking and the rebuilt sprites in both READMEs - size figures updated for the 826 KB companion and the 13 MB download - known limits for the untested Windows and X11 window probes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.