Releases: suobset/splatr
Splatr v1.1 (beta-1)
Splatr 1.1 (beta-1) Release Notes
Release Date: January 15, 2026
Download: splatr.skushagra.com
🎉 First Beta Release
This is a major milestone for Splatr. After four alpha iterations focused on building the foundation, all 16 core tools are now fully functional. This release marks the transition from alpha to beta, signaling that Splatr is ready for real-world use.
Version numbering going forward:
- x.0 releases = Alpha (experimental)
- x.1 releases = Beta/Stable
What's New in 1.1
✨ All 16 Tools Now Working
Every tool in Splatr's toolbar is now fully operational:
| Tool | Status | Notes |
|---|---|---|
| Free-Form Select | ✅ Complete | Lasso selection with move/resize/rotate |
| Rectangle Select | ✅ Complete | Rectangular selection with full transform support |
| Eraser | ✅ Complete | Variable size eraser |
| Fill (Bucket) | ✅ Fixed | Complete rewrite with proper flood fill algorithm |
| Color Picker | ✅ Complete | Eyedropper with auto-return to previous tool |
| Magnifier | ✅ Complete | Click to zoom in, Option+click to zoom out |
| Pencil | ✅ Complete | 1px precision drawing |
| Brush | ✅ Complete | Variable width with smooth strokes |
| Airbrush | ✅ Complete | Spray paint effect with proper cursor alignment |
| Text | ✅ Complete | Drag-to-create text boxes, font/size selection |
| Line | ✅ Complete | Shift-constrain for perfect angles |
| Curve | ✅ Complete | Two-point Bézier curve tool |
| Rectangle | ✅ Complete | Three fill styles supported |
| Polygon | ✅ Complete | Double-click to close shape |
| Ellipse | ✅ Complete | Shift-constrain for perfect circles |
| Rounded Rectangle | ✅ Complete | Automatic corner radius |
🪣 Fill Tool — Complete Rewrite
The fill (bucket) tool has been completely rewritten from scratch. Previous versions had issues with:
- Coordinate system mismatches between view and bitmap
- Color space conversion errors
- Unreliable edge detection
The new implementation features:
- Direct pixel buffer manipulation for reliability
- Scanline flood fill algorithm for performance
- Tolerance-based edge detection (handles anti-aliased edges)
- Proper coordinate transformation between NSView and bitmap space
- 1:1 pixel mapping to avoid scaling artifacts
🔤 Text Tool Improvements
- Drag-to-create text boxes — Draw a rectangle to define text area
- Text Toolbox — Just like other tools, a dedicated Text toolbox created for modularity (⌘4)
- Font selection — Choose from system fonts
- Size control — Adjustable font size
- Transform support — Move and resize text before committing
- Proper modal behavior — Text box stays active until ESC or tool switch
🎨 Palette Improvements
- Custom Color Palette — Custom Color Palette that integrates with
NSColorPicker - Save Colors — Saves your most recently used 16 colors
- Adjacent to regular colors — Palette opens right below regular color palette
✂️ Selection Tool Refinements
- Modal selection behavior — After making a selection, clicking only allows transform operations (move/resize/rotate) until ESC is pressed
- No accidental deselection — Clicking outside the selection no longer creates a new selection
- Rotation support — Drag the rotation handle to rotate selections
- Marching ants sync — Selection outline and handles now rotate together smoothly
Issues Closed Since Alpha-1
A total of 22 issues have been resolved across all alpha releases:
Core Functionality
- #1 — Fill Color Tool Does Not Work ✅
- #2 — Main window is decoupled from canvas ✅
- #3 — Text resizing/fonts ✅
- #4 — Undo/Redo function ✅
- #5 — Selection tools cannot transform ✅
- #6 — Free form select isn't actually free form ✅
- #7 — Magnifier/Zoom needs work ✅
User Interface
- #13 — Welcome screen ✅
- #14 — Eyedropper ✅
- #15 — Canvas is gone ✅
- #16 — Color Spectrum Selector ✅
- #17 — Recent documents in File Menu + Welcome Window ✅
- #19 — Update website and URL ✅
- #20 — Brush Tool Has No Size Option ✅
- #27 — Welcome Window does not reappear after last canvas is closed ✅
- #28 — Cursor not aligned for spray ✅
Stability & Data Integrity
- #21 — Application Save ✅
- #22 — README Updates ✅
- #23 — Resizing canvas can make image disappear ✅
- #24 — Blank Canvas does not save ✅
Deferred/Not Planned
Cumulative Changes (Alpha-1 through Beta-1)
New Features
- Welcome window with recent documents
- Color spectrum selector for precise color picking
- Eyedropper/color picker tool
- Configurable brush sizes (
[and]keys) - Full selection transform (move, resize, rotate)
- True free-form (lasso) selection
- Drag-to-create text boxes
- Navigator panel for canvas overview
- Canvas resize via drag handles
- Three shape fill styles (outline, filled+outline, filled)
Stability Improvements
- Complete undo/redo system
- Reliable document save/load cycle
- Proper canvas lifecycle management
- Fixed canvas disappearing on resize
- Fixed blank canvas save failures
- Fixed window/canvas decoupling issues
Performance
- Scanline flood fill algorithm
- Direct pixel buffer manipulation
- Optimized stroke rendering with point interpolation
Known Issues
This is a beta release. Some rough edges remain:
- Curve tool requires exactly three clicks (learning curve)
- Polygon tool requires double-click to close (intentional but not discoverable)
- Large canvas sizes may impact performance on older machines
- Some edge cases in selection rotation at extreme angles
Please report issues on GitHub. Please, no node contributions at this time.
System Requirements
- macOS 13.0 (Ventura) or later
- Apple Silicon or Intel Mac
- ~15MB disk space
Installation
Download DMG
The latest DMG is always available at splatr.skushagra.com
Build from Source
git clone https://github.com/suobset/splatr.git
cd splatr
open Splatr.xcodeproj
# Press ⌘R to build and runWhat's Next
Planned for future releases:
- Layers support
- Custom brush shapes
- Image filters (blur, sharpen, etc.)
- Check for updates functionality
- Additional export options
Credits
Developed by: Kushagra Srivastava
Website: skushagra.com
License: MIT
Special thanks to everyone who reported issues and provided feedback during the alpha phase. All code has solely been written by Kush Srivastava, in accordance with the policies of the Swift Student Developer Challenge.
Splatr is a native macOS bitmap editor. No Electron. No subscriptions. No cloud. Just pixels.
Splatr v1.0(alpha-4)
EDIT: The latest DMGs, irrespective of GH releases, will be published on the Splatr website. Please download the DMG from there.
Splatr — Release Notes
This release focuses on stability, core editing functionality, and polishing the classic bitmap-editor workflow. A large number of foundational issues have been resolved, making Splatr significantly more reliable for day-to-day use.
New & Improved Features
-
Welcome Window Enhancements
- Welcome screen now correctly appears when no documents are open.
- Recent Documents are now available directly from both the Welcome Window and the File menu.
-
Brush Tool Improvements
- Added configurable brush size support.
-
Color Tools
- Introduced a Color Spectrum Selector for faster and more precise color picking.
- Added a fully functional Eyedropper tool.
-
Selection Tools
- Free-form selection now behaves as expected.
- Selection tools can now be transformed correctly (move/resize operations).
-
Canvas & Editing
- Improved zoom and magnifier behavior for smoother navigation.
-
Documentation
- Updated and expanded README to better reflect current capabilities and usage.
Bug Fixes & Stability
- Fixed an issue where the canvas could disappear unexpectedly.
- Resolved cases where resizing the canvas caused image loss.
- Fixed blank canvas save failures.
- Corrected application-wide save behavior to ensure edits persist reliably.
- Restored proper behavior when the main window became decoupled from the canvas.
- Fixed multiple edge cases around document lifecycle (opening, closing, and empty states).
- Undo/Redo functionality is now fully operational and consistent.
Splatr v1.0 (alpha-2)
EDIT: The latest DMGs can be found on the Website. Please download that while Alpha development is in process, since Splatr will frequently get fixes for core features and keep getting better
Splatr 1.0 Release Notes
A native macOS bitmap paint application built with SwiftUI
Splatr brings the classic simplicity of pixel-perfect bitmap editing to modern macOS. Built as a pure SwiftUI application with no dependencies on AppKit's NSImage, Splatr offers a focused, distraction-free painting experience with all 16 essential paint tools in floating palettes.
What's New in Version 1.0
Core Features
- Complete tool set: All 16 classic MS Paint tools including pencil, brush, eraser, fill bucket, spray can, text, line, curve, rectangle, polygon, ellipse, rounded rectangle, color picker, magnifier, selection, and free-form selection
- Floating tool palettes: Non-blocking interface with dedicated palettes for tools, stroke widths, and colors
- Advanced color system: 48 preset colors plus custom color picker with persistent custom palette
- Multiple brush sizes: Five stroke width options (1px to 5px) for precise control
File Format Support
- Native format:
.splatrfiles with full fidelity preservation - Import: BMP, PNG, JPEG, TIFF
- Export: BMP, PNG, JPEG with quality control
- Document management: Standard macOS document architecture with autosave
Technical Highlights
- Built entirely in SwiftUI for modern macOS
- Custom bitmap rendering engine independent of NSImage
- Proper color space handling and format conversion
- Clean architecture with clear separation of concerns
- Native macOS integration (toolbar, menus, keyboard shortcuts)
Known Issues
- Text tool renders at system font size (not adjustable within app yet)
- Polygon and curve tools require double-click to complete
- No undo/redo system (planned for future release)
System Requirements
- macOS 14.0 (Sonoma) or later
- Apple Silicon or Intel processor
About Splatr
Created by Kushagra Srivastava as part of exploring native macOS development. Splatr is open source under the MIT license.
Blot v1.0.0: Initial Release
Blot v1.0.0
Initial release.
Features
Tools
- Free-Form Select & Rectangle Select
- Eraser
- Fill (flood fill)
- Color Picker (eyedropper)
- Magnifier (zoom)
- Pencil
- Brush
- Airbrush
- Text (basic)
- Line
- Curve (Bézier)
- Rectangle, Ellipse, Rounded Rectangle
- Polygon
Drawing
- Adjustable brush sizes
- Shape styles: outline, filled, filled with outline
- Foreground/background colors
- 28-color palette + custom color picker
Canvas
- Drag-to-resize handles
- Resize via menu (Image → Resize Canvas)
- Flip horizontal/vertical
- Invert colors
- Clear canvas
File Support
- Native
.blotformat - Open: PNG, JPEG, BMP, TIFF, GIF
- Export: PNG, JPEG, TIFF, BMP, GIF, PDF
Interface
- Floating tool palette
- Floating color palette
- Navigator (canvas thumbnail)
- Full keyboard shortcuts
- Full screen support
Known Limitations
- Text tool does not support font/size selection (coming soon)
- No undo/redo
- Selection tools are basic (no transform/resize)
- Large canvas flood fill may be slow
Requirements
- macOS 13.0 (Ventura) or later
Installation
- Download
Blot-1.0.0.zip - Unzip and drag
Blot.appto Applications - First launch: Right-click → Open → Click "Open"