feat(mapeditor): full-planet overview (kill wide-zoom lag) + Smooth Z brush #265
No reviewers
Labels
No labels
alpha:wave-0
alpha:wave-1
alpha:wave-2
alpha:wave-3
area:assets
area:combat
area:ecology
area:infra
area:render
area:scripting
area:ui
area:world
enhancement
epic
migration
post-alpha
roadmap
tech-debt
type:bug
type:chore
type:design
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo!265
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/map-editor-overview"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Two map-editor improvements (#229 slice 4b + a Smooth-Z brush requested by the author):
viewport window; at wide zoom that window was huge and rebuilt on every pan (a multi-million-cell fill
MaxWindow/MinCellPxcapped it so you could never see the whole 13,344×9,984planet. Now, below ~1.5 px/cell the editor blits a tiny per-chunk overview texture (417×312, one texel
per chunk = its dominant terrain) in a single draw. Built once on open scanning only materialised
chunks (~6% here; the rest is the default at no cost), and refreshed one texel per chunk on a terrain
stroke.
MinCellPxlowered (0.25→0.05) +Ffits the whole planet; the chunk/region grid hides atwide zoom so it doesn't clutter the overview.
(
ZSmoother, computed from the OLD heights as a batch so a stroke doesn't bias itself). Repeat the stroketo spread a sharp peak into natural slopes — a z200 spike surrounded by sea eases down toward 0 over passes.
Offline authoring tool — no wire/server/persistence/save-format change.
Screenshots / recording
Captured with the editor's own one-shot
--screenshot(the debug harness drives the client, not the editorGUI, but the editor supports
--world/--cellpx/--screenshotfor exactly this). The whole 13,344×9,984planet at 0.1 px/cell — ocean + the drawn continents in biome colours, one blit, no lag, no grid clutter,
and the Smooth Z tool visible in the palette:
Command:
dotnet run --project tools/IsoMmo.MapEditor -- --world content/worlds/asterra --cellpx 0.09 --screenshot <path>.How it was tested
dotnet build IsoMmo.slnx0 warnings;dotnet test IsoMmo.slnxall green (new unit tests:ChunkedEditModelChunkTests3,ChunkOverviewTests4,ZSmootherTests4);dotnet csharpier checkclean.--screenshotonasterraat--cellpx 0.09— the whole planet renderssmoothly as the overview. (Smooth-Z painting is mouse-driven, so unit-tested + wired + present in the UI;
interactive paint is a manual check.)
Invariants Check (offline authoring tool)
Persistence / Process-sep / AoI / Assets / Typed-content — N/A: offline tool; no wire/server/World/
save-format/art-pack touched. The overview is derived in-memory; the region/manifest format is unchanged.
ChunkOverview+ZSmootherare pureMapEditor.Core(unit-tested,MonoGame-free); only texture upload/blit + the ImGui tool live in the tool.
OverviewMaxCellPx,SmoothRadius,GridMinCellPx, loweredMinCellPx)are
consts declared once.Checklist
just lintpasses (CSharpier + analyzers, zero warnings)just testis green