{{ summaryTitle }}
{{ summaryValue }}

{{ summaryLine }}

Theme{{ themeLabel }} Preview{{ sessionStateLabel }} Delivery{{ measuredFpsDisplay }}

{{ summaryAnnouncement }}

{{ liveAnnouncement }}
Aquarium scene controls
Choose a bright reef, clear lagoon, or low-light deep-water palette.
Use color to separate fish from the water without changing the tank calculation.
Bidirectional is the quietest general-purpose starting point.
Enter a whole number from 4 to 60.
fish
{{ control.display }}
{{ control.minLabel }}{{ control.maxLabel }}
{{ control.display }}
{{ control.minLabel }}{{ control.maxLabel }}
The neutral default is 0; use up to 8.
jellyfish
Auto preserves the selected theme's intended floor.
{{ toggle.tooltip }}
{{ params[toggle.id] ? 'On' : 'Off' }}
This is a target cap, not a delivery guarantee.
Use a whole number from 1 to 2,147,483,646.
Tank director
{{ row.label }}{{ row.display }}
{{ cue.title }}
{{ cue.priority }}

{{ cue.detail }}

{{ chartExportStatus }}

The chart renderer is unavailable. Exact signal values remain available in Tank director and Scene ledger.

{{ ledgerExportStatus }}
SignalValueMeaningCopy
{{ row.label }}{{ row.display }}{{ row.detail }}

An ambient display succeeds when it can stay visible without continually asking for attention. Aquarium motion is useful for that job because fish, bubbles, current, and light have familiar rhythms, yet the scene can still become tiring when every element moves strongly at once.

Three choices shape the character of a virtual tank. Formation describes whether fish appear orderly or are pushed into conflicting lanes. Motion character comes from bubble speed, size, drift, and camera movement. Ambience comes from glow, haze, light rays, and the apparent depth of the water. These choices interact, so adding detail is not always the same as improving the scene.

  • A desk display usually benefits from fewer fish, modest bubble drift, and a steady bidirectional flow.
  • A lobby screen can carry more silhouettes, but fullscreen playback may reveal crowding that a small preview hides.
  • A video backdrop needs enough contrast to remain legible behind overlays without strong camera drift competing with the speaker.

Frame rate is part of the design rather than a cosmetic number. A 60 FPS target asks the device to draw twice as many frames as 30 FPS, and added fish, bubbles, haze, trails, or a larger fullscreen canvas can reduce the delivered rate. The selected target is a cap; the measured rate shows what the current browser and display actually sustain.

Comfort cannot be reduced to one score. Slow movement may still distract some viewers, and a calm-looking preview may feel busier after several minutes. Pause the scene when motion interferes with reading, concentration, or accessibility needs, and judge the final setup on the screen where it will run.

How to Use This Tool:

Build the visual hierarchy first, then test motion and performance on the intended display.

  1. Choose a Theme, Fish profile, and Swim direction. Bidirectional flow is a restrained starting point for general ambient use.
  2. Set Fish count from 4 to 60, then adjust swim speed, current, schooling, and turbulence. Watch the lane cue for a formation that is too flat or too unstable.
  3. Tune bubble rate, size, and drift before adding camera movement. Use glow, light rays, haze, jellyfish, plants, and seabed detail only where they improve depth.
  4. Select a 30, 45, or 60 FPS target and apply the settings. Pending changes do not alter the running preview until they are applied.
  5. Start the preview and compare Measured FPS with Target FPS. Test fullscreen on the actual device, then pause or reset; reset returns the selected seed to its original layout.

Interpreting Results:

The three director cues are editing prompts, not scientific ratings. Hold formation balance, Keep movement readable, and Polish display mood mean the repo-authored checks found no threshold condition that needs attention. A different cue identifies which type of motion to adjust first.

  • When measured FPS stays close to the target, the current device is keeping pace. A lower rate calls for fewer moving elements, a lower target, or less fullscreen load.
  • A signal at 100% has reached its intervention threshold. Values above 100% show how far the index passed that reference, up to a displayed cap of 150%.
  • The scene seed repeats the initial arrangement under the same settings and canvas size. It does not guarantee identical measured FPS on another device.

Technical Details:

The scene model compresses many visual controls into three transparent indexes. They are repo-authored tuning heuristics: their purpose is to expose why a cue changes, not to measure human perception or certify display comfort.

Formula Core

Lane pressure adds current and turbulence, then subtracts schooling. Bubble motion multiplies the selected rate by drift and size scales. Cinematic load adds fixed contributions for light rays and haze to camera drift.

P=C+TS B=R ×D100 ×Z100 A=M+16I+14H

C is current strength, T turbulence, S schooling, R bubble rate, D bubble drift percent, Z bubble-size percent, and M camera drift. The indicator variables I and H equal 1 when light rays or haze are on and 0 when they are off.

Rule Core

Each cue follows ordered conditions. Strict greater-than and inclusive boundaries matter at the cutoffs.

Aquarium director cue rules
SignalConditionCue
FormationLane pressure ≥ 92, or alternating direction with speed > 1.8Stabilize swim lanes
FormationLane pressure ≤ 20 and speed < 0.85Increase lane energy
MotionBubble motion > 1.9, or camera drift > 74Trim motion character
MotionBubble motion < 0.7 and bubble rate < 0.6Add ambient movement
AmbienceLight rays off, haze off, and glow < 34Lift ambience depth
AmbienceCinematic load > 92 and glow > 76Ease showcase intensity

If no listed condition matches, the corresponding steady cue is used. Threshold proximity divides lane pressure by 92, bubble motion by 1.9, or cinematic load by 92, converts the ratio to a percentage, and clamps the display from 0% to 150%.

The selected seed initializes fish, jellyfish, and bubbles with a repeatable pseudo-random sequence. Fish direction, positions, sizes, and speeds are then animated over time, so replay comparisons are meaningful only when the seed, scene settings, and canvas dimensions remain fixed.

Delivered frames are counted over windows of at least one second. When measured FPS falls below 72% of the target, drawing quality drops by 6 percentage points to a 68% floor. When delivery exceeds 95%, quality rises by 4 points toward 100%. This adaptive scale protects cadence but does not change the director formulas.

Limitations and Privacy Notes:

The aquarium is a browser animation and a display-tuning aid, not a device benchmark or a clinical motion-comfort test.

  • Measured FPS varies with browser scheduling, screen size, pixel density, other tabs, power mode, and hardware.
  • All scene settings and rendering stay in the browser; no image, video, or aquarium data is uploaded.
  • Fullscreen support depends on browser permissions. Pause the preview whenever sustained motion is uncomfortable or distracting.

Worked Examples:

Quiet meeting-room display

Start with 10 to 14 fish, bidirectional flow, moderate schooling, low turbulence, and a 30 FPS target. Keep camera drift near zero, then add bubbles or one depth effect rather than stacking haze and light rays immediately. If Increase lane energy appears, raise speed slightly before adding more fish. Run fullscreen long enough to obtain a measured rate and keep the scene only if nearby text remains easy to read.