Skip to content

Unify BoxedWine card game resize behavior - #133

Merged
astrovm merged 1 commit into
mainfrom
agent/unify-boxedwine-card-resize
Aug 13, 2026
Merged

Unify BoxedWine card game resize behavior#133
astrovm merged 1 commit into
mainfrom
agent/unify-boxedwine-card-resize

Conversation

@astrovm

@astrovm astrovm commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Root cause

PR #132 enabled the same shell controls for all three games, but FreeCell and Spider Solitaire still used separate native resize hosts. Those hosts depended on exact window titles and game-specific hard-coded calibration values, so their Win32 windows did not follow maximize changes through the same path as Solitaire.

Fix

  • define Solitaire, FreeCell, and Spider Solitaire through one shared BoxedWine card-game factory
  • send both the current framebuffer size and native base size through one resize bridge
  • use one generic native resize host for all three packages
  • locate the child Win32 window by process ID instead of its title
  • calibrate window bounds from the base dimensions supplied by the shared bridge
  • package the exact same resize-host binary in all three games
  • remove the two duplicated native resize implementations

Validation

  • verified all three packages contain resize host SHA-256 adf6e0075ed512a40eaa06ec9f0389f1777e0b885153a4fc1b9eedf070426f5c
  • bun run quality
  • bun run typecheck
  • bun test — 121 tests, 2,218 assertions
  • bun run validate:javascript
  • bun run validate:icons

@astrovm
astrovm merged commit f201f2e into main Aug 13, 2026
4 checks passed
@astrovm
astrovm deleted the agent/unify-boxedwine-card-resize branch August 13, 2026 05:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant