Absolute Scenes
A professional, scene-based book writing application with print-ready PDF output and GitHub
integration.
Version: 1.4.23 | Tests: 1065/1065 β
| Last Updated: 2025-10-03
Absolute Scenes is designed specifically for authors who want a structured approach to writing books
with professional publishing features built-in. Unlike traditional word processors, it organizes
your work by scenes and chapters, making it easier to manage complex narratives.
β¨ Key Features
π Scene-Based Writing
- Organize your book by chapters and scenes instead of one long document
- Drag-and-drop to reorder chapters and scenes
- Move scenes between chapters effortlessly
- Built-in recycle bin to recover deleted content
π¨ Professional Typography
- Premium book fonts including Palatino Linotype, Garamond, Baskerville, and more
- Genre-based font recommendations (Literary Fiction, Romance, Thriller, etc.)
- Live font preview with sample text
- Automatic font optimization for different book formats
π Print-Ready Publishing
- Professional page layouts with mirror margins for book binding
- Multiple book formats: Trade Paperback (6Γ9), Mass Market, Hardcover, Large Print
- Running headers with author name and book title
- Proper chapter formatting with customizable headers
- Justified text and traditional paragraph styling
π₯ Character & Location Management
- Create detailed character profiles with avatars and descriptions
- Track character roles, development notes, and relationships
- Manage story locations with descriptions and notes
- Visual character thread tracking across scenes
- Organize characters and locations separately from your manuscript
- Dedicated workspace for world-building and development notes
- Organize information in folders (General Notes, Characters, Locations, etc.)
- Editable document titles with double-click functionality
- Consistent typography with main writing areas
- Expandable folder structure for easy content organization
- Auto-save functionality with real-time updates
πΊοΈ Story Visualization
- Character Thread Visualization: See which characters appear in which scenes
- Track character development across your entire book
- Identify plot threads and story arcs visually
- Character detection blacklist for common words
βοΈ GitHub Integration
- Automatic cloud backup of your manuscripts
- Version history to track changes over time
- Access your work anywhere through GitHub
- Recovery tools to restore books from backup
- Automatic sync on save (optional)
π Export Options
- PDF Export: Print-ready PDFs with professional book formatting
- HTML Export: Clean web version for sharing or online publishing
- Customizable export settings (scene breaks, titles, formatting)
π» Professional Installation
- System-wide installation to proper directories (Program Files, Applications, /opt)
- Command line access via
absolute-scenes command
- File associations for
.book files - double-click to open
- Desktop and Start Menu shortcuts automatically created
π₯οΈ Installation
System Requirements
- Windows: Windows 10+ (installs to
C:\Program Files\Absolute Scenes\)
- macOS: macOS 10.14+ (installs to
/Applications/Absolute Scenes.app)
- Linux: Modern Linux with systemd (installs to
/opt/Absolute Scenes/)
- Memory: 4GB RAM minimum, 8GB recommended
- Storage: 500MB free space
- Internet: Required for GitHub sync and font loading
Download & Install
Windows
- Download
Absolute Scenes Setup x.x.x.exe from Releases
- Run as Administrator (required for system-wide installation)
- Follow the installer wizard
- β
App installed to Program Files with command line access
macOS
- Download
Absolute Scenes x.x.x.dmg from Releases
- Open the DMG and drag to Applications folder
- First launch: Right-click β Open (to bypass Gatekeeper)
- β
App installed to Applications with command line access
Linux
Choose your preferred package format:
Ubuntu/Debian (.deb):
# Download the .deb file, then:
sudo dpkg -i absolute-scenes_x.x.x_amd64.deb
sudo apt-get install -f # Fix any dependency issues
RHEL/Fedora (.rpm):
# Download the .rpm file, then:
sudo rpm -i absolute-scenes-x.x.x.x86_64.rpm
Universal (AppImage):
# Download the .AppImage file, then:
chmod +x Absolute-Scenes-x.x.x.AppImage
./Absolute-Scenes-x.x.x.AppImage
Command Line Usage
After installation, you can use Absolute Scenes from any command prompt or terminal:
# Launch the application
absolute-scenes
# Open a specific book file
absolute-scenes /path/to/your/book.book
# Open the last book you were working on
absolute-scenes --last
# Show version information
absolute-scenes --version
File Associations
The installer automatically sets up file associations for .book files:
- β
Double-click any
.book file to open it in Absolute Scenes
- β
Right-click context menu shows "Open with Absolute Scenes"
- β
File icons display with Absolute Scenes branding
π Quick Start Guide
1. Create Your First Book
- Launch Absolute Scenes (from Start Menu, Applications, or
absolute-scenes command)
- Enter your book title and author name
- Add a scene to the default first chapter
- Start writing!
2. Organize Your Story
- Add new chapters with the "π+ Chapter" button
- Add scenes to chapters with "π+ Scene"
- Drag and drop to reorder content
- Use the recycle bin to recover deleted content
3. Manage Characters, Locations & Background
- Switch to the "Background" tab to create world-building notes and development documents
- Switch to the "Characters" tab to create character profiles
- Switch to the "Locations" tab to define story settings
- Use the "Threads" tab to visualize character appearances across scenes
- Organize information in folders and edit document titles by double-clicking
- Click the βοΈ Template Settings button
- Choose your book's genre for font recommendations
- Select page size (Trade Paperback 6Γ9 is most popular)
- Configure margins, fonts, and chapter headers
5. Connect GitHub for Backup
- Click the π GitHub Integration button
- Follow the setup wizard to connect your GitHub account
- Your book will automatically sync to the cloud on each save
6. Export Your Book
- Click the π€ Export button
- Choose PDF for print-ready output or HTML for web sharing
- Configure export options and generate your book
π― Advanced Features
Premium Typography System
Available Font Categories:
βββ Premium Book Fonts (Best Quality)
β βββ Palatino Linotype - Elegant, professional
β βββ EB Garamond - Timeless classic
β βββ Libre Baskerville - Dramatic elegance
β βββ Adobe Caslon Pro - Traditional authority
βββ High-Quality Alternatives
β βββ Georgia - Screen-optimized serif
β βββ Crimson Text - Modern versatile
β βββ Libre Caslon Text - Open-source elegance
βββ Standard System Fonts
βββ Times New Roman - Reliable classic
- Mirror Margins: Different margins for odd/even pages accounting for binding
- Running Headers: Author on left pages, title on right pages
- Chapter Headers: Multiple styles (numbered, titled, custom format)
- Page Numbering: Professional placement and formatting
- Text Alignment: Justified text like printed books
- Line Height & Spacing: Optimized for readability
Smart Content Organization
- Automatic Scene Numbering: Format like 1.1, 1.2, 2.1, etc.
- Word Count Tracking: Real-time counts per scene, chapter, and total
- Drag & Drop Interface: Intuitive reordering of content
- Multi-level Recycle Bin: Separate bins for scenes, characters, and locations
- Auto-save: Never lose your work with automatic saving
Character Thread Visualization
- Visual Character Mapping: See exactly which characters appear in which scenes
- Character Detection: Automatic detection of character names in scene text
- Blacklist Management: Exclude common words from character detection
- Thread Analysis: Identify major and minor character arcs
- Scene Coverage: Ensure balanced character development
π§ Configuration
Template Settings
Access via the βοΈ Template Settings button:
- Font Selection: Choose from premium book fonts with live preview
- Page Size: Letter, A4, Trade Paperback (6Γ9), Mass Market, Hardcover, Large Print
- Margins: Fully configurable with mirror margin support for binding
- Text Alignment: Left-aligned or fully justified
- Chapter Headers: Multiple formatting styles and customization options
- Running Headers: Optional professional headers with author/title
- Genre Presets: Optimized settings for different book genres
GitHub Integration
Access via the π GitHub Integration button:
- Personal Access Token: Secure authentication setup
- Repository Management: Automatic repository creation and management
- Sync Settings: Manual or automatic backup on save
- Recovery Options: Restore from any previous backup
- Collaboration: Share repositories with co-authors or editors
Keyboard Shortcuts
- Ctrl/Cmd + N: New Book
- Ctrl/Cmd + O: Open Book
- Ctrl/Cmd + S: Save Book
- Ctrl/Cmd + Shift + S: Save As
- Ctrl/Cmd + E: Export Book
- Ctrl/Cmd + Shift + C: New Chapter
- Ctrl/Cmd + Shift + N: New Scene
- Ctrl/Cmd + Delete: Delete Current Scene
- F12: Toggle Developer Tools
π οΈ Development
Code Quality: 1065/1065 tests passing β
| Total Commits:
157 | Latest: 8c9963d - Removed useless docs (4 days ago)
Built With
- Frontend: React 18 with modern hooks and context API
- Desktop Framework: Electron 25 with secure IPC communication
- PDF Generation: jsPDF with custom font loading and advanced layout
- Styling: Modern CSS with responsive design principles
- Version Control: GitHub API v4 (GraphQL) integration
- File Format: Structured JSON-based .book files
- Testing: Jest with React Testing Library
Architecture
src/
βββ components/ # React UI components
β βββ BookStructure.js # Main navigation and chapter/scene tree
β βββ SceneEditor.js # Rich text writing interface
β βββ CharacterEditor.js # Character profile management
β βββ LocationEditor.js # Location management
β βββ CharacterThreadVisualization.js # Visual character tracking
β βββ TemplateManager.js # Typography and formatting settings
β βββ ExportDialog.js # PDF/HTML export configuration
β βββ GitHubIntegration.js # Cloud sync and backup
β βββ BackupRecovery.js # Recovery from GitHub backups
β βββ StatusBar.js # Save status and sync indicators
βββ utils/ # Core utilities and services
β βββ fontManager.js # Premium typography system
β βββ exportManager.js # PDF/HTML generation engine
β βββ gitHubService.js # GitHub API wrapper
β βββ fileOperations.js # Local file I/O operations
β βββ characterDetection.js # Smart character name detection
βββ styles/ # CSS styling
β βββ App.css # Main application styles
βββ __tests__/ # Test suites
βββ components/ # Component tests
βββ utils/ # Utility function tests
Absolute Scenes uses a structured JSON format (.book files):
{
"title": "Your Book Title",
"author": "Author Name",
"chapters": [
{
"id": "unique-chapter-id",
"title": "Chapter 1: The Beginning",
"scenes": [
{
"id": "unique-scene-id",
"title": "Opening Scene",
"content": "Your scene content with rich text formatting...",
"notes": "Private author notes about this scene",
"created": "2024-01-01T00:00:00.000Z",
"modified": "2024-01-01T12:00:00.000Z"
}
]
}
],
"characters": [
{
"id": "character-id",
"name": "Character Name",
"description": "Character description and background",
"role": "Protagonist/Antagonist/Supporting",
"avatar": "π§",
"notes": "Character development notes"
}
],
"locations": [
{
"id": "location-id",
"name": "Location Name",
"description": "Location description",
"type": "Setting type",
"icon": "π ",
"notes": "Location notes"
}
],
"backgroundFolders": [
{
"id": "folder-id",
"title": "General Notes",
"documents": [
{
"id": "document-id",
"title": "Document Title",
"content": "Background information and notes...",
"created": "2024-01-01T00:00:00.000Z",
"modified": "2024-01-01T12:00:00.000Z"
}
]
}
],
"characterDetectionBlacklist": ["the", "and", "but", "..."],
"template": {
"fontFamily": "Palatino Linotype",
"fontSize": 12,
"lineHeight": 1.6,
"paragraphStyle": "indented",
"pageSize": "trade-paperbook",
"genre": "literary-fiction",
"pageMargins": { "top": 1, "bottom": 1, "inside": 1.25, "outside": 1 },
"textAlign": "justified",
"chapterHeader": {
/* chapter formatting options */
},
"runningHeaders": {
/* header configuration */
}
},
"github": {
"repository": "username/book-repository",
"lastSyncTime": "2024-01-01T12:00:00.000Z"
},
"metadata": {
"created": "2024-01-01T00:00:00.000Z",
"modified": "2024-01-01T12:00:00.000Z",
"version": "1.3.18"
}
}
Development Setup
# Clone the repository
git clone https://github.com/yourusername/absolute-scenes.git
cd absolute-scenes
# Install dependencies
npm install
# Start React development server
npm start
# In another terminal, start Electron in development mode
npm run electron-dev
# Run tests
npm test
# Lint code
npm run lint
# Auto-fix linting issues
npm run lint:fix
# Format code with Prettier
npm run format
# Check code formatting
npm run format:check
# Build for production
npm run build
# Create distributable packages
npm run dist
Building Installers
The project uses electron-builder with custom configuration for professional installation:
# Build all platforms (requires appropriate OS)
npm run dist
# Build for specific platforms
npm run dist -- --win # Windows NSIS installer
npm run dist -- --mac # macOS DMG
npm run dist -- --linux # Linux DEB, RPM, and AppImage
Generated Installers:
- Windows:
dist/Absolute Scenes Setup x.x.x.exe (NSIS installer with PATH setup)
- macOS:
dist/Absolute Scenes x.x.x.dmg (DMG with Applications folder)
- Linux:
dist/absolute-scenes_x.x.x_amd64.deb, .rpm, and .AppImage
π€ Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
Development Workflow
- Fork the repository on GitHub
- Clone your fork locally
- Create a feature branch:
git checkout -b feature/amazing-feature
- Install dependencies:
npm install
- Start development server:
npm start
- Make your changes and test thoroughly
- Run tests:
npm test
- Commit changes:
git commit -m 'Add amazing feature'
- Push to your fork:
git push origin feature/amazing-feature
- Open a Pull Request with detailed description
Code Standards
- ESLint + Prettier: Automated code quality and formatting (see ESLINT.md for
details)
- Code Quality: ESLint enforces logic, imports, and React best practices
- Code Formatting: Prettier handles indentation, quotes, and visual consistency
- React Best Practices: Proper hooks usage and component structure
- Testing: Add tests for new features and bug fixes
- Documentation: Update README and code comments
- Commits: Use clear, descriptive commit messages
π Bug Reports & Feature Requests
Reporting Bugs
- Search existing issues first
- Include steps to reproduce
- Attach sample .book files if relevant
- Specify your OS and version
- Add screenshots if applicable
Feature Requests
- Describe the feature and its benefits
- Explain how it fits with existing functionality
- Consider implementation complexity
- Discuss in GitHub Discussions first for major features
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
- Typography: Font recommendations based on professional publishing standards
- Design: Inspired by traditional book publishing workflows and modern writing tools
- Community: Thanks to all contributors and beta testers
- Open Source: Built with amazing open-source libraries and tools
πΊοΈ Development & Roadmap
Current Release: v1.4.23 - See Version History
below for recent updates. Current Release: v1.4.23 - See
Version History below for recent updates.
For upcoming features, development priorities, and detailed project planning, visit our
GitHub Projects where we maintain an
active roadmap with:
- π― Current Sprint: Features actively in development
- π Backlog: Planned features with priority rankings
- π Bug Tracking: Known issues and their status
- π‘ Feature Requests: Community-suggested improvements
Want to influence the roadmap?
Open an issue or join the discussion!
Version History
- v1.4.4: Another go
- v1.4.3: More pipeline fixes
- v1.4.2: Fix package issues
- v1.4.1: Version bump
- v1.3.111: Fix for readme generator
Made with β€οΈ for authors who care about beautiful books
"Great stories deserve great tools. Absolute Scenes gives you the professional foundation to write,
organize, and publish books that look as good as they read."
Last updated 2025-10-03 | Build 8c9963d - Removed useless docs (4 days ago)