Skip to content

Make the pool flow downstream from the fall foot and let the splash foam drift - #29

Merged
JakeTOpenSource merged 2 commits into
mainfrom
garden/pool-flow-2026-09-25
Sep 25, 2026
Merged

JakeTOpenSource merged 2 commits into
mainfrom
garden/pool-flow-2026-09-25

Conversation

@JakeTOpenSource

Copy link
Copy Markdown
Owner

What this changes

The owner reported that the pool the waterfall empties into read as stagnant while the falls poured into it. The pool section of assets/garden-water-v1.js is now a flow field:

  • A line source along the whole foot of the lower curtain (image x 1140 to 1470 at y 698), not a point. Water leaves it downward, fans out gently from the centre and more firmly past the ends, and blends into a drain direction toward the foreground-left.
  • Two cross-faded downstream passes carry the photographed foam and reflections along the field (the technique the falls already used), so nothing snaps or pulses in lockstep.
  • Ripples elongated along the current, finer across it. Bright low-saturation pixels are treated as foam and catch a gentle glint near the splash. Open water shows faint streaks.
  • Pool pixels may pull texture from the pool or the curtain above them, never from stones or banks.

Falls, masks, still image, vertex shader, uniforms and the motion lifecycle (pause, reduced motion, hidden page, tool open, context loss) are unchanged. Speeds are image-space art speeds, not physical water. Cache v101.

Verification

  • Local gate suite green (corpora, theme gate, deer harnesses, day ledger, bench, register, manifest pin, governance validate, run-all, navigation, return navigation, snapshot verifier). verify-atlas-runtime.js expects v101.
  • Shader compiles and draws in Chromium (data-state running, frame count advancing, no console errors).
  • Pixel-change measurement over the pool region, same script on both, recorded in the calibration log: live site before, 0.17 per channel between consecutive draws; this build, 3.65. These are pixel-difference readings, not a measure of realism.
  • Owner reviewed two iterations in the browser during the build and judged the second ready to ship.

Not done here

  • No deployment until merge. The proposal make-the-pool-flow-downstream-from-the-fall-foot is queued for the owner's cold read; merge is not acceptance.
  • An adversarial shader review was running at the time this PR was opened; any confirmed finding lands as a follow-up commit on this branch before merge.

🤖 Generated with Claude Code

…oam drift

The owner reported that the pool the waterfall empties into read as
stagnant. The pool section of the water shader is now a flow field: a
line source along the whole foot of the lower curtain, water leaving it
downward and fanning outward, blending into a drain toward the
foreground-left. Two cross-faded downstream passes carry the photographed
foam and reflections; bubbles at the splash drift and glint gently; open
water shows faint streaks. Pool pixels may pull texture from the pool or
the curtain, never from stones. Falls, masks, still image, lifecycle and
uniforms are unchanged. Speeds are art speeds, not physical water.

Owner review during the build replaced a first point source (read as a
spring in the middle) with the line source, then tuned the centre. Cache
v101. Local gate suite green. Before and after pixel-change measurements
are in the calibration log. Proposal queued for cold read.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Deploying resilience-eval-ai with  Cloudflare Pages  Cloudflare Pages

Latest commit: 705b120
Status: ✅  Deploy successful!
Preview URL: https://713dee08.resilience-eval-ai.pages.dev
Branch Preview URL: https://garden-pool-flow-2026-09-25.resilience-eval-ai.pages.dev

View logs

Adversarial review found that the pool ripple noise was sampled in a
basis that rotated from pixel to pixel, which aliased the ripples into
grain across the pool centre; an independent port confirmed about four in
ten pool pixels sampled above the Nyquist limit. The noise domain now uses
one fixed downstream axis while the motion and refraction still follow the
local field. The asset record states the trade-off.

The calibration entry is corrected: the owner judged the first pass, the
splash speed varies fourteen to eighteen, the pixel-difference figures are
a session observation with no retained script, the removed drift was about
twelve pixels per second, the sampling guard is described exactly, and the
upper basin slides leftward.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@JakeTOpenSource
JakeTOpenSource merged commit a74bbad into main Sep 25, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant