| Metric | Value | Copy |
|---|---|---|
| {{ row.key }} | {{ row.value }} |
| Priority | Flight note | Rationale |
|---|---|---|
| {{ note.priority }} | {{ note.note }} | {{ note.rationale }} |
A starfield screensaver is a depth illusion. Bright points rush outward at different apparent speeds so a flat display feels like forward travel, and the trick only works when density, motion, and contrast stay in balance. This simulator gives you direct control over that balance instead of leaving the look to a fixed preset.
The package is meant for scene shaping rather than passive viewing. You can tune star density, travel pace, color behavior, trails, comet activity, depth cues, and framing, then read the result back through live runtime metrics, a compact scene chart, priority notes, and a JSON snapshot of the current state.
That makes it useful for ambient backdrops, sci-fi mockups, kiosk loops, stream intermissions, or display testing where a stock wallpaper feels too static. A restrained configuration can sit behind text or interface chrome for a long time, while a heavier configuration can sell a short burst of warp-speed motion.
The preview is meant to be judged in motion, not by a single dramatic frame. The simulator reports actual delivered frame rate, can request fullscreen for a final pass, and adapts its rendering path according to what the browser and device can sustain. Those readouts matter as much as the color palette when you are building a loop that has to stay smooth.
It is still a visual simulator, not a sky map. The stars are synthetic, resets reseed the field, and the chosen frame rate is only a target, so the result is best used for mood, pacing, and performance tuning rather than astronomy or repeatable benchmarking.
Start with Theme, Star count, and Travel speed only. The default advanced settings already sit near a balanced cruising scene, so the first useful question is whether you want a sparse ambient field or an obviously fast one. Once that baseline feels right, move one motion family at a time instead of touching every slider together.
Before you export anything, compare the live preview with Measured FPS, Quality scale, and the three Flight note rows. A busier scene does not automatically mean a better one if the field stutters or the motion stops reading as forward travel.
The scene is built from synthetic stars that carry layer, depth, size, hue, and prior-position state. On each frame the package advances those stars according to the current speed profile, projects them into screen space, and reuses their previous positions to turn motion into short trails or longer warp streaks. Nearer layers move faster than deeper ones, which is what gives the field its parallax feel.
Color mode determines how those stars are tinted. Theme colors blends the selected palette with temperature-like star colors, Rainbow and Pastel cycle hue over time, and Pure white removes palette variation. Twinkle strength modulates brightness, Nebula glow adds radial haze behind the field, and comet objects are spawned separately with their own life span, velocity, and tail length.
The preview prefers a WebGL path when the browser exposes a usable context and falls back to 2D canvas when it does not. The animation loop only runs while the preview is active, and hidden pages pause frame callbacks. Measured FPS is updated once per second, so the runtime feedback reflects actual motion delivery rather than just the requested target.
Frame rate is quantized to 30, 45, or 60 FPS. If actual delivery falls below roughly 72% of the chosen target, the package steps Quality scale down toward 60% and lowers render pixel density. If delivery climbs above roughly 95%, it raises the scale again. That is why the same control set can look slightly sharper or softer on different machines.
| Control | Range or mode | Primary effect |
|---|---|---|
| Star count | 120 to 2400 | Sets scene density and affects renderer load. |
| Travel speed | 0.20x to 3.00x | Scales forward motion across all layers and comets. |
| Warp strength | 0 to 100 | Stretches motion into longer star trails as speed rises. |
| Depth layers and Parallax drift | 2 to 5 layers, 0 to 100 drift | Controls how strongly near and far layers separate in motion. |
| Trail fade | 6 to 44 frames | Changes how long previous motion remains visible. |
| Frame rate | 30, 45, or 60 FPS | Sets the requested cadence for the preview loop. |
| Output | What it tells you |
|---|---|
| Measured FPS | Actual delivered frame rate during the live preview. |
| Quality scale | Adaptive render scaling used to protect smooth motion. |
| Renderer | Whether the current run is using WebGL or the 2D canvas fallback. |
| Active comets | Current number of comet streak objects still alive in the scene. |
| Canvas size | Actual preview area in pixels after layout and fullscreen changes. |
| Flight note | Three heuristic recommendations that summarize travel profile, depth balance, and atmosphere. |
| JSON payload | Current parameters plus runtime state such as FPS, canvas size, comet count, and fullscreen status. |
The Starfield Flight Chart is a snapshot comparison of the current numeric metrics, not a history graph. It is most useful for checking the present balance between density, active motion, and delivered performance.
Use the live preview as the main reference and let the metrics tell you when a dramatic scene has crossed into a performance problem.
For fair comparisons, keep one baseline scene and change only one major variable family per reset.
Treat Target FPS, Measured FPS, and Quality scale as a set. Target FPS is the cadence you asked for, Measured FPS is what the device is actually delivering, and Quality scale shows whether the package is already compensating to hold motion together.
The other readouts are snapshot measurements, not guarantees. Active comets changes as streaks spawn and expire, Canvas size changes with layout and fullscreen state, and the chart compares the current scene rather than documenting a long benchmark run.
Leave the theme on Deep space, keep Star count at 760, set Travel speed to 1.00x, Warp strength to 35, Depth layers to 4, Parallax drift to 35, Comet rate to 0.45x, and Frame rate to 45 FPS. On a capable machine the metrics settle around Animation state = Running, Target FPS = 45, Measured FPS near the target, and Quality scale = 100%, while the Flight note rows read Hold cruise profile, Maintain depth envelope, and Finalize flight mood. That is the package's long-loop case: motion is obvious, but it is still calm enough to sit behind other content.
Switch to Nebula, raise Star count to 2200, Travel speed to 2.40x, Warp strength to 90, Depth layers to 5, Parallax drift to 70, Comet rate to 1.50x, Comet size to 180%, and Frame rate to 60 FPS. The Flight note table will flag Set travel profile and, with that speed and depth combination, Balance depth and motion. If Measured FPS drops well below 60 or Quality scale slips, the shot has crossed from dramatic into performance-limited. That is fine for a short transition, but it is a poor choice for a steady background loop.
Set Theme to Monochrome, lower Travel speed to 0.35x, use Depth layers = 2, Parallax drift = 10, Comet rate = 0.10x, Twinkle strength = 20, and turn Nebula glow off. The scene reads almost static, and the Flight note table can shift to Increase cruise energy, Increase spatial depth, or Build backdrop atmosphere. Raising Travel speed to about 0.80x, moving to 4 depth layers, or turning Nebula glow back on fixes the symptom faster than simply adding more stars.
No. The field is synthetic. The package uses generated stars, generated comets, and theme palettes to create motion cues, so it should be read as a visual effect rather than an astronomy reference.
Target FPS is the requested cadence. Measured FPS is the rate the browser is actually delivering. Device capability, fullscreen size, star density, warp, and renderer path can all pull the real value away from the target.
Reset reseeds the stars and comets, and resizing the preview rebuilds the field for the new canvas size. The parameters stay the same, but the exact positions and streaks are regenerated.
No tool-specific network requests are present in the package logic. Settings, metrics, and JSON snapshots stay in the browser unless you explicitly copy or download an export.
Fullscreen still depends on browser support, and the package only uses the WebGL renderer when the browser exposes a usable context. On another machine the same scene can land on a different Renderer, Canvas size, Measured FPS, and Quality scale.
| Term | Meaning in this package |
|---|---|
| Parallax | Different apparent motion between near and far star layers. |
| Warp strength | How strongly motion is stretched into visible streaks. |
| Trail fade | How long previous star positions remain visible on screen. |
| Quality scale | Adaptive render scaling used when actual FPS drifts from the target. |