Manage saves

Puzzle sources

No saves yet. Create one above to start autosaving progress.

Save storage

Caps the compressed original image that ships with saves and exports. Changes apply to the next puzzle you generate or import.

Help & shortcuts

Command buttons

🖼 Preview
Toggle the finished artwork overlay to compare your progress.
🎛 Generator
Adjust clustering sliders, choose capybara detail presets, reload the current source image, and monitor generation progress. The sheet mirrors the k-means pipeline inputs used for puzzle creation.
🎚 Detail
Toggle the capybara detail chips in the Generator sheet to reload the sample with tuned palette sizes, minimum region areas, resize targets, and the region counts noted above.
â›¶ Fullscreen
Expand the app to fill the display or exit back to windowed mode.
⬆ Import
Load a new image or JSON puzzle from disk.
💾 Saves
Manage snapshots — load, rename, export, or delete stored games.
ℹ Help
Open this guide and inspect the live debug log.
âš™ Settings
Toggle auto-advance, customise hints, change the background or theme, sort the palette, and adjust the interface scale. Advanced options expose accessibility tweaks for the hint animations.

Canvas controls

  • Click Fill the tapped region if it matches the active colour.
  • Right click Select the colour under the pointer.
  • Select a palette swatch to set the active colour and flash every matching region.
  • Enable Easy difficulty in Settings to let clicks auto-select the tapped region's colour.
  • Mouse wheel or +/- Zoom in or out around the cursor.
  • Middle click or Space + drag Pan the canvas.
  • Drag & drop an image or JSON file anywhere on the window to import it.

Project README

Loads the live documentation from https://shthed.github.io/capy/README so you can review gameplay notes and contributor guidance without leaving the app.

Loading README…

Debug log

Recent actions, selections, and generation events appear here while you play.

Puzzle generator

Clustering & detail

Tune the colour clustering pipeline that powers new puzzles. These settings apply to fresh imports and the bundled capybara sample when reloaded.

Capybara sample detail presets

Switching presets updates every slider below and reloads the sample scene when it's active.

Higher values merge smaller areas for fewer regions.

Controls the longest edge used when resizing the source image.

Choose between local clustering pipelines now, with space for hosted services to appear as they become available.

Lower values speed up clustering by sampling fewer pixels.

Iterations rerun the clustering stage; higher counts refine colour centroids but take longer to process.

Each pass blends stray pixels into neighbouring regions before segmentation—set to 0 to keep edges as crisp as the source.

Advanced options

Stored with saves and exports so you can revisit the inspiration later.

Open ChatGPT to craft an image prompt ↗

Settings

Gameplay

Easy mode lets you click any region to auto-select its colour before filling it.

Choose how unfinished colours appear in the dock.

Hints & controls

Set how long hint highlights linger before fading out.

Adjust the opacity used when flashing matching regions.

Hint types

Pick which guidance effects appear while you play.

Toggle the pulse that flashes all remaining regions sharing the selected colour.

Show a focused hint when you pause the pointer over a region.

Mouse controls

Assign actions to each mouse button when clicking or click-dragging on the canvas.

Left button
Middle button
Right button

Drag-to-zoom adjusts the view by moving up to zoom in or down to zoom out.

Appearance

Resize command buttons and labels without altering canvas zoom.

Scale region numbers independently from the surrounding interface.

Limit how far the canvas can zoom in beyond the fitted view.

Switch between dark, light, or colourful chrome accents.

Choose between the classic Canvas pipeline, accelerated WebGL, or the SVG renderer.

Applies to unfinished regions and adjusts outline contrast automatically.

Adjust the area surrounding the puzzle canvas.