Image Generation Interface with Infinite Canvas so you can focus on what matters
Universal creative task UI with a modern design, cross-device support, and powerful editing capabilities, leveraging API to bring AI features right to the canvas
InfiniFox is a universal web interface for creative visuals, built from the ground up with artist requirements in mind. It aims to deliver a professional-grade experience through its infinite canvas system, sophisticated image editing, artboard support, and modular architecture to give the creator control over their workspace.
The core principle of InfiniFox is letting users focus on their creative work, without being distracted by the tool itself, with smart, contextual menus and a minimalist UI that only shows what you need when you need it, without sacrificing ease of use and functionality.
For AI-powered features it leverages its support of various APIs, including SD.Next, ComfyUI, and Automatic1111.
- π¨ User Experience - Intuitive interface with professional-grade tools and workflows
- π± Universal Input - Seamless support for mouse, touch, and pressure-sensitive stylus
- ποΈ Modularity - Component-based architecture for easy maintenance and extension
- β‘ Performance - Smooth canvas interactions with optimized rendering pipeline
- π§ Extensibility - Plugin-ready architecture for custom features and backends
- βΏ Accessibility - Embrace WCAG 2.1 AA and general accessibility best practices
|
|
|
- Creative workbench - Your materials where you need them, at hand
- High-Performance Rendering - Konva.js-powered smooth interactions
- Smart Viewport Management - Efficient culling and lazy loading
- Advanced Selection - Multi-select, group operations, layer management
- Transform Controls - Resize, rotate, flip with visual handles
- Context Actions - Right-click menus with contextual options
- Zoom & Pan - Smooth navigation from 10% to 500% zoom
- Perfect Freehand Integration - Natural stroke dynamics
- Pressure Sensitivity - Full stylus/pen tablet support
- LazyBrush Algorithm - Intelligent smoothing and stabilization
- Brush Presets - Hard, soft, and watercolor-style brushes
- Dynamic Sizing - 1-100px with real-time preview
- 40+ Custom Filters - Professional-grade image adjustments
- Non-Destructive Editing - Preserve originals with live preview
- Filter Chaining - Combine multiple effects
- WebAssembly Acceleration - Near-native performance
- GPU Processing - Hardware-accelerated operations
Queue System
- Visual queue with drag-to-reorder
- Parallel and sequential processing
- Auto-retry with exponential backoff
- Progress tracking per item
- Priority management
- Resource optimization
History & Undo
- Command pattern architecture
- Visual history timeline
- Unlimited undo/redo
- State snapshots
- Selective rollback
- History export/import
Batch Processing
- Parameter matrix generation
- Seed incrementing strategies
- Prompt variations
- Resolution sweeps
- Model comparisons
- Export presets
Development stage uses SD.Next as the main backend. More API support coming soon.
- Node.js 18+ and npm
- SD.Next running with
--apiflag - Modern browser (Chrome 90+, Firefox 88+, Safari 14+, Edge 90+)
# Clone the repository
git clone https://github.com/CalamitousFelicitousness/InfiniFox.git
cd InfiniFox
# Install dependencies
npm install
# Start development server
npm run devThe application will be available at http://localhost:5173
No configuration is required for the initial setup. All user configuration is handled through the UI.
InfiniFox/
βββ π src/
β βββ π api/ # API integration layer
β βββ π auth/ # Authentication system
β βββ π components/ # Reusable UI components
β βββ π features/ # Feature modules
β β βββ canvas/ # Infinite canvas system
β β βββ generation/ # Image generation
β β βββ filters/ # Filter pipeline
β β βββ inpaint/ # Inpainting tools
β βββ π hooks/ # Custom React hooks
β βββ π services/ # Business logic
β βββ π store/ # State management
β βββ π types/ # TypeScript definitions
β βββ π utils/ # Utility functions
βββ π docs/ # Documentation
βββ π tests/ # Test suites
βββ π public/ # Static assets| Command | Description |
|---|---|
npm run dev |
Start development server with HMR |
npm run build |
Create production build |
npm run preview |
Preview production build |
npm run test |
Run test suite |
npm run lint |
Lint code with ESLint |
npm run format |
Format code with Prettier |
npm run type-check |
Validate TypeScript |
- Frontend Framework: React 18
- Language: TypeScript (strict mode)
- Canvas Engine: Konva.js
- State Management: Zustand
- Styling: CSS Modules + Tailwind utilities
- Build Tool: Vite
- Testing: Vitest + Testing Library
- Input Handling: Pointer Events API
| Action | Windows/Linux | macOS |
|---|---|---|
| Generate | Ctrl + Enter |
β + Enter |
| Undo | Ctrl + Z |
β + Z |
| Redo | Ctrl + Shift + Z |
β + Shift + Z |
| Delete Selected | Delete |
Delete |
| Duplicate | Ctrl + D |
β + D |
| Clear Canvas | Ctrl + Shift + Delete |
β + Shift + Delete |
| Save | Ctrl + S |
β + S |
| Select All | Ctrl + A |
β + A |
InfiniFox project also makes conscious choices for accessibility, so that no matter the skill level, familiarity, or whether user has disabilities or relies on assistive technologies, everyone can participate fully.
To achieve this the project strives to embrace WCAG 2.1 AA guidelines.
Here are accessibility features for InfiniFox in that format:
- Keyboard Navigation: Full keyboard support for all features
- Screen Reader Support: ARIA labels and live regions for canvas state changes
- High Contrast and Colorblindness Mode: Alternative color schemes for visual accomodation
- Scalable UI: Functional interface at any UI scaling level
- Reduced Motion: Respects prefers-reduced-motion for animations and transitions
- Customizable Shortcuts: Remappable keyboard shortcuts for motor accomodation
- Large Click Targets: Minimum 44x44px touch targets with adjustable sizing
- Status Announcements: Audio/visual feedback for generation progress and errors
- Simplified Mode: Streamlined interface option with essential controls only
Opening up contributions and creation of contribution guidelines might come in the future.
- Follow TypeScript strict mode
- Maintain 80% test coverage
- Use functional components
- Implement proper error boundaries
- Follow accessibility standards
- Document public APIs
Currently awaiting feature completeness
This project is licensed under the MIT License - see the LICENSE file for details.
Built with these excellent libraries:
- Konva.js - 2D Canvas framework
- React - UI library for web interfaces
- SD.Next - Stable Diffusion backend
- Perfect Freehand - Drawing dynamics
- Zustand - State management