☕ Enjoying ClueBook? If this module makes your tabletop sessions better, consider supporting development on Boosty!
Manifest URL: https://github.com/MigaSu/ClueBook/releases/latest/download/module.json
🚀 What's New in Version 2.0.0
⚡ Performance & Scalability (1,000+ Cards & Links)
- Zero-Reflow Thread Engine: Completely eliminated Layout Thrashing during card dragging. Card dimensions and link graphs are pre-indexed in memory, with 0 DOM queries and 0
offsetWidth/offsetHeightreads during mouse movement. - Incremental Link Updates: Dragging a card (or group of cards) now updates only its connected threads instead of recalculating hundreds of lines across the whole board.
- Instant Lasso Selection: Lasso collision detection is now evaluated via fast in-memory AABB mathematical tests (<0.1ms for 1,000 cards).
- Linear O(N+L) Data Pipeline: Replaced nested entity lookups in
_processExplicitLinkswithMaphash structures. - Hardware-Accelerated Zoom & Pan: Removed timer-based
textShadowrepaint hacks; pan and zoom now run directly on the GPU compositor at smooth 60+ FPS.
📁 Custom Folders & Sections
- Structured Organization: Create custom folders across all tabs ("Main Suspects", "Crime Scene Evidence", "Side Quests") with Drag & Drop sorting between folders and root lists.
- Color Accents: Custom color accents per folder (presets or custom palette).
- 1-Click Send to Board: Instantly drop all cards from a folder onto the detective canvas in a neat grid.
🗂️ Versatile View Modes
- 1-Click Mode Switching: Switch seamlessly between sticky Cards (
Cards), compact CRM-style Table (Table), and two-line List (List). - Intelligent Column Extraction: The Table view dynamically extracts key properties (locations, NPC attitudes, deadlines, timestamps) per tab.
- Persistent Preferences: The chosen view mode persists per tab in user settings.
🎯 Smart Investigation Board & Navigation
- Auto-Fit Camera: The
[ 🎯 ]target button calculates the bounding box of all cards on canvas, smoothly centering and scaling the camera to fit the entire investigation within the viewport. - Per-Board Camera Memory: Panning coordinates and zoom levels are remembered individually for each workspace.
🖱️ Context Menu & Multi-Selection
- Full-Featured Right-Click Menu: Rapid access to edit, jump to linked Actor/Scene, broadcast to player overlay, track in widget, move to folders, and delete.
- Enhanced Multi-Selection: Select multiple cards using
Ctrl+Click,Shift+Click,Ctrl+A, and lasso selection. - Floating Selection HUD: Bottom toolbar showing active count with batch actions.
- Instant GM Visibility Toggle:
Shift + Right Clickon any card immediately toggles its visibility for players without opening modal dialogs.
🖼️ Multimedia & Gallery
- Dedicated Gallery Tab: Built a full-featured visual tab for investigation photos, evidence, and clues with an adaptive thumbnail grid.
- Clipboard Paste (Ctrl+V): Paste images directly from the clipboard onto the board (under cursor) or into the gallery list with automatic upload.
- Dual Frame Aesthetics: Support for retro Polaroid frames (
polaroid) with handwritten captions and modern frameless cards (frameless). - Smart Image Cropping & Positioning: Configurable image fit modes (
contain/cover) and focal point positioning (center,top,bottom). - Batch Drag & Drop: Upload single files or batches of photos directly from your desktop onto the board or list view with automatic layout alignment.
- Foundry Document Drag & Drop: Dropping Actors or Items automatically creates image cards using their portrait tokens.
- Realistic Detective Corkboard Tilt: Every photo sent to the board (via Ctrl+V, file drops, or context menu) automatically receives a subtle natural tilt between ±4°, creating a genuine detective investigation board atmosphere.
- Isolated Media Storage: Secure file management via
MediaService(worlds/[world-id]/cluebook-gallery/) with GM-socket proxy fallback for non-GM players. - Lightbox Image Viewer: High-resolution fullscreen photo inspector accessible with a single click.
- Board Layering Priority: Option to auto-stack gallery photos beneath note cards (
galleryAlwaysBelow).
📌 Interactive Pins & Map Markers
- Alt + Click Fast Placement: Instantly drop pin markers anywhere on the board or on top of maps/images with a single click and automatic editor focus.
- Compact Board Pins: New lightweight pin entity for maps, tactical locations, and key clue hotspots.
- Rich Icon Set: Customizable FontAwesome icons (pushpins, map markers, skulls, stars, crosshairs, fire, keys, shields) with individual color controls.
- Visual Themes: Transparent, dark frosted glass (
dark-glass), and light frosted glass (light-glass). - Rich Info Popovers: Contextual popovers on click/hover with enriched text, GM notes, and clickable links.
🏷️ VisionOS Board Labels & Headings
- Inline Editing (Double Click): Edit label headings directly on the board with seamless inline inputs without opening a modal dialog.
- Board Organization: Large decorative headings and plaques to partition detective board zones.
- Glassmorphism Design: Apple VisionOS frosted glass (
glass), solid backdrop (solid), and pure floating text (transparent). - Typography Control: Font family selection (
Caveat,Inter,Courier Prime,Cinzel), pixel-precise font size, and text color picker.
🎛️ Smart Status Filters & Chronological Sorting
- Task & NPC Status Filters: Interactive pill filters for tasks (
[ All | ⏳ In Progress | ✅ Completed | ❌ Failed ]) and NPC life states ([ All | 💚 Alive | 💀 Dead | ❓ Unknown ]). - 1-Click Quick Quest Status Switcher: Clicking the quest status badge opens a rapid status menu.
- Chronological Sorting: Select display order (
Early first,Late first,Manual order) with persistent state.
⚙️ Workspace Customization
- Per-Board Hidden Tabs: Hide irrelevant tabs for specific workspaces to streamline scenario tracking.
- Tab Micro-Badges: Compact counter badges on navigation tabs indicating card counts.
🛡️ Strict Foundry VTT v14 Standards
- ApplicationV2 & DataModel: Modern Foundry v14 architecture with strict schema validation.
- ForcedDeletion Migration: Replaced deprecated
-=keydeletion syntax across all actions withnew foundry.data.operators.ForcedDeletion(). - Strict CSS Scoping: Enforced 100% selector scoping under module roots.
- Full Multilingual Localization: 100% key parity across English, Russian, German, and French.
🎨 UI/UX Fixes & Stability
- Dangling Link Labels Fix: Connection lines and label badges are now strictly isolated to render only when both linked cards are actively visible on the board canvas.
- Smooth Geometric Zoom & Sync: Upgraded board zoom to scale geometrically with full camera synchronization, impervious to concurrent data updates during mouse wheel rolling.
- Natural Link Word-Wrapping: Fixed mid-word line breaking, ensuring links wrap between whole words rather than breaking arbitrary syllables across letters.
- Card Controls Visibility: Fixed card action buttons clipping against card boundaries.
- Canvas Text Selection Prevention: Added
user-select: noneto the board canvas to prevent accidental text selection of the window during panning and dragging. - Isolated Button Clicks: Enhanced event propagation on card control buttons to guarantee instant click response without triggering card dragging or lasso.