Fold marsh scatter / terrain decoration into passable statics (remove terrain-type render logic) #141
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#141
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Follow-up from #89. The static content system made server collision and the static render reason purely on tile flags (walkable? blocks-LOS?) + a generic
static/<id>draw — no per-art-type logic. The one residual is the marsh scatter (lily/reeds/sedge): the client still special-casesTerrainType.Marshto procedurally place decoration (GridRenderer.VisibleMarshScatter/DrawMarshScatter), which is terrain-type logic in the render.Goal
Remove the last terrain-type branch from the client render: decorations become passable statics (
blocks=false) drawn like any other static, so the runtime (server + client) only ever reasons on flags, never on "is it a lily".Scope
StaticCatalogwithblocks=false.GridRenderer.VisibleMarshScatter/DrawMarshScatterand theWorldKind.Reedsspecial case; render them through the uniform static path.Out of scope
static/art).Fits with the biomes work (#135) and the map editor (#113).
⚠️ Overlaps #140 (per-biome scatter + biome-border feathering). Recommended sequencing: #141 first — it establishes the mechanism (decoration = passable
blocks=falsestatics, remove theTerrainType.Marshrender branch); then #140 layers per-biome scatter content on top of that mechanism instead of re-adding procedural render logic. Reconcile so we don't ship two competing scatter paths.Closing — done by #143. The procedural marsh-scatter render path this issue targets (
GridRenderer.VisibleMarshScatter/DrawMarshScatter, theTerrainType.Marshbranch) andGroundTileSelectorwere deleted in #143; the map is now fully static and no runtime code branches onmarsh/reeds/lily/tree— server and client reason only on flags. The 'remove terrain-type render logic' goal is met.The remainder — re-adding marsh/biome decoration as authored passable statics (
blocks=false), placed via the map editor (#113) or an offline generator — lives in #140. No separate work here.