Live Reference Panel

"Live Reference Panel — a plugin built by an artist, for artists, to keep your references sharp and your colours always within reach."

Keep Your References and Colours Always Within Reach
Live Reference Panel is a professional Photoshop plugin designed for digital artists and illustrators who rely on reference images and colour palettes in their creative process. With a streamlined, dockable panel, it gives you instant access to the tools you need without interrupting your workflow.

Powerful Features for Creative Control
Load up to five reference images, lock them to prevent changes, and view them with advanced controls like zoom, pan, and 1:1 detail. Build and manage a twelve-slot colour palette, complete with a professional HSV picker, live hex input, and seamless Photoshop integration. Smart clipboard detection even lets you paste images, colours, and text directly into your workspace.

Organised and Reliable Workflow
Save and load entire workspaces, including images, colours, and settings, to keep projects consistent across sessions. Auto-save and auto-load options make sure your references are never lost, while customisable settings and multi-language support ensure the panel adapts to your way of working.

Designed for Professionals, Built for Speed
Whether you’re a concept artist, illustrator, or designer, Live Reference Panel keeps your reference material and colours centralised, responsive, and always at hand — so you can focus on creating.

  • Reference Management — five dedicated image slots with drag-and-drop, paste from clipboard, and lock protection
  • Advanced Viewer — zoom, pan, and 1:1 viewing for pixel-perfect detail
  • Colour Palette System — twelve colour slots with paint-splat icons, hex input, HSV picker, and Photoshop foreground sync
  • Smart Clipboard — auto-detects and pastes images, colours, or text directly into the panel
  • Workspace Control — save and load full workspaces with images, colours, and preferences intact
  • Customisable Settings — multi-language support (8 languages), tooltip control, and flexible zoom options
  • Auto-Save & Recovery — keep your work safe across sessions with auto-load on startup
  • Professional Integration — seamless Photoshop foreground/background colour syncing

Requirements:

  1. Minimum PS Version: 24.0.0
  2. Internet Connection
  3. Valid Licence Key from Gumroad/Adobe Cloud Account

*Please note this plugin has the following built in languages: English, English US, Français, Deutsch, Español, Italiano, Português, Ελληνικά and 日本語

October 8 2025
Working through some beta testing before pre-release finalisation, and looking at possible additions for v.2. These will include a possible colour sampling in the image preview window.

Changelog

Live Reference Panel - Version History

Version 1.0.6 Minor

2026-03-02
  • ### Changed
  • - **Pan/zoom system rewritten**: Replaced background-image/background-position approach with direct `<img>` element + `width`/`height` pixel resizing + `translate3d` pan
  • - `#viewerImage` changed from `<div>` to `<img draggable=\"false\">` in HTML
  • - `applyImageTransforms()` now sets `img.style.width/height = naturalWidth * zoom` and `translate3d(panX, panY, 0)` — no CSS `scale()`, so `overflow:hidden` clips correctly
  • - `fitToContainer()` uses double `requestAnimationFrame`, `clientWidth/clientHeight`, scales to fit and centers on load and panel resize
  • - Wheel zoom to cursor using `getBoundingClientRect` offset math
  • - Pointer pan with `setPointerCapture`, `{passive:false}` on pointerdown/move
  • - `ResizeObserver` on container refits image automatically when panel resizes
  • - Full cleanup via `_pzCleanup()` on viewer close
  • - **Pan always active**: Removed dedicated pan mode toggle button (`✥`) — pan is now always available by dragging the image
  • - Removed `togglePanMode()` method, `panTool` button, and all `panSystem.disablePanMode()` calls
  • - Removed `\'Pan Mode On\'`, `\'Pan Tool Active\'`, `\'Zoom to Pan\'` from status key map
  • - **Zoom buttons** zoom toward container centre (same pan-adjust math as wheel zoom)
  • - **Reset zoom** (`1:1` button) now calls `fitToContainer()` — fits image to viewer rather than snapping to 100%
  • - Removed stale `max-width` media query on `.viewer-image` that fought JS sizing
  • ### Technical
  • - Files Modified: `index.html`, `styles.css`, `main.js`
  • - New methods: `setupPanZoom(container, imgEl, imageUrl)`, `_zoomByFactor(factor)`
  • - Removed methods: `setupBackgroundImage()` (shim only), `setupSmoothPan()` (stub), `togglePanMode()`, `initProvenPanning()`, `resizeImageContainerToFit()`
  • - `_panDown/_panMove/_panUp/_panCancel` replaced by `_pzCleanup` / `_fitToContainer` refs

