Biomes E: per-biome scatter + biome-border feathering #140
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo#140
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?
Depends on #136. Per-biome decorative scatter + biome-border feathering. Scatter is client-only render -- hard invariant: it must never be an input to a server rule. Design:
docs/game-design/systems/biomes.md(parent #135).Scope
DrawMarshScatterhash-picks-among-props pattern; give Volcanic a nonzero scatter.Definition of Done (delta)
⚠️ Overlaps #141 on the marsh-scatter mechanism. #141 changes the mechanism — decoration becomes passable (
blocks=false) statics and the proceduralGridRenderer.DrawMarshScatter/VisibleMarshScatterrender branch is deleted, so the runtime reasons only on tile flags. This issue (#140) extends scatter to every biome + border feathering.They can't both be built as written. Recommended sequencing: #141 first (establishes decoration = passable statics, removes terrain-type render logic), then #140 becomes the per-biome scatter content authored on that mechanism (scatter sets + feathering emitted as statics, e.g. via the #113 editor or an offline generator) — not new procedural render code.
⏭️ Heads-up @andrea: #143 (full tiledata data-file) is being implemented now as the foundation for the #113 map editor (owner's call). It absorbs
TerrainInfo+BiomeVisuals+StaticCatalog+ the terrain legend into onecontent/tiledata.txtand replaces theTerrainTypeenum with string ids. This touches the #142 foundation this issue builds on — when you pick it up you'll rebase onto the new model (terrain = string id, flags/art/tint read fromTileData). NoProtocolVersionchange. Design + invariants recorded on #143.⏭️ Post-#143 note: the procedural scatter path this issue was patterned on (
DrawMarshScatter/GroundTileSelector) was removed in #143 — the map is fully static now. So scatter is not re-added as a render-time hash; it becomes authored passable statics (static <id> 0in tiledata + rows placed via the editor #113 or an offline generator). This subsumes the old #141 (now closed). Per-biome scatter = a content/authoring concern, never a runtime terrain-type branch.