Painter
📑 Table of Contents
Overview
Painter is a desktop and tablet painting application crafted in Rust, combining the speed of hardware-accelerated GPU pipelines (wgpu) with the responsiveness of immediate-mode GUI (egui). Designed from the ground up to respect creative muscle memory, Painter provides full brush compatibility across leading digital art suites, native comic page layouts, integrated 3D poseable reference layers, and seamless interchange with .clip, .psd, .kra, and .ora files.
Architecture & Deep Dives
- 🗺️ FEATURE_MAP.md — Targeted workflows, specification progress and roadmap.
- 🏗️ ARCHITECTURE.md — Modular crates, sparse GPU Tile Atlas, data flows and internal file formats.
- 🖌️ BRUSH_IO.md — Comprehensive specification of brush ingestion: Clip Studio (
.sut/.todb), Photoshop (.abr), Krita (.kpp/.bundle), MyPaint (.myb), GIMP (.gbr/.gih/.vbr), and native .rustbrush.
Key Features
🎨 Painting & Brush Engine
- Universal Brush Engine: Full support for round, sampled, and dual tips with procedural dynamics, spacing, jitter, elliptical angle tracking, and texture patterns.
- Multi-Format Ingestion: Seamlessly import and export brushes from Photoshop (
.abr), Clip Studio Paint (.sut/Material), Krita (.kpp/.bundle), GIMP (.gbr/.gih), and MyPaint (.myb).
- Interactive Stabilization & Smoothing: Configurable stream stabilization, Kalman filtering, and moving average smoothing for crisp line art.
- Smart Shape Assist: Hold the pen still at the end of a stroke to snap into clean circles, ellipses, rectangles, or triangles.
- Clone Stamp, Pattern Stamp & History Brush: Revert strokes, sample from layers with alignment, or paint custom patterns directly on the canvas.
📑 Layer System & Composition
- Diverse Layer Types: Raster, vector, isolated/pass-through folders, paper, gradient, and live screentone layers.
- Full Blending & Masks: 13 blend modes, clipping masks, user transparency masks, lock alpha, and editable layer color tints (e.g. non-destructive cyan line art).
- Adaptive Thumbnail Previews: Configurable layer thumbnails with content-bounded zoom (enlarging isolated sketch bounds) or entire-canvas overview.
- Live Non-Destructive Effects:
- Border Effect: Crisp outline or soft watercolor fringing.
- Extract Line: Real-time edge detection and line extraction from photographs.
- Screentone Generator: Frequency (lpi), custom dot shapes (circle, square, diamond, line, cross, noise), and angle adjustments.
- File Object Layers: Non-destructive linked external documents (PNG, PSD, KRA, CLIP, SVG, ORA) that re-render sharp under continuous transformation.
- Vector Layers & Precision Editing: Intersecting line eraser (cuts up to line crossings), bezier point manipulation, and path simplification.
📖 Comic, Manga & Balloon Tools
- Comic Page & Storyboard Wizard: Standard templates with bleed margins, safe areas, binding lines, and multi-panel page numbering.
- Panel Frame Tool: Slice canvas into panel boxes, adjust borders, snap gutters, and nest panel-specific art layers.
- Speech Balloons & Tails: Rounded, thought, flash, and organic hand-drawn balloons with multi-jointed tail handles.
- Typography Engine: Font discovery, character spacing, line height, text balloon auto-fit, and vertical text flow for manga reading directions.
🧊 3D Reference Layer & Posing
- Integrated 3D Reference Engine: Load glTF/GLB, OBJ, FBX, and Blender files (
.blend, versions 2.80 through 5.x, plain, gzip, or zstd).
- Smooth Navigation & Presets: Orthographic & perspective view transitions with cubic ease-out slerp animations and continuous turntable spin (
T).
- Posing & Rigging: Interactive bone transformation with drag cancellation, joint manipulation, and undo/redo checkpoints.
- Live 3D Texture Painting: Paint directly onto 2D texture documents and watch changes push to the 3D model in real time.
- Directional & Attenuated Lighting: Multi-light setups featuring sunlight and distance-attenuated point lights.
⚡ Hardware Acceleration & Legacy Optimization
- Sparse GPU Tile Atlas: Efficient memory architecture allocating only painted $64 \times 64$ tiles.
- Low-VRAM & Downlevel Profile: Viewport-constrained rendering, stroke bounds clipping, and dynamic atlas page shrinking for older GPUs (e.g. Intel GMA / ThinkPad X200).
- Background Paging & Memory Capping: Inactive document tabs suspend memory consumption and swap undo histories to disk under tight RAM budgets.
- OpenGL & WebGL2 Fallback: Automatic detection of downlevel GPU capabilities with transparent software or OpenGL fallback.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