feat(ecology): F5 — render natural nodes (trees/rocks visible in-game) #258
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!258
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/ecology-f5"
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
F5 of the ecology foundation (epic #250 / #251; on F1–F4 + #255): the client renders natural nodes — trees and rocks are finally visible in-game.
A node is just "an art at a cell," so it reuses the existing depth-sorted static path in
WorldRenderer(~8 lines): eachClientWorld.Nodesentry (from F4) is added to the sameWorldSpritepass as map statics, getting foot-anchor + Z-lift + depth-sort + occlusion-fade for free. The slice-design's two render gaps close by construction: occlusion-fade is geometric (works on any tall sprite, including a pine), and a node's anchor is its fixed cell (stable). A stage whose art is missing from the pack simply isn't drawn (assets policy).How it was tested
No unit test (rendering has none) — verified by piloting the client on asterra, fresh DB (per the screenshot rule): teleported onto a
northern_grasslandisland and the spawner's deterministic pines reconciled via AoI and drew correctly — foot-anchored, depth-sorted, occluding the coastline behind them. Whole solution builds 0 warnings.Remaining (tracked, not blocking): the rock art
ore_outcropis a generate asset not yet in the pack — a rock node's stage is simply not drawn until it's added (I'll ask the owner for it with an Imagegen prompt). Node line-of-sight is the #255 follow-up.Checklist
ScreenHARD GATE (render inWorldRenderer, state inClientWorld)