Skip to content

Improve the portal, tide and dissolve transitions with the depth map - #24

Merged
CPritch merged 7 commits into
mainfrom
feat/transition-improvements
Oct 9, 2026
Merged

CPritch merged 7 commits into
mainfrom
feat/transition-improvements

Conversation

@CPritch

@CPritch CPritch commented Oct 9, 2026

Copy link
Copy Markdown
Owner

What's changed

  • portal grows as a sphere through the scene from the surface under the cursor, with noise on its edge. It spreads over that surface first and wraps round things nearer and further away.
  • tide-in and tide-out fill from the ground they find in the scene, so views from above or at an angle fill level with their ground. Close-ups, abstract images and scenes with more than one slope keep the old level horizon.
  • dissolve uses the portal's spheres, started at random places instead of from the cursor. They start more often as it goes on, tend to begin among the furthest things, and are timed so the picture changes at a steady rate.

The docs clips, the README reel, the man page, the completions and the changelog are updated to match.

Each point on the cursor's trail grows a sphere in the scene, starting
at the surface under the cursor, so the portal spreads over that
surface first and wraps round things nearer and further away. Noise
pushes the sphere's edge in and out, across the screen and in depth.

A coarse grid of each wallpaper's depths, made as it loads, gives how
far the first sphere has to reach and how much of the screen is within
each distance of the cursor, so the portal changes a similar amount of
the picture throughout the transition.
When a wallpaper loads, its depth map is searched for the biggest flat
surface facing up or towards the camera, and the tide measures height
from that instead of a level horizon across the middle of the picture.
Views from above or at an angle now fill level with their ground.
Close-ups, abstract images and scenes with more than one slope keep the
level horizon.
The dissolve now uses the portal's spheres, starting them at random
instead of from the cursor. They start more and more often, each
somewhere the earlier ones haven't reached, and tend to start among
the furthest things first. They grow as slowly as they can while still
reaching everywhere in time, and a timing table worked out from where
they start keeps the picture changing at a steady rate.
@CPritch
CPritch merged commit a0bdaed into main Oct 9, 2026
1 check passed
@CPritch
CPritch deleted the feat/transition-improvements branch October 9, 2026 16:06
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