Sprite multitool
  • TypeScript 53.1%
  • Svelte 24.3%
  • Rust 22.2%
  • JavaScript 0.2%
Find a file
Marceline Boeh 479d052d5a docs: add standalone CLI design plan
Design for extracting batch processing into shared library crate
and creating standalone CLI binary separate from Tauri app.

Key decisions:
- Cargo workspace with marcoline-core, marcoline-cli, src-tauri
- Progress callback pattern instead of Tauri AppHandle
- CLI uses clap instead of tauri-plugin-cli
- Tauri app reverts to simple window configuration
- 6 implementation phases

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-17 23:35:12 -08:00
docs docs: add standalone CLI design plan 2026-02-17 23:35:12 -08:00
plans docs: add templates implementation plan and update roadmap 2026-02-17 20:24:52 -08:00
src fix(window): show window only when frontend is ready 2026-02-17 22:45:01 -08:00
src-tauri fix(window): show window only when frontend is ready 2026-02-17 22:45:01 -08:00
static chore: initialize SvelteKit skeleton project 2026-02-07 23:39:32 -08:00
tests fix: address code review feedback 2026-02-08 00:52:17 -08:00
.emdash.json chore: delete FileMenu component (replaced by native menu) 2026-02-16 23:29:50 -08:00
.gitignore chore: configure screenshot directory gitignore 2026-02-08 00:48:10 -08:00
.npmrc chore: initialize SvelteKit skeleton project 2026-02-07 23:39:32 -08:00
build_output.log chore: delete FileMenu component (replaced by native menu) 2026-02-16 23:29:50 -08:00
CLAUDE.md docs: update project context for batch mode CLI implementation 2026-02-17 22:03:07 -08:00
package-lock.json chore(deps): add @tauri-apps/plugin-store npm package 2026-02-14 19:38:22 -08:00
package.json chore(deps): add @tauri-apps/plugin-store npm package 2026-02-14 19:38:22 -08:00
postcss.config.js fix(tailwind): switch from PostCSS to Vite plugin for Tailwind v4 2026-02-08 01:10:35 -08:00
README.md docs: update README with project-specific documentation (#4) 2026-02-13 19:53:44 -08:00
svelte.config.js chore: configure SvelteKit for Tauri SPA mode 2026-02-07 23:42:05 -08:00
tailwind.config.js chore: add Tailwind CSS and DaisyUI 2026-02-07 23:42:22 -08:00
tsconfig.json chore: initialize SvelteKit skeleton project 2026-02-07 23:39:32 -08:00
vite.config.ts chore: add tauri-plugin-store and configure asset protocol 2026-02-14 21:55:21 -08:00
vitest.config.ts feat: add image loading integration test 2026-02-08 00:47:56 -08:00
vitest.integration.config.ts feat: add image loading integration test 2026-02-08 00:47:56 -08:00

marcoline

A sprite sheet editor for game developers. Load sprite sheets, define tile grids or freeform regions, and export individual sprites.

Features

  • Grid Mode: Configure uniform tile grids with customizable margins, spacing, and tile dimensions
  • Freeform Mode: Draw arbitrary rectangular regions for non-uniform sprite sheets
  • Region Naming: Assign custom names to tiles or regions for organized exports
  • Multiple Numbering Schemes: Row-major, column-major, or coordinate-based tile addressing
  • Live Preview: See grid overlays and tile labels update in real-time

Tech Stack

  • Frontend: SvelteKit 2, Svelte 5, TypeScript
  • Backend: Tauri v2, Rust
  • Canvas: Konva (via svelte-konva)
  • Styling: Tailwind v4, DaisyUI v5

Running

Prerequisites

  • Node.js 18+
  • Rust toolchain (for Tauri)
  • Platform-specific Tauri dependencies (see Tauri prerequisites)

Development

# Install dependencies
npm install

# Run the desktop app
cargo tauri dev

Testing

# Unit tests
npm test

# Integration tests (requires app running with automation feature)
cargo tauri dev --features automation
npm run test:integration

Planned Features

Feature Description
Interactive Guides Drag guides on canvas to adjust margins and spacing visually
Split Export Export tiles/regions as separate image files with configurable naming
JSON Manifest Save/load project files for continuing work later
Tiled TSX Export Export in Tiled Map Editor format for game engine integration
Unsplit/Merge Combine individual images into a sprite sheet
Templates Save reusable configurations for processing multiple sprite sheets
Batch Mode CLI for automated processing and CI/CD integration

License

MIT