Track the evolution of FenSight with detailed commit history
import-report-preferences•Settings > General > Import now includes a persistent option to hide unsupported file-type reports. You can also choose "Don't show unsupported file types again" directly from the Import Report, while duplicate retries and real import errors still appear.
recycle-bin-feedback•Dragging files from recycle-bin paths now opens the Import Report with a clear restore-first reason instead of silently skipping them. This covers blocked paths such as #recycle and $RECYCLE.BIN.
cancel-stops-follow-up•Canceling an import or board-load preview pass now stops thumbnail generation, high-res preview upgrades, video preview updates, and delayed cleanup for that job. Items that already landed on the board are still finalized safely so the board state remains consistent.
present-board•The new Tools > Present Board panel records the current pan and zoom as named views saved in your board file, then steps through them with previous/next buttons, a loop toggle, and eased motion — ideal for client walkthroughs and design reviews.
relink-moved-files•Link Missing Media can now find source files that moved outside your indexed folders — even to a different network share. If the Everything app is running it locates them instantly; otherwise Search All scans sibling shares and local drives (each time-boxed so a disconnected drive can't stall it). Matches are confirmed by size before relinking.
idle-prebake•A new Settings > Performance option lets FenSight use idle time to pre-generate thumbnails for every file in your indexed folders, so boards open instantly from local cache instead of decoding off the NAS. It yields to anything you're doing and stays gentle while you're active. Off by default — turn it on when you want it.
sharper-zoom-detail•When a single image fills the viewport or is selected, FenSight now renders it at up to its native resolution (4096px) instead of the old 1024px ceiling, so text-heavy and detail-dense reference screenshots become readable. Other items keep the memory-safe cap, and the boost only kicks in once you stop moving.
large-board-fps•Boards with 8,000+ visible items no longer drop to ~16fps with sluggish zoom — the render cache now scales to what's actually on screen and cleans up in batches. The background passes that fill in thumbnails and detail also use the new idle-aware scheduler, hydrating a big board in a fraction of the time while still yielding instantly to your imports.
automatic-decode-scheduler•A single shared, idle-aware scheduler now runs all image decoding. Imports and opening boards always take priority over background work, and duplicate scans and AI enrichment share one budget instead of fighting the board for disk. The manual 'max parallel decodes' and 'ingest performance' settings are gone — replaced by one optional 'idle threshold' — and a duplicate scan started on a still-loading board politely waits, with a 'Scan now' override.
missing-files-fast-open•Reopening a board whose files moved or were deleted no longer re-scans hundreds of thousands of watched-folder files on every load. FenSight remembers what's already missing and searches the fast file index first, showing a cancelable progress banner only when a real search is needed. Offline and relink decisions now save immediately, so they stick across reloads.
link-media-polish•The dialog now shows a working glyph during searches, explains why actions are unavailable, keeps 'Offline All Missing' available while searching, and adds a status-color legend, filter chips, and actionable-first sorting. Marking files offline prunes their stale entries from the index so they stop reappearing as missing.
studio-team-boards•Studio users can create team-safe shared boards with portable team-root paths, so teammates open the same board even when assets live at different drive letters. Includes optional advisory locks, stale-save detection with Save As / Overwrite choices, read-only and Perforce checkout handling, and an automatic previous-good backup. Personal boards are unaffected.
board-preview-in-file•Saving a board now embeds its preview image directly in the .fns file, so Windows Explorer thumbnails and the Preview Pane show the board itself instead of a generic icon — no separate sidecar file needed.
video-reliability•Playing videos now keep playing while you pan and zoom, black-frame thumbnails from some phone and camera MP4s regenerate into real frames (and stale black thumbnails are rejected on reload), and selecting a video is snappier — the selection outline draws before the side panels refresh.
stability-hardening•Fixed a fatal startup crash when activating the Artist Visualizer on some GPUs (with an automatic CPU fallback), hardened text rendering against rare crashes at extreme zoom, and caught Watched Folders refresh errors that could escape as a crash. FenSight's temporary working files also now stay under your cache folder instead of Windows temp.
smooth-zoom-fix•Fast freewheel or notched mouse wheel bursts no longer feel sluggish. Zoom easing now retargets from the latest intended zoom instead of compounding each notch from the lagging animated value, preserving cursor anchor throughout. Keyboard, toolbar, and video-hover zoom paths also benefit.
duplicate-scan-perf•On boards with 3k+ items against a 100k+ record index, clicking Scan Board froze the app because each board item triggered a full-index reload. It now uses O(1) keyed lookup off the UI thread, so the board stays responsive during scans.
board-load-speed•Loading a freshly-ingested board no longer blocks the UI thread with per-item Windows Shell calls to re-derive image dimensions. Natural dimensions are now persisted in the .fns file and restored instantly on load. Boards self-upgrade on first save.
video-pan-smoothness•The video scrubber popup, playback-position timer, and native mouse-forwarding hook are now suppressed during active viewport motion, eliminating the choppiness when panning across playing videos.
path-bucket-slider•Parent Folders and path-fragment grouping modes no longer collapse directories 25+ into "Other". The bucket slider cap has been raised from 24 to 100 for path-like cluster modes.
cluster-delete-cleanup•Deleting source files from a group-selected cluster cleans up the cluster label and frame along with the files, and no longer lists cluster frame pseudo paths as missing in the delete progress window.
duplicate-cluster-fixes•"Cluster All Duplicates" now immediately refreshes the orange Trash highlight for already-checked files, and video duplicate groups lay out into stable review-sized cells instead of clumping when placeholder sizes resolve.
geo-map-no-data•Opening the Geographic overlay on boards without geotagged photos now reaches the "no data" message instead of lingering on "Loading map..." — non-photo and non-map-readable items are skipped during GPS extraction.
installer-branding•The installer window now shows the FenSight icon and logo instead of a generic Windows placeholder. The Start Menu shortcut now correctly launches FenSightApp.exe.
eula-legal•Added Disclaimer of Warranty, Limitation of Liability, Data Responsibility, and Intellectual Property sections to the installer EULA and the website's licensing and legal pages. Added ONNX Runtime, OpenAI CLIP, and llmfit to third-party attributions.
studio-per-seat•Studio can now be purchased and activated as individual seats, with each seat handled independently at checkout.
world-map•Tools ▸ World Map plots your board's geotagged photos as orange circles — sized by photo count — over a bundled offline world map. Pan, zoom, and left-drag a marquee to multi-select locations; hovering shows an instant City, Country label. Selecting circles opens a results grid of their photos and the same right-click Organize / Add-to-board actions you use elsewhere. Double-clicking a result jumps back to the real board item. The map re-aggregates live as you import more geotagged photos.
folder-browse•A new left Folders dock (View ▸ Folders) shows a lazy tree of your watched folders and indexed roots, including network drives. Click any folder to open a fast, scrollable thumbnail grid in a swap-in view, or use Tools ▸ Browse folder… to open any folder directly. The grid stays flat on memory even for huge libraries, sorts by name/date/size/type, supports marquee multi-select, and lets you right-click to Organize (rename/copy/move/path-route), Add to board, copy paths, or open in Explorer. Double-click opens off-board files in their default app.
file-size-visualizer•Tools ▸ File Size Visualizer scales each item on the board by its source file size — instantly surfacing the heavyweight assets in a collection. Defaults to log scaling with file-size buckets, with optional size badges. Closing the view chip restores your original layout, and saves taken while it's active preserve your real geometry.
local-ai-first•Settings ▸ AI Search opens with a recommended on-device (ONNX CLIP) setup and a one-click action to enable it — no API keys, no cost, no internet. An optional "Optimize for this PC" action analyzes your hardware and suggests advanced models, without changing your provider or downloading anything on its own.
geo-place-names•Cluster: Geo Location no longer groups photos by raw coordinates. Each photo is reverse-geocoded fully offline against a bundled ~33k-city dataset and grouped by nearest place, collapsing suburbs into the recognizable metro. The Buckets slider controls granularity — labels read "City, Country" when they fit, otherwise roll up to Country. Photos without GPS group under "No GPS."
ai-similarity-existing•AI: Visual Similarity no longer silently drops to the old heuristic just because your active AI provider differs from the board's stored embeddings. It now clusters using the largest compatible set of embeddings already on the board, so previously enriched boards still group semantically after a provider change.
online-activation•Settings ▸ Licensing now has an "Activate online" button that opens the activation page, so you can paste your request code after checkout without hunting for the link.
open-with-import•Launching FenSight via Explorer's "Open with" on a media file now imports that file through the normal pipeline instead of opening an empty board. Opening a .fns file still opens the board as before.
import-report•Folder imports now open a scrollable Import Report when files are skipped, listing unsupported extensions, unselected document types, and failures with per-file reasons. More creative formats (.doc, .pptx, .rtf, .eps, .fbx, .ma, .fla) now land on the board through the fast import path without needing "Accept all file types."
smooth-zoom•Mouse wheel, keyboard, toolbar, and fit-to-view zoom now animate smoothly toward their target while keeping your cursor or selection anchored. The zoom-speed cap in Settings ▸ View was also raised to 6x.
pan-zoom-perf•Live overlay/label/badge refresh during pan and zoom is now off by default on fresh installs — this was causing multi-hundred-millisecond stalls on large or NAS-backed boards. You can re-enable "Live canvas updates during interaction" in Settings ▸ Performance. Video-heavy boards also pan far more smoothly: all live video frames are now collapsed during viewport motion and restored afterward.
overlay-responsiveness•The World Map and folder tree now do their heavy work off the UI thread with loading status and stale-result cancellation, so opening them on large or network-backed libraries no longer freezes the app. Board navigation controls are correctly disabled while a folder or map overlay is active so commands can't accidentally target the hidden board.
upload-secret-storage•Remote upload secrets are no longer written into settings.json. They now use the same Windows DPAPI-encrypted per-user storage as AI API keys, and any existing plaintext passwords are migrated and scrubbed from old settings backups on load.
studio-gating•Artist Visualizer and File Size Visualizer now require the Studio tier, matching Game Memory Mode, and surface the upgrade dialog from both the Tools menu and toolbar. Active-view chips at the top of the viewport now reopen or focus their related controls when clicked.
ai-tags-wrap•AI tag pills in the Tags dock now wrap into visible rows instead of clipping into a single horizontal strip, with long labels ellipsized and the full tag shown on hover.
artist-visualizer•Real-time GPU color grading applied as an overlay across the entire board, with LGG color wheels (shadows/midtones/highlights), levels, curves, brightness, contrast, and saturation. Six built-in presets (Warm Vintage, Cinematic Cool, High Contrast B&W, Soft Pastel, Film Fade, None) plus save your own custom profiles. Source files are never modified. Falls back gracefully to a CPU-based Frozen Lens on low-tier hardware or VMs.
game-memory-mode•Visualize predicted GPU memory cost across your board as a red/yellow/green heatmap. Four new cluster heuristics — memory risk, compressed footprint, resolution, wasted alpha — sit at the top of the layout dropdown. Six built-in console profiles (old-gen, current-gen, mobile, handheld, pc-low, pc-high) define budget bytes, max dimension, and preferred compression format.
freehand-drawing•New pencil tool in the toolbar. Captures pen pressure from Wacom, Surface, and stylus input for variable-width strokes; mouse input falls back to constant pressure. Pick from 16 preset colors or any hex value, adjust thickness with a contextual slider (1–20 px). Strokes are selectable, draggable, undoable, and persist in board files.
board-nav-toolbar•Compact toolbar attached to the viewport's right edge with one-click zoom in, zoom out, fit to screen, undo, redo, and a keyboard shortcut help button. Aligns with the left edge of any open right-side dock so it never overlaps.
clear-original-name•Wipe the existing filename stem with a single checkbox in the Add section, then build a fresh naming convention purely from prefix, suffix, numbering, date, dimensions, or duration. Perfect for renaming a messy folder to a clean, ordered scheme without first having to strip the old names.
canvas-shortcuts•Press R for Rectangle, O for Ellipse, D for Diamond, F for Trapezoid, M for Marquee Frame, C for Comment, T for Text Box, L for Add Label, P for Freehand pencil, V for Select, or Z for Magnifying Glass. Press the same key again to toggle off. Hold Space to pan.
tutorial-ai-seed•First-run onboarding now includes pre-computed AI metadata for the 50 bundled tutorial images. New users get instant tag-dock pills and caption-based AI search on the tutorial set without having to run their own enrichment pass.
longer-better-captions•AI enrichment now produces captions up to 1,200 characters (up from 500) and the vision prompt has been retuned for 3D, game, motion, and VFX workflows. UV layouts, lightmaps, texture atlases, trim sheets, sprite sheets, flipbooks, and material maps are now distinguished from generic collages or contact sheets.
ai-enrichment-live•When you Enrich a selection, the AI Search dock opens with its log expanded and streams per-file progress and diagnostics in real time. Active items show an animated 'AI enriching' indicator in Properties so you always know what's running.
ai-visual-rename•Makes the AI-ness clear in the layout dropdown. Existing saved boards and settings keep working — the old name is silently mapped to the new one.
settings-no-reset•Fixed a serious bug where any single deserialization failure in settings.json could permanently wipe AI provider, rendering detail, board cache folder, and other settings to defaults on the next save. Settings are now backed up before every save, corrupt files are preserved as a timestamped sidecar, and load failures auto-recover from the previous-good backup with full DPAPI key re-attachment.
decode-default-2048•Auto-downscale large images is now on by default, with a 2,048 px maximum decode dimension (was 4,096). Fully-loaded images are roughly 4× smaller in RAM, materially relieving memory pressure on boards with thousands of items. Existing users keep whatever they had set in Settings; only fresh installs pick up the new defaults.
packcluster-fast•The Custom Cluster layout's inner packing loop has been rewritten with a sliding-window skyline algorithm. A 3,285-item cluster that used to take 30+ seconds now finishes in about 120 ms — roughly 250× faster.
visual-similarity-fix•Visual similarity layout was silently falling through to a single-cluster fallback. It now correctly groups items by visual cluster and lays them out as a clean masonry arrangement.
thumbs-default-detail•At moderate zoom levels, small items now render real thumbnails much earlier instead of colorized placeholder rectangles. The Rendering Detail slider in Settings is also responsive again at all zoom levels — cranking it to 2x or 4x visibly increases thumbnail density.
tag-sections-collapse•The Properties dock tag sections (My Tags and AI Tags) can now be collapsed individually. Your collapsed/expanded state persists across sessions.
ai-badges-persist•Items that were AI-enriched in a previous session now show their AI badges immediately on board load, without needing to run a search again.
favicon-refresh•The FenSight app icon has been refreshed with a new logo mark across all seven icon sizes.
eula-business•The End User License Agreement now explicitly describes Free tier restrictions for business and entity use, and links to the updated licensing page at fensight.fennok.com/licensing.
ollama-models•Added qwen2.5-vl:7b, qwen2.5-vl:32b, minicpm-v:2.6, and phi4-vision:14b as selectable Ollama vision models for AI captioning.
local-onnx-search•Local AI semantic search now uses an on-device ONNX CLIP ViT-B/32 model — no internet connection required and no API costs. Embeddings are generated directly from your image thumbnails.
audio-waveform•Audio files display an interactive waveform visualization on the board. Waveform data is computed once and persisted in the board file.
pdf-c4d-support•PDF documents and Cinema 4D (.c4d) project files can now be imported onto the board, with thumbnails and metadata displayed in the Properties dock.
decode-guards•Improved decode-limit guards, GDI handle relief, and surface-only rendering path for boards with thousands of items. Reduces memory pressure and prevents crashes on very large boards.
video-ingest•Video thumbnail generation and the ingest pipeline are more reliable and faster. Redundant decode passes are skipped for previously imported videos.
heading-levels•User-placed labels now have heading levels — H1 (36px), H2 (24px), H3 (16px), H4 (11px). Toggle between them using buttons in the quick-bar popover when a label is selected.
copy-paste-shapes•Ctrl+C copies selected shapes and labels to an internal clipboard. Ctrl+V pastes duplicates offset by 20px. If the clipboard is empty, Ctrl+V falls back to file paste.
text-tool-shortcut•Press T to toggle the text/label placement tool on and off without reaching for the toolbar.
zoom-speed•New Zoom Speed slider in Settings > View > Navigation (0.25x–4x). Controls how fast each scroll notch zooms the canvas.
exr-dds-raw•Added Magick.NET as a fallback decoder for EXR, DDS, DNG, and other RAW formats. These files now display full previews instead of shell thumbnails.
ram-thumbnails•New Thumbnail Memory Budget setting. Thumbnail eviction now removes farthest-from-viewport items first and stops once memory pressure is relieved, instead of bulk-evicting everything offscreen.
delete-progress•Deleting 50+ items now shows a progress bar instead of freezing the UI. Items are removed in batches so the app stays responsive.
dblclick-maximize•Double-clicking empty space on the top bar toggles between maximized and normal window state, matching standard Windows behavior.
ai-prompt-v2•The AI vision prompt now describes lighting style, color temperature, mood, composition, and materials. Tags expanded to 6–12 keywords covering lighting, mood, composition, and texture.
ai-diagnostics•Enrichment failures now appear in the Settings activity log with per-file reasons. Summary line at the end reports total skip/error counts.
ollama-hints•The Ollama embedding model dropdown now shows italic recommendation text describing each model's strengths — accuracy, speed, and multilingual support.
fast-close•Eliminated ~25k filesystem stat calls during board load and save by caching file signatures. Especially noticeable on NAS/network storage.
fast-selection•Selection rendering now batches all outlines into a single draw call when selection exceeds 200 items, reducing ~6,000 draw commands to 1.
smart-eviction•Memory eviction now re-checks pressure after each item and stops early when pressure is relieved, instead of evicting all offscreen items unconditionally.
date-cluster-cache•Date-based clustering now parses timestamps from cached signatures instead of making filesystem calls, avoiding stalls on NAS boards.
space-pan-fix•Fixed an issue where the panning state could get stuck when releasing the Space key.
ingest-overlay-fix•Fixed the progress overlay getting stuck at 100% when importing non-visual files or after pipeline imports.
settings-indexing•Scan, Rebuild, Generate Thumbnails, and AI Enrich now operate only on checked index roots instead of all roots.
macos-filter•Files starting with ._ and __MACOSX directories are now automatically filtered out during import.
tutorial-overhaul•Brand new onboarding experience: Pan, Zoom, Cluster Layout, Object/Group, Dock Tour, Clear Board, and Import Your Files. The dock tour auto-opens each tool with labeled arrows pointing at key UI elements. Space + left-click pan is now the primary method taught.
tutorial-samples•The 50 bundled tutorial photos are placed with random overlaps instead of a neat grid, making the clustering 'wow moment' more dramatic when you hit the layout button.
ai-enrich-buttons•The AI enrichment buttons are now permanently shown at the top of the AI Search panel. No need to run a search first. Click either button to start generating AI captions and tags.
ai-cost-dialog•Before enriching files, FenSight shows an estimated API cost (for paid providers) or file count (for CLI providers). You can cancel before any tokens are spent.
ai-parallel•Enrichment now processes up to 3 files concurrently instead of one at a time. Especially noticeable with CLI providers like the Claude CLI.
ai-vfx-prompt•The vision prompt is now tuned for mattes, gradients, overlays, particles, and alpha channels. VFX content is no longer described as 'corrupted' or 'blank'. Captions no longer start with 'This image shows...'.
ai-search-ranking•Search results now blend a 15% text-match bonus for filenames and captions containing your query. Single-word searches like 'gastly' correctly rank exact matches above loosely similar items.
ai-captions-edit•Click any AI caption in the Properties dock to edit it inline. Press Enter to save, Escape to cancel. Your edits persist to disk.
ai-badges-toggle•New 'AI Badges' option under the View menu lets you show or hide the AI enrichment indicators on board items.
organize-perf•Opening the Organize dock with 3,000+ items selected used to freeze the UI for over a minute. Fixed the root cause: unnecessary file metadata reads and a WPF layout loop. Now opens in under a second.
tag-dock-perf•Tag dock with 3,000+ items selected no longer freezes. Preview list is now capped at 500 items and rebuilt in a single batch instead of one-by-one.
render-perf•Fixed a 615ms render stall caused by unnecessary bitmap scaling on every frame at extreme zoom-out. Also fixed off-screen selected items being drawn when they shouldn't be, and tiny spacer GIFs triggering expensive NAS reads.
lod-memory•Previously, high-resolution bitmaps were kept in memory even when zoomed so far out they served no purpose. Now they're automatically released 1.5 seconds after zoom settles, and re-loaded on zoom-in.
backfill-focus•High-res image loading and video thumbnail generation no longer stop when you switch to another window. They continue at a reduced rate (one per second) in the background.
nas-sync•Opening boards stored on a NAS no longer falsely reports files as missing. FenSight now waits for the network connection to establish and checks files in parallel with proper timeouts.
cache-reingest•Re-ingesting previously imported files now pulls cached thumbnails from disk instead of regenerating them. Re-imports complete near-instantly.
lod-cache-stale•Fixed several edge cases where a low-resolution placeholder would get stuck and never upgrade to the full-resolution version, even after the decode completed.
dock-sizing•Resized docks (right panel, tag panel, path panel, rename list, and more) remember their sizes between sessions. No more re-dragging every time you open the app.
properties-default•The Properties dock is open on first launch so you can see file details, AI captions, and tags immediately. Visibility persists across sessions.
settings-backup•New Settings Backup section in General settings. Export all preferences, AI config, dock layout, and index roots to a portable JSON file. Import on another machine to restore everything.
auto-index•Folders dragged onto the canvas are automatically added to your Indexing roots in settings. Indexing is now enabled by default for new users.
clear-index•New 'Clear index' button in Settings > Indexing lets you wipe all indexed records, AI tags, and embeddings with one click.
badge-tooltip•Hovering over colored badge dots on board items now shows the badge name.
file-type-ext•The Properties dock type label now includes the file extension, e.g. '.PNG Image', '.MP4 Video', '.PSD Document'.
ingest-smooth•The progress overlay no longer flashes between import phases. Progress updates are fluid at up to 5fps regardless of batch size. Sequence detection progress shows for every directory instead of waiting until the end.
ingest-carousel•The import loading carousel now shows screenshots of FenSight's key features. Navigation dots are clickable with a pulsing animation. Slides crossfade smoothly instead of snapping.
ingest-lock•Mouse zoom, pan, and drag are now blocked while the import overlay is visible, preventing accidental board manipulation during file processing.
video-dblclick•Double-clicking a video on the board now always toggles playback. Previously it could fail silently in surface-only mode or accidentally open VLC.
video-reingest•Videos that already have cached thumbnails and metadata no longer re-run the slow thumbnail generation pass on re-import.
free-tier•FenSight has a permanent free tier. The full canvas — drag-and-drop, layouts, tagging, save/load, and export — is yours to keep with no time limit. The 7-day trial gives you full access to every feature so you can try everything before deciding.
upgrade-prompt•Clicking a Pro feature on the free tier now opens a short description of what it does and how to unlock it. You can close it and continue using the app normally — nothing is locked or hidden.
annual-sub•A lower-commitment option for getting full Pro access. Pay $24 a year and use every feature — AI search, Chat, Duplicate Finder, Watched Folders, and all layout modes. Cancel any time; your boards and files are always yours.
studio-pack•Studio adds the advanced visualizers (World Map, Artist Visualizer, File Size Visualizer, Game Memory Mode) on top of everything in Pro Lifetime. Sold per seat at $119 — buy one to evaluate and add seats for your team anytime.
settings-migrate•Existing settings from previous versions are quietly moved to the new location on first launch. Nothing to do — your preferences, watched folders, and AI settings are all preserved.
dupe-finder•New tool to find exact duplicate files across your indexed folders. Four-phase detection: size grouping, metadata matching, partial hash, then full SHA-256. Results appear in a tree view with checkboxes. Check the extras and press Move to Trash to clean up.
organize-metadata•Batch rename now supports appending Created/Modified/EXIF shoot date, pixel dimensions, and video duration to filenames. Metadata is cached per session so the preview updates instantly.
star-ratings•Hover any item to reveal a star rating overlay. Click to rate 1-5, click again to remove. Ratings are stored as tags so they work with filters, export, and rename. A compact gold badge shows ratings at a glance.
ftp-upload•The Export dock is now FTP Upload, accessible from Tools menu. Clarifies its purpose as remote file upload vs. path copy/file export which lives in the Pathing dock.
ai-captions-results•Each AI search result row now shows the generated caption below the filename. Full caption visible in tooltip.
ai-right-click•Right-click one or more items on the board and choose 'AI Enrich' to generate captions and tags without running a full search.
ai-search-log•Log entries in the AI Search panel can now be selected and copied. Auto-scroll pauses when you're reading the log.
ingest-lag•Large imports used to place every item at the top-left corner before layout ran, flooding the viewport and causing severe input lag. Items are now held off-screen until positions are assigned, so the board stays responsive throughout.
selection-fps•Dragging a selection box over a large board would trigger expensive UI rebuilds on every mouse-move frame. Updates are now throttled during the drag and committed once on release, keeping the frame rate smooth.
lod-stall•After a large import finished, the rendering system would spin in a tight loop checking for image quality upgrades even when there was nothing to do. A cooldown now suppresses these checks until you pan or zoom.
context-menu-freeze•Right-clicking after a large import could freeze the UI for seconds while Windows enumerated shell extensions. Context menus now load asynchronously with a 1.5-second timeout.
video-thumb-pipeline•Video thumbnails now use the Windows shell cache by default (instant for files Explorer has seen). On-demand generation available via right-click. Eliminates the slow thumbnail pass that could take minutes on large boards.
video-thumb-persist•Video thumbnails, dimensions, and duration are now saved in the board file. Reopening a board no longer re-generates thumbnails for every video.
video-playback-fix•Fixed a chain of regressions where LibVLC would open a standalone window instead of rendering inline on the canvas.
quality-dropdown•The quality setting in the toolbar actually affects board rendering quality now. Previously it was ignored and items always upgraded to Full resolution.
zoom-fit•The board no longer snaps to fit before video thumbnails have loaded. The view settles after all thumbnails are ready.
broken-images•CMYK JPEGs, corrupt GIFs, and other formats that can't be decoded are now flagged for a retry instead of getting stuck as blank placeholders.
cluster-colors•Each custom cluster preset can now have its own label text and background colors, independent of the global label setting.
cluster-frames•Adjacent cluster frames no longer overlap. Padding now scales with your group spacing setting, and overlapping pairs are automatically separated.
save-progress•Boards with 150+ items now show a progress meter during save instead of appearing to freeze. Three labeled steps: saving, writing, and generating preview.
nas-missing•The two separate 'missing files' popups on board load are now a single dialog with Copy List and Resync Board actions.
connector-persist•Straight, Elbow, Curve, and Line connector styles are now saved in the board file and restored on load.
progress-bar•The progress bar is wider and no longer truncates long phase labels. New yellow-to-orange gradient style.
audio-device•Videos now play through your preferred audio output device. The selected device is honored at startup and can be switched live — all active video players switch immediately without restarting.
pan-lag•Panning the board with a video playing no longer causes visual stutter. The video view is hidden during pan and restored smoothly after the gesture ends.
ui-freeze•Fixed UI freezes caused by third-party audio driver injection during COM calls. LibVLC stop/dispose is now fully off the UI thread, so stopping a video no longer hangs the interface.
zoom-flash•The native video window no longer flashes white on every zoom step. The video view collapses during zoom and restores smoothly.
scroll-zoom•Mouse wheel zoom and all keyboard shortcuts now work correctly when the cursor is over a playing video. Previously the LibVLC window absorbed scroll events and stole keyboard focus.
dblclick•Double-clicking a playing video now toggles playback as expected. Wacom/stylus pen double-click is also fixed.
mute•Press M to mute or unmute all active media at once. A speaker icon flashes for one second to confirm the state change.
magnifying-glass•New magnifying glass tool (Z key or toolbar button) shows a zoomed-in view under your cursor. Auto-hides when zoomed in close enough that it wouldn't add detail.
generic-ingest•New setting lets you drop any file type onto the board — PDFs, PSDs, Office docs, anything. Files appear with their Windows shell thumbnail or icon. Off by default; enable in Settings.
watched-folders•Monitor folders for new files and automatically add them to your board. Management UI in Settings with drag-and-drop folder add. Detects moved files within watched roots and offers a relocation dialog.
custom-clusters•Create and save your own cluster layout presets with independent Group Shape and Shape selectors, spacing controls, and sort order. Multiple presets supported. Favorites pin to the top of the layout dropdown.
object-mode•Board now defaults to object mode (individual item selection). Press A to toggle group mode. Alt+marquee ignores group expansion.
cursor-zoom•Ctrl +/- now zooms toward your cursor position instead of viewport center. Falls back to selection center or viewport center when cursor is off-canvas.
entropy-clustering•Entropy clustering upgraded from fixed buckets to dynamic quantile-based buckets with capacity up to 50. Dimension grouping uses range-based buckets with Width/Height presets.
hue-buckets•Hue clustering uses videos and sequence previews for visual metrics instead of falling back to Unknown. Labels show RGB color ranges instead of degree notation.
date-clustering•Created Date and Modified Date clustering now uses full timestamps instead of month-only bucketing. High bucket counts can split near-second differences. Labels auto-include fractional seconds when needed.
labels-overhaul•Labels now anchor at bottom-center. Inline edit box resizes live while typing, stays screen-sized during zoom, and commits cleanly on deselect. Text alignment control added to the style popover.
cluster-labels•Cluster labels now persist in board files, scale correctly at all zoom levels, and wrap to cluster width. Labels are rebuilt on re-layout and cleaned up when empty.
ingest-pipeline•Imports now use a two-stage pipeline: fast header scan followed by decode workers. Per-drive throttling prevents NAS and SSD from competing for resources. UI updates are throttled to prevent crashes on large imports.
video-sizing•Fixed videos all appearing the same size. Video metadata is now applied correctly during import, and boards saved with broken sizing are auto-repaired on load.
large-delete•Deleting more than 20 items at once now runs the file backup in the background. Items are removed from the board instantly while the undo backup completes.
min-zoom•Default minimum zoom lowered from 1% to 0.2%. New snapping slider in Settings with 7 preset levels. Large boards (3,000+ items) now have room to see everything.
search-field•Toolbar search field now shows italic 'search by name' placeholder. The static Search label has been removed to save space.
licensing•7-day full trial per Windows user, no registration required. After trial, core canvas features remain free. Premium features (clustered layouts, Chat, AI Search) require a license.
ppt-import•Import .ppt/.pptx files as document items with first-slide preview. Split individual slides to images via the right-click context menu.
surface•Rendering and input are always on; remaining toggles are RenderNonFileItemsOnBoardSurface and ShowBoardPerfOverlay.
input•Selection, marquee, drag-move, pan/zoom, right-click menus, and Ctrl+wheel overlay sizing route through BoardSurface; surface input auto-disables for shape or label tools.
perf•Interaction state drives render cadence; redraws are coalesced, LOD streaming is chunked and cancellable, and sub-pixel draws are skipped at extreme zoom-out.
video•Playback ignores LOD/backfill scheduling, auto-stops when scrolled offscreen, and surface overlay/input are guarded during playback.
thumbs•Delayed video thumbnails upgrade to natural/visual size; videos use ApplyNaturalSize to preserve dimensions.
quality•Quality mode respects decode limits and decode size is part of cache keys; large-board thumbnail decode caps reduce memory spikes.
overlay•Overlay UI toggle is independent of the BoardSurface perf HUD; backtick toggles the HUD and the info button opens shortcuts.
layout•Layouts now center where you are looking instead of auto-fitting the full board.
clipboard•Copy paths now retries when the clipboard is busy.
undo•Undo stacks are capped; delete undo restores from recycle stashes and confirmation uses dark chrome with action summaries.
identity•Board items now have a stable identity stored in board JSON for caching and undo.
export•Board thumbnails and chat previews prefer BoardSurface rendering for consistent output.
initial-import•The foundational canvas: drag images, videos, and files from Explorer onto an infinite board. Pan with middle-mouse, zoom with scroll wheel. Items render at their natural aspect ratio with automatic thumbnails.
folder-import•Drop entire folders onto the board to import all supported files at once. A progress bar shows import status with a cancel button for large imports.
layouts•One-click layout presets arrange items by color hue, file type, dimensions, creation date, and more. Masonry and screen-space arrangements keep items visible and organized.
selection•Rubber-band selection, Shift-click additive selection, and Ctrl+A to select all. Selection count badge in the toolbar. Zoom-at-cursor for precise navigation.
organize-dock•Batch rename selected files with prefix, suffix, numbering, and find-replace. Live preview shows old and new filenames side by side before applying. Supports rename, copy, and move.
export-dock•Export selected files to local folders or upload to remote FTP/S3 destinations. Path ID system for organizing files into named output folders.
labels-shapes•Add text labels anywhere on the board with customizable font, size, and color. Draw rectangles, ellipses, and trapezoids. Connect items with straight, elbow, or curved connectors.
chat-dock•Chat with an AI assistant that understands your board: item counts, layout, tags, and selection. Supports OpenAI API, Claude CLI, and Codex. Tag commands let the AI organize your files.
video-playback•Double-click any video to play it inline on the canvas. Play badge shows on video items. Video thumbnails generated automatically.
format-support•Import JPG, PNG, GIF, BMP, TIFF, WebP, HEIC, RAW (DNG, CR2, NEF, ARW), PSD, EXR, HDR, DDS, KTX, MP4, MOV, AVI, MKV, and PowerPoint files. Image sequences detected and grouped automatically.
save-load•Save your entire board layout to a .fns file and reload it later. All item positions, tags, labels, shapes, and connectors are preserved.
undo-redo•Ctrl+Z to undo, Ctrl+Y to redo. Deleted items can be restored from the recycle bin. Confirmation dialog with action summary before destructive operations.
settings•Comprehensive settings for performance, import behavior, overlay display, label styles, and export destinations. Dark theme throughout the application.
tagging•Add tags to any item. Tags dock shows all tags across selected items. Filter the board by tag to find specific files. Tags persist in board files.
Want to see the full commit history or contribute to the project?