Skip to content

feat: new spritesheet by Toppy#776

Open
jimhigson wants to merge 1 commit intomainfrom
toppy-spritesheet
Open

feat: new spritesheet by Toppy#776
jimhigson wants to merge 1 commit intomainfrom
toppy-spritesheet

Conversation

@jimhigson
Copy link
Owner

No description provided.

Copilot AI review requested due to automatic review settings March 17, 2026 21:56
@netlify
Copy link

netlify bot commented Mar 17, 2026

Deploy Preview for blockstack ready!

Name Link
🔨 Latest commit 24ba622
🔍 Latest deploy log https://app.netlify.com/projects/blockstack/deploys/69b9ce0e9a11aa0008b72e40
😎 Deploy Preview https://deploy-preview-776--blockstack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces support for a new “Toppy” spritesheet and exposes a new Display Options menu setting to switch sprite sets, while updating related preview/debug pages and credits.

Changes:

  • Add a new displaySettings.sprites user setting with UI to cycle between BlockStack and Toppy.
  • Add Tailwind/CSS variable support for swapping the spritesheet URL via a new .toppy-spritesheet class.
  • Update spritesheet asset usage (Pixi loader + sprites page) and credit Toppy in the README.

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/tailwind/plugins/spritesTailwindPlugin.ts Adds .toppy-spritesheet CSS vars override for the Toppy spritesheet URL.
src/store/slices/gameMenus/gameMenusSlice.ts Adds sprite option types/values and a reducer to cycle the option.
src/store/slices/gameMenus/gameMenusSelectors.ts Adds selectSpritesOption selector for the new setting.
src/store/slices/gameMenus/defaultUserSettings.ts Sets default sprites option to BlockStack.
src/sprites/spritesheet/loadedSpriteSheet.ts Switches Pixi spritesheet import to sprites-by_toppy.png.
src/pages/SpritesheetImage.tsx Removes old standalone spritesheet image component.
src/pages/SpritesPage.tsx Updates spritesheet image import to sprites-by_toppy.png.
src/game/components/dialogs/menuDialog/dialogs/displayOptions/SpritesOptionMenuItem.tsx New menu item to display/cycle sprites option with hint content.
src/game/components/dialogs/menuDialog/dialogs/displayOptions/DisplayOptionsDialog.tsx Integrates the new sprites option item and refactors colourise into its own component.
src/game/components/dialogs/menuDialog/dialogs/displayOptions/ColouriseMenuItem.tsx New component; conditionally shows colourise only for BlockStack.
src/game/components/CssVariables.tsx Applies .toppy-spritesheet based on the selected sprites option.
README.md Updates attribution from “Tippy” to “Toppy”.
.vscode/settings.json Adds spellchecker words for “Blockstack” and “Toppy”.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

