{"id":"697936069a8499159a4abb09","title":"2026 01 27 Issue 96","path":"how-to/committee/release-notes/2026-01-27-issue-96","contentMarkdown":"# 27-Jan-2026 — enhance album grid view with masonry layout, gap control, and URL persistence [ref: #96](https://github.com/nbarrett/ngx-ramblers/issues/96)\n\n## [build 439](https://github.com/nbarrett/ngx-ramblers/actions/runs/21416381896) — [commit b1cae9c](https://github.com/nbarrett/ngx-ramblers/commit/b1cae9c5b856291e2b97d4d2f0f487dfc4eb31c5)\n\n_____\n\nAlbum Grid View Enhancements:\n- Add masonry layout mode as an alternative to fixed-aspect grid layout\n- Add configurable gap control between images (0 to 1.75rem with descriptive labels)\n- Add column count stepper (1-6 columns) for real-time grid customization\n- Add layout mode toggle to switch between masonry and fixed-aspect views\n- Add title visibility toggle in grid view\n- All grid settings (columns, gap, layout mode, titles, album view) now persist in URL params\nNew Components:\n- BadgeStepperComponent: Reusable numeric stepper with +/- buttons, custom labels, and unit formatting\n- HeightResizerComponent: Draggable height adjuster with mouse and touch support for preview panels\nAlbum Editor Improvements:\n- Grid settings now configured via toolbar controls in presentation mode\n- Settings auto-save with album configuration\n- Simplified editor UI with informative alert about grid control location\nModel Updates:\n- Add GridLayoutMode enum (FIXED_ASPECT, MASONRY)\n- Extend GridViewOptions with layoutMode, imageFit, and gap properties\n- Add URL param StoredValue constants for grid state persistence\n- Update DEFAULT_GRID_OPTIONS with sensible defaults (masonry, 2 columns, 1rem gap)\nTechnical Details:\n- CSS Grid with column-count for masonry layout\n- Bootstrap grid with responsive column classes for fixed-aspect\n- Real-time URL updates without page reload using Location.replaceState\n- URL params read on init for shareable album view states","contentHtml":"<h1>27-Jan-2026 — enhance album grid view with masonry layout, gap control, and URL persistence <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/96\">ref: #96</a></h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/21416381896\">build 439</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/b1cae9c5b856291e2b97d4d2f0f487dfc4eb31c5\">commit b1cae9c</a></h2>\n<hr>\n<p>Album Grid View Enhancements:</p>\n<ul>\n<li>Add masonry layout mode as an alternative to fixed-aspect grid layout</li>\n<li>Add configurable gap control between images (0 to 1.75rem with descriptive labels)</li>\n<li>Add column count stepper (1-6 columns) for real-time grid customization</li>\n<li>Add layout mode toggle to switch between masonry and fixed-aspect views</li>\n<li>Add title visibility toggle in grid view</li>\n<li>All grid settings (columns, gap, layout mode, titles, album view) now persist in URL params\nNew Components:</li>\n<li>BadgeStepperComponent: Reusable numeric stepper with +/- buttons, custom labels, and unit formatting</li>\n<li>HeightResizerComponent: Draggable height adjuster with mouse and touch support for preview panels\nAlbum Editor Improvements:</li>\n<li>Grid settings now configured via toolbar controls in presentation mode</li>\n<li>Settings auto-save with album configuration</li>\n<li>Simplified editor UI with informative alert about grid control location\nModel Updates:</li>\n<li>Add GridLayoutMode enum (FIXED_ASPECT, MASONRY)</li>\n<li>Extend GridViewOptions with layoutMode, imageFit, and gap properties</li>\n<li>Add URL param StoredValue constants for grid state persistence</li>\n<li>Update DEFAULT_GRID_OPTIONS with sensible defaults (masonry, 2 columns, 1rem gap)\nTechnical Details:</li>\n<li>CSS Grid with column-count for masonry layout</li>\n<li>Bootstrap grid with responsive column classes for fixed-aspect</li>\n<li>Real-time URL updates without page reload using Location.replaceState</li>\n<li>URL params read on init for shareable album view states</li>\n</ul>\n"}