In-game capture showing flat water after an incomplete treatment

Water maps · Work in progress

Water is not one texture.
It is a small system.

The map artwork, animated overlays, alpha, weather and sometimes a procedural material all have to agree. The current process treats space, time and contours separately.

  • ×4periodic spatial pass
  • 30 FPSreal stored phases
  • 3 stagesspatial · time · edges
  • 8 familiesdifferent contracts

What the game really draws

A water surface keeps
several original contributions.

The aim is not to replace the old water with a new effect. It is to improve each useful layer without losing the scene-specific shadows, reflections or shorelines.

01 · ARE / WED
Diagnostic view of the water cells in AR0900

The assembly plan

The area selects a WED. The WED places 64 × 64 cells, their primary and secondary art, the liquid slots and the animation lookup.

02 · Map artwork
Technical render of the daytime AR0900 artwork

The place itself

Shadows, reflections, foam, banks and objects can be painted into the base map. Some of that art is intentionally static.

03 · Effective alpha
AR0900 water mask rebuilt on the full WED canvas

The local balance

Alpha controls how the artwork and the moving layer meet. It is map-specific: 100, 128 and 160 are all real cases. There is no universal value.

04 · Liquid overlay
Six WTLAKE animation keys after spatial upscaling
Native 64 × 64 tile

The shared motion

Lake, pool, swamp, sewage, oil, teal water, brown flow and lava do not share one recipe. Some use one repeated motif; others use four linked A–D tiles.

Local map artworkAnimated water overlay
Native composition firstThe map keeps its own depth.A procedural material may enrich a qualified identity. In the standard preservation path, it does not erase this composition contract.

Three useful alpha references

AR1607 · 100More overlay visible

The swamp uses its own effective opacity.

AR0900 · 128Engine default

An ARE value of 0 resolves to 128 on this path.

AR6300 · 160More map art visible

A valid native choice, not an exception to erase.

The current standard chain

Three separate stages,
one map at a time.

Each stage answers a different problem. A map can use only the stages it needs, but spatial work comes before the 30 FPS build, and a rebuilt base must not overwrite finished contour work.

Stage APeriodic spatial ×4
  1. 01

    Read the actual WED slots and their dry/rain resources.

  2. 02

    Build a periodic 3 × 3 context, or a joint 2 × 2 A–D pattern.

  3. 03

    Use SeedVR where it helps; use bilinear for pool and lava where SeedVR creates a grid.

  4. 04

    Crop the centre, preserve native overlay alpha and encode 256 × 256 BC3 tiles.

  5. 05

    Give the map private aliases so shared WT resources and other areas remain untouched.

Stage BReal 30 FPS motion
  1. 01

    Start from the native x1 keys, before any per-image upscale variation appears.

  2. 02

    Interpolate a closed periodic loop with a trigonometric temporal method.

  3. 03

    Upscale the complete loop coherently: one SeedVR video chunk for generative families, the selected non-generative method where required.

  4. 04

    Store real phases — 72 over 2.4 seconds for the validated six-key cases.

  5. 05

    Set source and target to 30 FPS: no shader half-frame blur and no Apollo optical flow.

Stage CClean foreground contours
  1. 01

    Work on the complete WED canvas, not on isolated tile edges.

  2. 02

    Use the sharp x4 RGB silhouette instead of vectorising thin x1 ropes.

  3. 03

    Recolour the bright or black fringe from inside the same object.

  4. 04

    Pair primary and secondary coverage with the map’s effective alpha.

  5. 05

    Re-encode only touched BC3 blocks and rebuild their atlas margins.

Post-BC3 review board for eight dry and rainy liquid families
The witness batch after BC3 compression. Dry and rain resources are reviewed separately; a clean first frame does not approve an entire loop or an area in game.

One infrastructure, several contracts

The liquid family chooses
the useful method.

“AI upscale everything” is not the rule. The native topology and the observed failure decide whether the spatial pass is generative, bilinear or left alone.

WTLAKELake / sea

SeedVR periodic ×4. AR1600 validates the 72-phase loop and contour process.

Witness · AR1600
WTPOOLPools

Bilinear ×4: SeedVR amplified the source’s diagonal weave into a visible grid.

Full chain · AR0703
WTSWAMSwamp

SeedVR ×4, map-specific opacity and a separate rainy resource when used.

Witness · AR1607
WTSEWSewage

SeedVR ×4. The complete A → B → C chain is accepted with a contour reserve.

Full chain · AR2100
WTOILOil

SeedVR ×4, while preserving its historically validated composition contract.

Witness · AR0413
WTLAKA–DTeal water

Four motifs are processed together. Its exact 30 FPS cycle is still unresolved.

Spatial witness · AR3000
WT5000A–DBrown flow

A joint A–D pattern keeps real neighbour relations. Temporal duration remains open.

Spatial witness · AR5203
WTLAVA–DLava

Bilinear ×4 removed the generated grid. The emissive runtime material and 288-phase case remain blocked.

Spatial witness · AR0011

Why the temporal method changed

The loop is rebuilt before
it is enlarged.

The earlier 36-phase Apollo test was rejected. Its optical flow did not fit shimmering water, and separately upscaled anchors produced a visible pulse every 0.4 seconds.