const spritesOptionExampleSpritesMarkdown = `![](texture-animated-heels_walking_towardsRight ?float-left&clear-right)![](texture-animated-turtle_towards ?float-left&clear-right)![](texture-crown_blacktooth ?float-left&clear-right)

![](texture-whiteRabbit ?float-left&clear-right&clear-left)![](texture-drum ?float-left&clear-right)![](texture-charles_towards ?float-left&clear-right)`;
const spritesOptionMarkdownBlockstack = `Jim @ *BlockStack*.ing recolouring of the original game sprites
"autowalking",
"backbuffer",
"blacktooth",
"Blockstack",
@github-actions
Copy link
Contributor

Size Change: -68.4 kB (-11.42%) 👏

Total Size: 530 kB

Filename Size Change
./dist/assets/App*********.js 202 kB +310 B (+0.15%)
./dist/assets/gameMain*********.js 75.3 kB -2 B (0%)
./dist/assets/Cheats*********.js 23.9 kB -4 B (-0.02%)
./dist/assets/cheatRoomIdFromUrlHash*********.js 21.5 kB -3 B (-0.01%)
./dist/assets/WebGLRenderer*********.js 18.8 kB -2 B (-0.01%)
./dist/assets/pixiContainerToString*********.js 11 kB -3 B (-0.03%)
./dist/assets/MapDialog*********.js 10.8 kB -5 B (-0.05%)
./dist/assets/browserAll*********.js 10.8 kB -5 B (-0.05%)
./dist/assets/WebGPURenderer*********.js 10.7 kB -5 B (-0.05%)
./dist/assets/CanvasRenderer*********.js 5.75 kB -1 B (-0.02%)
./dist/assets/spectrumLut*********.js 5.02 kB -3 B (-0.06%)
./dist/assets/webworkerAll*********.js 3.82 kB -3 B (-0.08%)
./dist/assets/canvasUtils*********.js 1.78 kB -1 B (-0.06%)
./dist/assets/spritesheetPalette*********.js 955 B +3 B (+0.32%)
./dist/assets/LutPage*********.js 715 B -4 B (-0.56%)
./dist/assets/index*********.js 213 B -68.7 kB (-99.69%) 🏆
ℹ️ View Unchanged
Filename Size
./dist/assets/supabaseDb*********.js 44.5 kB
./dist/assets/campaign*********.js 35 kB
./dist/assets/auto*********.js 27.7 kB
./dist/assets/RenderTargetSystem*********.js 12.5 kB
./dist/assets/BufferResource*********.js 2.55 kB
./dist/assets/workbox-window.prod.es5*********.js 2.37 kB
./dist/assets/loadGameState*********.js 1.08 kB
./dist/assets/tslib.es6*********.js 542 B
./dist/assets/CanvasPool*********.js 433 B
./dist/assets/localUniformBit*********.js 400 B
./dist/assets/BatchableSprite*********.js 255 B
./dist/assets/RoomJson*********.js 188 B

compressed-size-action::game

@github-actions
Copy link
Contributor

Size Change: 0 B

Total Size: 3.84 MB

ℹ️ View Unchanged
Filename Size
./dist/editor/assets/ts.worker*********.js 1.53 MB
./dist/editor/assets/JsonRoomEditor*********.js 1.02 MB
./dist/editor/assets/css.worker*********.js 231 kB
./dist/editor/assets/html.worker*********.js 181 kB
./dist/editor/assets/index*********.js 178 kB
./dist/editor/assets/json.worker*********.js 114 kB
./dist/editor/assets/LevelEditor*********.js 83 kB
./dist/editor/assets/editor.worker*********.js 75.8 kB
./dist/editor/assets/RoomEditingArea*********.js 60.4 kB
./dist/editor/assets/levelEditorSlice*********.js 44.6 kB
./dist/editor/assets/supabaseDb*********.js 44.5 kB
./dist/editor/assets/campaign*********.js 34.9 kB
./dist/editor/assets/WebGLRenderer*********.js 18.8 kB
./dist/editor/assets/RenderTargetSystem*********.js 12.5 kB
./dist/editor/assets/browserAll*********.js 10.8 kB
./dist/editor/assets/WebGPURenderer*********.js 10.7 kB
./dist/editor/assets/lspLanguageFeatures*********.js 7.72 kB
./dist/editor/assets/tsMode*********.js 6.31 kB
./dist/editor/assets/CanvasRenderer*********.js 5.77 kB
./dist/editor/assets/abap*********.js 5.27 kB
./dist/editor/assets/powerquery*********.js 4.81 kB
./dist/editor/assets/jsonMode*********.js 4.66 kB
./dist/editor/assets/pgsql*********.js 4.46 kB
./dist/editor/assets/solidity*********.js 4.4 kB
./dist/editor/assets/redshift*********.js 4.29 kB
./dist/editor/assets/mysql*********.js 4.01 kB
./dist/editor/assets/freemarker2*********.js 4.01 kB
./dist/editor/assets/webworkerAll*********.js 3.8 kB
./dist/editor/assets/sql*********.js 3.79 kB
./dist/editor/assets/clojure*********.js 3.57 kB
./dist/editor/assets/perl*********.js 3.1 kB
./dist/editor/assets/systemverilog*********.js 2.72 kB
./dist/editor/assets/wgsl*********.js 2.71 kB
./dist/editor/assets/julia*********.js 2.62 kB
./dist/editor/assets/BufferResource*********.js 2.56 kB
./dist/editor/assets/ruby*********.js 2.54 kB
./dist/editor/assets/elixir*********.js 2.5 kB
./dist/editor/assets/postiats*********.js 2.4 kB
./dist/editor/assets/st*********.js 2.21 kB
./dist/editor/assets/ecl*********.js 2.19 kB
./dist/editor/assets/razor*********.js 2.17 kB
./dist/editor/assets/scala*********.js 2.06 kB
./dist/editor/assets/typescript*********.js 2.06 kB
./dist/editor/assets/cpp*********.js 2.05 kB
./dist/editor/assets/protobuf*********.js 2.04 kB
./dist/editor/assets/php*********.js 2.04 kB
./dist/editor/assets/vb*********.js 2.02 kB
./dist/editor/assets/swift*********.js 2 kB
./dist/editor/assets/msdax*********.js 1.91 kB
./dist/editor/assets/rust*********.js 1.79 kB
./dist/editor/assets/apex*********.js 1.73 kB
./dist/editor/assets/scss*********.js 1.71 kB
./dist/editor/assets/csharp*********.js 1.68 kB
./dist/editor/assets/pug*********.js 1.61 kB
./dist/editor/assets/dart*********.js 1.61 kB
./dist/editor/assets/python*********.js 1.56 kB
./dist/editor/assets/liquid*********.js 1.54 kB
./dist/editor/assets/handlebars*********.js 1.49 kB
./dist/editor/assets/twig*********.js 1.48 kB
./dist/editor/assets/hcl*********.js 1.45 kB
./dist/editor/assets/redis*********.js 1.44 kB
./dist/editor/assets/kotlin*********.js 1.43 kB
./dist/editor/assets/yaml*********.js 1.4 kB
./dist/editor/assets/cypher*********.js 1.4 kB
./dist/editor/assets/less*********.js 1.38 kB
./dist/editor/assets/qsharp*********.js 1.37 kB
./dist/editor/assets/java*********.js 1.36 kB
./dist/editor/assets/htmlMode*********.js 1.36 kB
./dist/editor/assets/pascal*********.js 1.35 kB
./dist/editor/assets/markdown*********.js 1.35 kB
./dist/editor/assets/css*********.js 1.34 kB
./dist/editor/assets/powershell*********.js 1.34 kB
./dist/editor/assets/restructuredtext*********.js 1.33 kB
./dist/editor/assets/tcl*********.js 1.33 kB
./dist/editor/assets/mdx*********.js 1.33 kB
./dist/editor/assets/fsharp*********.js 1.28 kB
./dist/editor/assets/m3*********.js 1.28 kB
./dist/editor/assets/html*********.js 1.28 kB
./dist/editor/assets/coffee*********.js 1.26 kB
./dist/editor/assets/cssMode*********.js 1.24 kB
./dist/editor/assets/r*********.js 1.24 kB
./dist/editor/assets/sophia*********.js 1.17 kB
./dist/editor/assets/shell*********.js 1.16 kB
./dist/editor/assets/sparql*********.js 1.12 kB
./dist/editor/assets/go*********.js 1.11 kB
./dist/editor/assets/typespec*********.js 1.04 kB
./dist/editor/assets/mips*********.js 1.03 kB
./dist/editor/assets/objective-c*********.js 1.02 kB
./dist/editor/assets/graphql*********.js 988 B
./dist/editor/assets/bicep*********.js 927 B
./dist/editor/assets/cameligo*********.js 921 B
./dist/editor/assets/lua*********.js 887 B
./dist/editor/assets/lexon*********.js 885 B
./dist/editor/assets/pascaligo*********.js 869 B
./dist/editor/assets/xml*********.js 848 B
./dist/editor/assets/bat*********.js 828 B
./dist/editor/assets/flow9*********.js 811 B
./dist/editor/assets/sb*********.js 785 B
./dist/editor/assets/scheme*********.js 779 B
./dist/editor/assets/dockerfile*********.js 631 B
./dist/editor/assets/pla*********.js 605 B
./dist/editor/assets/javascript*********.js 550 B
./dist/editor/assets/tslib.es6*********.js 542 B
./dist/editor/assets/ini*********.js 495 B
./dist/editor/assets/csp*********.js 485 B
./dist/editor/assets/RoomJson*********.js 460 B
./dist/editor/assets/halfBrite*********.js 342 B
./dist/editor/assets/azcli*********.js 283 B

compressed-size-action::editor

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.

2 participants