Version 1.0.5 Minor

2026-03-02
  • ### Fixed
  • - **i18n keys showing in notifications**: `translations.js` `TranslationSystem` (which overwrites `window.i18n`) lacked a guard, causing unknown keys (e.g. `status.references_locked`) to be written to the DOM as raw strings
  • - Added `if (text === key) return;` guard to `TranslationSystem.applyTranslations()` — matches behaviour of `i18n.js`
  • - **Colour picker i18n tags showing**: Same root cause — `picker.*` keys missing from `TranslationSystem`, now preserved via guard
  • - **Missing status translation keys in `translations.js`**: Added full `status.*` key set to `en-GB` locale including all notification strings (`status.references_locked`, `status.all_images_cleared`, `status.checking_clipboard`, etc.)
  • - **Unmapped status strings in `updateStatusText`**: Added missing entries to `statusKeyMap` for strings passed as hardcoded text but not yet mapped to translation keys (`Image added to panel`, `Pan Tool Active`, `Selection added to reference panel`, etc.)
  • - **Save Workspace menu**: Simplified handler — removed verbose guard/console.warn, now consistently calls `window.liveRefPanel.saveWorkspace()` like all other menu handlers
  • ### Technical
  • - Files Modified: `translations.js`, `main.js`, `manifest.json`

Version 1.0.4 Minor

2026-03-01
  • ### Added
  • - **i18n Translation System**: Full internationalisation via `lib/ui/i18n.js`
  • - Loads translations from `locales/{lang}/messages.json` via fetch
  • - Supports en-GB, en-US, fr, de, es, it, pt, el, ja
  • - `applyTranslations(root)` accepts optional root element for scoped updates
  • - Guard added: skips setting textContent when translation key not found (preserves HTML fallback text)
  • - **Settings Modal**: Rebuilt using `lib/ui/modal-engine.js` + `lib/core/settings-modal.js`
  • - Opens as proper UXP `<dialog>` popup (not inline in panel)
  • - Two tabs: Settings and Licence
  • - Settings tab: Language, Auto-save workspace, Show tooltips, Show notifications, Default zoom, Maintain aspect ratio, Auto-load workspace, Preserve files on quit
  • - Licence tab: Activated email/key display (from licenseEngine) and full EULA
  • - All settings persist to localStorage with `lrp_` prefix and sync back to `this.settings`
  • - **Show Notifications setting**: New checkbox in General section, defaults on
  • - **version.js integration**: `lib/core/version.js` now `require()`d in main.js as `VERSION` constant
  • - Reads version directly from manifest.json (single source of truth)
  • - Replaces all hardcoded version strings in main.js (update check, about dialog, workspace metadata, settings modal)
  • ### Changed
  • - `applyTranslations` now skips elements where translation is not found, preserving HTML fallback text
  • - Settings modal `onSave` is fully synchronous — language change applied via `Promise.resolve()` after modal closes
  • - `this.settings` default object now includes `showNotifications: true`
  • ### Fixed
  • - Settings modal keys showing instead of translated text (caused by deferred `applyTranslations` running before messages loaded)
  • - Save button not closing modal (async `setLanguage().then()` was throwing when returning non-Promise)
  • - Licence tab showing `licence.not_loaded` key instead of actual value
  • ### Technical
  • - Files Created: none
  • - Files Modified: `lib/core/settings-modal.js`, `lib/ui/i18n.js`, `main.js`, `locales/en-GB/messages.json`
  • - Version source: `manifest.json` → `lib/core/version.js` → `const { VERSION } = require(\'./lib/core/version.js\')`

Version 1.0.3 Minor

