Track the evolution of FenSight with detailed commit history
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•A single Studio Pack activates full lifetime Pro features on up to three machines — great for small teams who want everyone working with the same tools without per-seat renewals.
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?