Commit graph

14 commits

Author SHA1 Message Date
Azgaar
73d6d664fc feat: Implement RuntimeDefsModule for managing shared runtime definitions and update related components 2026-03-13 12:18:27 +01:00
Azgaar
f928f9d101 feat: Implement compatibility bridge for legacy single-SVG callers
- Added compatibility lookups for legacy single-SVG callers to ensure existing workflows function during migration to new architecture.
- Implemented `getLayerSvg`, `getLayerSurface`, and `queryMap` functions as stable globals.
- Migrated relevant code in `draw-state-labels.ts` to utilize the new `queryMap` function for scene-aware lookups.
- Updated `layers.js` to manage layer visibility and registration more effectively.
- Introduced `LayersModule` to handle layer registration, visibility, and ordering.
- Created `WebGLSurfaceLayer` and `SvgLayer` classes to encapsulate layer behavior.
- Refactored `TextureAtlasLayer` to utilize the new layer management system.
- Updated HTML structure to accommodate new SVG and canvas elements.
- Ensured all TypeScript checks pass with zero errors on modified files.
2026-03-13 11:56:07 +01:00
Azgaar
52708e50c5 feat: Update SceneModule to manage camera state and viewport, refactor WebGL layer to utilize Scene methods 2026-03-13 02:39:40 +01:00
Azgaar
125403b82f feat: Implement Story 1.6 - Move Shared Defs Resources to the Dedicated Host
- Added documentation for Story 1.6 outlining the requirements and acceptance criteria for migrating shared defs-backed resources to a dedicated host.
- Updated sprint status to reflect the readiness of Story 1.6 for development.
- Created epics document detailing the breakdown of the Fantasy-Map-Generator project, including functional and non-functional requirements.
- Added implementation readiness report assessing the current state of documentation and readiness for the project.
- Introduced end-to-end tests for scene bootstrap to ensure runtime hosts are created and reused correctly.
2026-03-13 00:22:23 +01:00
Azgaar
9e00d69843 refactor: replace webgl-layer-framework with webgl-layer module
- Removed the webgl-layer-framework module and its associated tests.
- Introduced a new webgl-layer module to handle WebGL2 layer management.
- Updated references throughout the codebase to use the new webgl-layer module.
- Adjusted layer registration and rendering logic to align with the new structure.
- Ensured compatibility with existing functionality while improving modularity.
2026-03-12 19:15:49 +01:00
Azgaar
8560c131eb feat: Enhance WebGL2LayerFramework initialization and improve global variable handling 2026-03-12 18:25:08 +01:00
Azgaar
2dae325d05 feat: Update sprint status to mark retrospectives as done for Epic 1 and Epic 3 2026-03-12 15:48:19 +01:00
Azgaar
1c1d97b8e2 feat: Update sprint status and complete Epic 2 tasks
- Mark Epic 2 as done and update related stories to reflect completion.
- Add Epic 2 retrospective document detailing team performance, metrics, and insights.
- Enhance draw-relief-icons.ts to include parentEl parameter in drawRelief function.
- Introduce performance measurement scripts for WebGL and SVG rendering comparisons.
- Add benchmarks for geometry building in draw-relief-icons.
2026-03-12 15:43:19 +01:00
Azgaar
a285d450c8 feat: refactor draw-relief-icons renderer to utilize WebGL2LayerFramework
- Removed global renderer, camera, and scene management in favor of layer framework integration.
- Implemented terrain layer registration with setup, render, and dispose methods.
- Enhanced texture loading and caching mechanisms.
- Updated geometry building to return Mesh objects directly.
- Added performance benchmarking story for render performance validation.
- Created bundle size audit story to ensure effective tree-shaking and size constraints.
2026-03-12 15:04:37 +01:00
Azgaar
30f74373b8 feat: Refactor draw-relief-icons.ts to integrate with WebGL2LayerFramework
- Implemented registration of draw-relief-icons with WebGL2LayerFramework, removing module-level renderer state.
- Updated drawRelief, undrawRelief, and rerenderReliefIcons functions to utilize framework methods.
- Ensured SVG fallback path is preserved and functional.
- Added performance criteria for rendering relief icons.
- Created tests to verify fallback integration and visual parity with existing SVG output.

test: Add WebGL2 fallback integration verification

- Introduced new tests for WebGL2LayerFramework to ensure no-ops when fallback is active.
- Verified that drawRelief routes to SVG when WebGL2 is unavailable.
- Confirmed visual parity between SVG output and existing implementation.
- Ensured all tests pass with updated coverage metrics.
2026-03-12 14:28:33 +01:00
Azgaar
8c78fe2ec1 Refactor code structure for improved readability and maintainability 2026-03-12 14:14:29 +01:00
Azgaar
769ef9eff0 feat: implement WebGL2 layer framework with core functionalities including init, resize observation, and D3 zoom subscription 2026-03-12 13:44:23 +01:00
Azgaar
42b92d93b4 feat: update sprint status to reflect in-progress development for WebGL Layer Framework module 2026-03-12 05:15:54 +01:00
Azgaar
6b7029a05b Add sprint status and implementation readiness documents for Fantasy-Map-Generator
- Created sprint-status.yaml to track development status of epics and stories.
- Added epics.md detailing the breakdown of functional and non-functional requirements for the project.
- Introduced implementation-readiness-report-2026-03-12.md summarizing document inventory, PRD analysis, epic coverage validation, UX alignment assessment, and overall readiness status.
2026-03-12 05:09:46 +01:00