Version 1.5.0
This major feature release establishes a reusable SPM Image Gallery Engine with responsive presentation, dependable loading and error states, direct image navigation, precise zoom and pan controls, touch gestures, and accessible keyboard and focus behavior.
Release Highlights
One Consistent Gallery Experience
A reusable viewer gives SPM image collections the same dependable navigation, controls, and presentation across pages.
Closer Image Exploration
Visitors can zoom, pan, swipe, and move through images with mouse, touch, or keyboard input.
Gallery Viewer Experience
Reusable Gallery Foundation
The viewer was built as a shared engine instead of a one-off page effect. Gallery pages can now provide their own images and descriptive content while retaining the same interaction model and controls.
Direct Click-to-Open Viewing
Selecting a gallery image opens it in an isolated large-format viewer, keeping attention on the chosen image without navigating away from the collection.
Fit-First Presentation
Each image begins in a fitted view so the complete composition is visible within the available screen area. This final baseline was chosen over a cropped cover-style starting view.
Loading and Error Feedback
The viewer communicates when an image is loading and provides a clear error state if it cannot be displayed. Navigation and view controls remain unavailable until the image is ready.
Zoom, Pan, and Touch Controls
Point-Aware Zooming
Double-clicking or double-tapping zooms toward the selected area, helping visitors examine a detail without losing the visual context of where they started.
Pinch-to-Zoom Support
Compatible touch devices can use a familiar two-finger pinch gesture to adjust image magnification inside the viewer.
Bounded Image Panning
When an image is enlarged, visitors can drag it to inspect different areas. Movement is constrained so the image remains controllable and cannot be permanently lost outside the viewing area.
Reliable Reset View
Reset View returns the active image to its original fitted scale and centered position, providing a predictable way back after zooming and panning.
Reliability and State Management
Viewer Isolation
The expanded image experience is separated from the surrounding gallery interface, reducing accidental interaction with background content while the viewer is active.
Separated Gesture Handling
Tap, double-tap, pinch, drag, and navigation behavior are managed as distinct interactions so one action is less likely to trigger another unintentionally.
Fresh State for Every Image
Changing images resets the viewing position appropriately and waits for the new image to become ready before enabling actions that depend on its dimensions.
Completion and Testing
The completed engine was reviewed around the final Fit baseline, viewer opening and closing, image-to-image navigation, zoom and reset behavior, bounded panning, gesture separation, loading and failure states, keyboard controls, and restoration of the page after exit.
The reusable foundation was designed to support multiple themed gallery pages without changing the visitor's core controls. The individual gallery experiences built on this engine are documented separately in SPM 1.5.1.
Known Limitations
Zoom detail depends on the source image
The viewer can enlarge an image, but it cannot create detail that is not present in the original file. Lower-resolution source images may appear soft at higher magnification.
Large images require more device resources
High-resolution files can take longer to load and use more memory, particularly on slower connections or devices with limited resources. The viewer's status messaging reports the image's current state.
Touch behavior can vary by browser and device
Pinch, double-tap, and drag input depend on the capabilities and gesture behavior of the visitor's browser and hardware. Keyboard and on-screen controls remain available where supported.
Fit mode may leave open space
The intentional Fit-first baseline keeps the whole image visible. When an image and screen have different proportions, unused space may appear around the image instead of cropping part of the composition.