feat(client): render the chunked asterra world in-game (7b of #229) #236
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!236
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/client-chunked-world"
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
Fase 7b di #229: il client ora rende asterra in-game — il mondo chunked disegnato a mano (13.344×9.984 = 133.226.496 celle) — al posto della vecchia
content/maps/world.maptestuale. Chiude la parte "si vede in-game" dopo che 7a ha portato il server su asterra.Cosa cambia (client):
IsoGamefa warm-load di asterra in unaCompactWorldMap(riuso del codice testato in 7a), dietroIReadOnlyTileMap. I renderer (GridRenderer/GroundBlendRenderer/ScreenProjection) eClientContext.Mappassano daTileMapconcreto →IReadOnlyTileMap.IsoViewport.VisibleCellBounds): la mappa intera vive in RAM (~127 MiB, asterra è piatta → niente sidecar Z) ma si disegna solo la finestra attorno al player. Un loader a chunk-streaming resterà un drop-in dietro l'interfaccia, senza toccare i renderer.worlds/asterra, override dev--world <path>oISOMMO_WORLD(vuoto = vecchia text-map piccola)..csprojclient copiacontent/worlds/**nell'output.ProtocolVersion(l'handshake mappa/catalogo è la slice 7c). Client e server caricano lo stesso contenuto committato → coincidono per costruzione.Screenshots / recording
Catturati pilotando il client dall'harness
DebugHarness(:5199) su DB fresco, come dadocs/debug-harness.md.Spawn su asterra (5183,4378): il player sulla costa disegnata a mano — erba a ovest/sud, oceano a nord/est, blend SDF morbido; i 5 item seed attorno.
La linea di costa/baia disegnata a mano attorno allo spawn (5182,4379).
Entroterra a (5156,4405) dopo un goto server-validato: massa continentale profonda, quasi tutta terra.
Comandi:
login test→ spawn su asterra(5183,4378);goto 5156 4405(entroterra, passi validati dal server);screenshot.How it was tested
MoveRequestvalidato server-side.Client.Core(IsoViewport).Checklist
just lintpasses (CSharpier + analyzers, zero warnings)just testis greenEpic: #229 · segue #235 (7a).