Native keysNative 64 by 64 WTLAKE key
Six original keys define the validated WTLAKE cycle.
Periodic x1 loopPeriodically interpolated WTLAKE frame in a repeated x1 context
Trigonometric interpolation keeps the keys exact and closes the loop.
One video upscaleWTLAKE phase after the single-chunk SeedVR video upscale
All phases pass through SeedVR together to avoid detail steps.
BC3 atlasFinal 256 by 256 WTLAKE tile
Real phases are stored in a private TIS/PVRZ alias.
6 keysnative source
→
72 phases2.4-second cycle
→
30 FPSsource = target

72 phases are not a universal number. It is the result for a six-key, 2.4-second cycle. Eight-, eleven- and twelve-key A–D systems need their own proven duration and capacity. Lava would require 288 phases under the current assumption, more than the current single-page limit.

AR1600 contour comparison: previous HD state, rejected vector approach and x4 RGB silhouette matte
AR1600 contour study. Left: the previous HD state. Centre: the rejected x1-vector approach. Right: the x4 RGB silhouette matte, later accepted across the map with a small reserve on the thinnest ropes. This is a decoded-layer simulation, not an in-game capture.

Optional runtime material

q70 is a qualified setting,
not the definition of water.

q blends the original overlay with a procedural material. It does not control map alpha, and it is enabled only for exact identities whose assets, material and runtime registry have been tested together.

q0Installed overlay only

No procedural contribution. It uses the overlay currently installed; it does not restore vanilla assets if those files have changed.

Qualified on selected identitiesq0.7030% overlay + 70% procedural material

Used where it restores readable motion or the chosen material has been approved, including qualified pool cases.

Not globalMaterial follows the family

Clear water, swamp and sewage use different profiles. Oil, interiors and emissive lava do not inherit lake settings automatically.

Procedural normal textureNormal
Changes how the moving surface responds to light.
Procedural DuDv textureDuDv
Distorts the moving layer without replacing map artwork.
Procedural foam textureFoam
Adds crests where the qualified material calls for them.
Simplified composition
U₂ = mix(U, P, q)
C = aA + (1−a)U₂

A: local map art · U: original liquid overlay · P: procedural material · a: effective map-art opacity.

The real draw path also depends on primary and secondary passes. This formula explains the intent; it is not a universal alpha recipe.

Isolation, night and weather

A shared resource must not
silently change every map.

The standard chain gives each processed map private aliases. The original shared WT resources stay intact, and the WED points only the chosen area to its new dry alias.

Map aliasTechnical daytime map build
A private short resref contains the selected spatial and temporal contract. Other WED consumers are not changed.
Night variantTechnical nighttime map build
Night can have its own WED, artwork, opacity or even another liquid family. It is not a colour filter over day.
Rain / weatherDry and rain are a pair, but their QA is separate.

When the game uses an alternate rainy resource, the pipeline creates the matching R alias and keeps its timeline coherent. Installing it does not prove that rain was observed in game.

What failures teach us

The shape of the defect often
reveals the broken contract.

These examples are rejected outputs or diagnostic views. They stay useful because each one points to a different part of the system.

Rejected AR0900 output with a visible water join
Rejected output

Black or blue seam

Cause
Contaminated RGB or inconsistent atlas padding between primary and secondary art.
Answer
Repair RGB locally from a compatible donor and rebuild the touched margins.
Rejected rainy output with a grid pattern
Rejected output

Grid or rainy mosaic

Cause
SeedVR amplified a source weave, the context was not periodic, or dry/rain timelines disagree.
Answer
Use the family’s selected method and process the actual weather resource.
Rejected nighttime water output
Rejected output

Wrong night or intermittent tint

Cause
A stale day/night identity or an incorrect runtime texture lookup, not necessarily bad map pixels.
Answer
Fix identity and cache routing, then verify day → night → day.
Diagnostic shortcuts

Other signatures

Flat water
Local artwork or its effective alpha was lost.
Pulse at 2.5 Hz
Separately upscaled anchors vary in detail.
Dark fringe
A softened mask exposes black RGB outside the old silhouette.
Crash
PVRZ naming, page capacity or WED offsets are invalid.

Current validation

Produced, installed and approved
are different states.

Every map still receives its own in-game review. A family witness proves a reusable method, not every consumer, weather state or release package.

  1. 01
    Check local shadows, reflections and the effective alpha.
  2. 02
    Watch a complete loop for pulses, jumps and the closing seam.
  3. 03
    Inspect real tile neighbours, A–D joins and atlas borders.
  4. 04
    Inspect ropes, rigging, banks and objects in front of the water.
  5. 05
    Test the exact day, night and rain variants that are in scope.
  6. 06
    Verify rollback and keep release work separate.
Validated full chainsAR1600 · AR2100 · AR0703

Lake, sewage and pool now have in-game witnesses across spatial, temporal and contour work, with documented reserves where needed.

Still under reviewNot every family is finished

Some maps are installed pending QA. Multi-tile timing, emissive lava, rain observations and several local surfaces remain open.

ReleaseNot implied by this work

A successful local test does not add the page or any water candidate to the public release.

The rule that survived every test

Preserve the native composition.
Improve one contract at a time.

The standard chain is now shared, but each family keeps its topology, timing, material and map-specific alpha. That is what prevents a cleaner texture from becoming worse water.

Full-size visual · click outside or press Esc to close