Skip to content

ClueBook 2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Aug 21:40

Boosty

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/offsetHeight reads 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 _processExplicitLinks with Map hash structures.
  • Hardware-Accelerated Zoom & Pan: Removed timer-based textShadow repaint 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 Click on 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 -=key deletion syntax across all actions with new 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: none to 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.