# Balatro-Feel Card hover / select / drag / play, pure tween expressiveness. ```{raw} html ▶ Run in browser

Upstream: https://github.com/mixandjam/balatro-feel

``` **Tags:** `port` `tier-1` # Balatro-Feel: SimVX port Recreates the [mixandjam Balatro-feel](https://github.com/mixandjam/balatro-feel) Unity demo in pure SimVX. A hand of seven cards with hover scale, follow-rotation, drag-to-reorder, selection lift, and a Space-key "play hand" punch sequence. ## Run From the SimVX repo root: ```bash # Interactive uv run python ported_games/balatro_feel/simvx_port/main.py # Headless capture (frames 30, 60, 119 → screenshots/frame_*.png) uv run python ported_games/balatro_feel/simvx_port/main.py --test # Scripted-input harness (six staged screenshots demonstrating hover/select/drag/play) uv run python ported_games/balatro_feel/simvx_port/harness.py # Web export uv run simvx export web ported_games/balatro_feel/simvx_port/main.py \ -o ported_games/balatro_feel/simvx_port/web/index.html ``` ## Controls | Input | Action | |---|---| | Hover | Lift, scale-up, parallax tilt toward cursor | | Click | Toggle selection (selected cards rest higher) | | Drag | Card follows cursor; crosses swap slots in the hand | | Right-click | Deselect all | | Space | Punch-pulse the selected cards in left-to-right order, then deselect | | Delete | Remove the hovered card | ## Layout ``` simvx_port/ ├── main.py # entry + InputMap + root scene ├── harness.py # scripted input + screenshot capture ├── pyproject.toml # [tool.simvx] root = "BalatroFeelRoot" ├── nodes/ │ ├── card_textures.py # procedural card faces, suit pips, drop shadow │ ├── card.py # Card (input root) + CardVisual (spring-follow visual) │ └── hand_holder.py # hand layout, slot swap, input dispatch ├── screenshots/ # idle + harness captures └── web/ # exported HTML bundle ``` See `../NOTES.md` for design decisions, deviations from upstream, and engine friction. ## License MIT (matches upstream). ## Source ```{literalinclude} ../../examples/ports/balatro_feel/main.py :language: python :linenos: ```