2026-01-30
  • ### Added
  • - **Hamburger Menu System**: Complete panel flyout menu integration
  • - About Live Reference Panel - displays version and copyright info
  • - Check for Updates - live API check from WordPress update system
  • - Settings - placeholder for future settings modal
  • - Visit Plugin Page - opens plugin page at robsnow.eu
  • - Help & Documentation - opens help documentation
  • - Toggle Clean Capture Mode - triggers clean capture toggle
  • - Clear All References - confirmation dialog and clears all images
  • - Save Workspace - triggers workspace save function
  • - Reload Plugin - reloads the plugin
  • - Update API integration with WordPress REST endpoint (https://robsnow.eu/wp-json/updates/v1/live-reference-panel)
  • - Translation helper for menu items with localStorage language support
  • - Network permissions for robsnow.eu domain
  • ### Changed
  • - Created dedicated `entrypoints.js` file for menu structure and command handlers
  • - Moved `entrypoints.setup()` from main.js to entrypoints.js (cleaner architecture)
  • - All menu items dispatch CustomEvents handled in main.js
  • - Added `show()` lifecycle method to panel configuration
  • ### Technical
  • - Files Created: `entrypoints.js`
  • - Files Modified: `index.html`, `main.js`, `manifest.json`
  • - Version bumped to 1.0.3 in manifest.json and main.js (2 locations)

Version 1.0.2 Minor

2026-01-12
  • ### Added
  • - Portuguese (Português) language option to language selection dropdown
  • - Comprehensive EULA integration from desktop/Photoshop/__doc/EULA.rtf with 9 sections
  • - Full legal documentation covering Grant of Licence, Restrictions, Ownership, Adobe Services, Warranties, Liability, Termination, Governing Law, and Web Services
  • ### Fixed
  • - **Critical**: Pan mode now properly disables when removing currently viewed image
  • - **Critical**: Pan mode now properly disables when closing viewer
  • - Pan mode now properly disables when clearing all images
  • - \"Pan Mode On\" status text no longer persists after image removal
  • - Startup & Storage checkbox labels now display correctly (\"Auto-load last workspace on startup\", \"Keep reference files when closing\")
  • - Fixed method name bug: changed removeImageFromSlot to removeFromSlot
  • ### Changed
  • - Removed Cancel button from license activation modal (license required to use app)
  • - Removed Keyboard Shortcuts section from Settings tab for simplified UI
  • - Changed all \"License\" text to \"Licence\" (UK English) throughout License tab
  • - **Performance**: Implemented requestAnimationFrame batching for smooth 60fps panning
  • - **Performance**: Cached element dimensions to avoid expensive layout reflows during panning
  • - **Performance**: Eliminated offsetWidth/offsetHeight reads on every mousemove event
  • - Pan feature now dramatically more responsive and smooth
  • ### Removed
  • - Third-Party Components section from license panel (jsPDF reference not applicable)
  • - Keyboard Shortcuts section from Settings panel
  • - Cancel button event listeners and references from license modal

Version 1.0.1 Minor

2025-12-26
  • ### Added
  • - Clear All Images confirmation dialog with UXP-compatible implementation
  • - Safety confirmation prevents accidental deletion of all reference images
  • - Quick Notes textarea hiding during confirmation to prevent visual artifacts
  • ### Fixed
  • - Color swatch selection/deselection functionality
  • - Toggle panel icons showing \"+\" instead of proper SVG icons on app refresh
  • - All three collapsible panels now show correct expand/collapse icons
  • - Updated loadSectionStates() to properly set icon src to icons/open_panel.svg
  • ### Changed
  • - Foreground/Background color setting enhanced with Shift+click support
  • - Normal click on \"Set Foreground\": Sets selected color as Photoshop foreground
  • - Shift+click on \"Set Foreground\": Sets selected color as Photoshop background
  • - Updated tooltip: \"Set Selected Colour as Foreground (Shift+Click: Background)\"

Version 1.0.0 Major

2025-12-26
  • ### Added
  • - Complete Gumroad license verification system with product ID integration
  • - Admin override functionality for license management
  • - License activation modal with UXP-compatible input styling
  • - Settings panel license display in read-only format
  • - Build script for Adobe Exchange version (removes license system)
  • - Complete documentation package with 14-section user manual
  • - Updated POT translation file with 47+ license system entries
  • - Professional RTF format documentation
  • ### Fixed
  • - Missing close button functionality in settings modal
  • - UXP input visibility issues using Text Collector CSS implementation
  • - Obsolete license icon lookup code (console error resolved)
  • - Proper status text reset when closing settings modal
  • ### Initial Release Features
  • - 5-slot reference image management system with drag/drop support
  • - 12-slot color palette system with HSV picker
  • - Photoshop foreground/background color integration
  • - Smart clipboard detection for automatic content routing
  • - Workspace persistence with save/load functionality
  • - Auto-save options for workspace management
  • - Complete settings system with preferences management
  • - Support for 8 languages (English UK/US, French, German, Spanish, Italian, Greek, Japanese)
  • - Pan system with coordinate calculation and zoom threshold support
  • - Image viewer with zoom, pan, and rotation controls
  • - UXP manifest v5 with proper entrypoint configuration
  • - Multi-language POT file structure ready for translation
  • - Custom confirmation dialogs for UXP compatibility
Bugs

Live Reference Panel - Known Issues

  • Preview issue – If you delete all the images from the slots the preview image should clear and close.
  • Drag option issue – Can we make the drag function more fluid and smooth and responsive
  • Pan Mode Issue – The pan mode feature should switch off when the images are deleted from slots
  • Add Portuguese – Add Portuguese language to the language selection options in settings
  • Remove Cancel – Remove the Cancel Button from the Licence screen
  • License issue – - Change License to Licence in Settings
  • EULA issue – – Change EULA to correct format

Live Reference Panel - Latest Update

v1.0.6 2026-03-02

Release Notes:

  • ### Changed
  • - **Pan/zoom system rewritten**: Replaced background-image/background-position approach with direct `<img>` element + `width`/`height` pixel resizing + `translate3d` pan
  • - `#viewerImage` changed from `<div>` to `<img draggable=\"false\">` in HTML
  • - `applyImageTransforms()` now sets `img.style.width/height = naturalWidth * zoom` and `translate3d(panX, panY, 0)` — no CSS `scale()`, so `overflow:hidden` clips correctly
  • - `fitToContainer()` uses double `requestAnimationFrame`, `clientWidth/clientHeight`, scales to fit and centers on load and panel resize
  • - Wheel zoom to cursor using `getBoundingClientRect` offset math
  • - Pointer pan with `setPointerCapture`, `{passive:false}` on pointerdown/move
  • - `ResizeObserver` on container refits image automatically when panel resizes
  • - Full cleanup via `_pzCleanup()` on viewer close
  • - **Pan always active**: Removed dedicated pan mode toggle button (`✥`) — pan is now always available by dragging the image
  • - Removed `togglePanMode()` method, `panTool` button, and all `panSystem.disablePanMode()` calls
  • - Removed `\'Pan Mode On\'`, `\'Pan Tool Active\'`, `\'Zoom to Pan\'` from status key map
  • - **Zoom buttons** zoom toward container centre (same pan-adjust math as wheel zoom)
  • - **Reset zoom** (`1:1` button) now calls `fitToContainer()` — fits image to viewer rather than snapping to 100%
  • - Removed stale `max-width` media query on `.viewer-image` that fought JS sizing
  • ### Technical
  • - Files Modified: `index.html`, `styles.css`, `main.js`
  • - New methods: `setupPanZoom(container, imgEl, imageUrl)`, `_zoomByFactor(factor)`
  • - Removed methods: `setupBackgroundImage()` (shim only), `setupSmoothPan()` (stub), `togglePanMode()`, `initProvenPanning()`, `resizeImageContainerToFit()`
  • - `_panDown/_panMove/_panUp/_panCancel` replaced by `_pzCleanup` / `_fitToContainer` refs

Requires: Adobe Photoshop 24.0.0 or later

Documentation and Tutorials​

Additional Learning Resources

A detailed PDF User Guide is available for download using the link provided below. This document explains all key features and functions of the plugin, helping you become familiar with its tools and workflow so you can make the most of your creative process.

For hands-on demonstrations and walkthroughs, visit our YouTube channel, where a full series of video tutorials cover everything you need to get started with the app. These videos provide visual guidance, practical examples, and helpful tips to ensure a smooth and productive learning experience.

To stay updated with new tutorials, feature overviews, and upcoming releases, subscribe to the channel here: RobArt Illustration

PDF User Manual Link(s) English, English US, Français, Deutsch, Español, Italiano, Português, Ελληνικά and 日本語

copyright © rob art | illustration 2026. all rights reserved.

You cannot copy content of this page