Enhance map rendering with WebP support and loading feedback
- Update tile rendering to support both PNG and WebP formats. - Introduce a loading spinner and progress bar for build feedback. - Remove the manual build button; builds now trigger automatically on map selection. - Add a phase plan document outlining future improvements and goals.
This commit is contained in:
parent
24a4d90a3e
commit
549ff38334
6 changed files with 243 additions and 45 deletions
36
map_renderer/phase-plan.md
Normal file
36
map_renderer/phase-plan.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# Map Renderer Phase Plan
|
||||
|
||||
## Phase 1
|
||||
|
||||
Goal: tighten the current viewer flow without changing the map semantics.
|
||||
|
||||
- remove the explicit manual build button because map selection and filter changes already trigger builds automatically
|
||||
- hide the viewport's "choose a detected map" message as soon as a map is selected and a build starts
|
||||
- add build feedback in the side panel with a spinner and a simple phase-based loading bar
|
||||
- remove visible tile seam lines and the synthetic background grid so the map reads as one surface
|
||||
- use a more efficient streamed visualization format for interactive tiles while keeping PNG as the final export format
|
||||
|
||||
Phase 1 implementation choice:
|
||||
|
||||
- interactive tiles switch from PNG to lossless WebP because it is broadly supported in current browsers and is more bandwidth-efficient for repeated server-rendered tile delivery
|
||||
- full-map download remains PNG so export quality and compatibility stay unchanged
|
||||
|
||||
## Phase 2
|
||||
|
||||
Goal: promote editor-only content from "baked into the raster" to interactive overlay objects.
|
||||
|
||||
- keep the base map rendered as a flat server-generated tile surface
|
||||
- extract editor-only objects into a standalone overlay data stream
|
||||
- render those overlay items in the client as positioned interactive markers or sprites above the base map
|
||||
- on hover, slightly scale the hovered item and show a tooltip with its decoded metadata payload
|
||||
- improve roof detection before or during the overlay split because the current roof filtering still lets some roofs render when they should not
|
||||
- identify occluding helper geometry such as invisible walls and render those semitransparently so they remain legible without hiding too much of the map beneath them
|
||||
- fix pipe rendering because pipes currently are not showing up correctly
|
||||
- investigate force-field rendering because they appear yellow instead of the expected blue semitransparent look; this may be a debug-shape choice issue or a palette/color-rendering issue
|
||||
- likely revisit ScummVM Crusader handling in `D:\source\scummvm` to confirm what editor/debug records carry and how best to decode them for display
|
||||
|
||||
Open questions for phase 2:
|
||||
|
||||
- which editor-only families should become interactive overlays versus remain baked into the base render
|
||||
- what exact metadata fields are reliable enough to expose in the tooltip
|
||||
- whether some editor-only entries should be clustered, filtered, or toggled by family to keep dense maps usable
|
||||
Loading…
Add table
Add a link
Reference in a new issue