Expose PlatformBackdrop Zoom Response Parameters to Match SpaceTileEffectParameters zoom_*

Place to ask discuss and request the modding support of Factorio. Don't request mods here.
User avatar
Yottagarasu
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sat Jul 04, 2026 2:27 am
Contact:

Expose PlatformBackdrop Zoom Response Parameters to Match SpaceTileEffectParameters zoom_*

Post by Yottagarasu »

What?
Expose data-stage properties on PlatformBackdrop controlling how the backdrop planet scales with camera zoom, as the engine already does for SpaceTileEffectParameters: zoom_base_factor, zoom_base_offset, zoom_exponent, zoom_factor, zoom_offset, with defaults chosen to reproduce vanilla backdrop behavior.

Ideally these behave identically to the same-named properties on SpaceTileEffectParameters, whose zoom remapping is already documented:

effective_zoom = max(1/1024, pow(max(0, zoom * zoom_base_factor + zoom_base_offset), zoom_exponent) * zoom_factor + zoom_offset)

Matching that contract would let the same configuration work for both.
Why?
These properties are the last missing piece in allowing the 2.1 backdrop shader to render fully perspective-correct background stars and planets:
  • Starfield is already fully controllable in both translation and zoom response.
  • Asteroids passing behind planets can be achieved by disabling the background asteroid layer.
  • For platform_backdrop, parallax_strength already handles translation: it linearly scales the backdrop's drift with camera pan, and setting it to {0, 0} fixes the backdrop in screen space (perspective-correct for an object at planetary orbit distance under platform-scale camera motion), and composes cleanly and automatically with the engine-side orbit arrival/departure animation
  • platform_backdrop zoom parameters, the last remaining gap. By default backdrop currently scales with zoom like an object only a few camera-heights away, which cannot be changed by mods.
If a mod author desires to retain the vanilla perspective, this is also useful to them, as it allows scaling the near-planet perspective to orbited object size, which may be desirable for, eg, gas giants vs rocky planets.
Alternatives Considered
Script-based workarounds are ruled out by the delay between reading camera zoom and scripting updates, as well as the non-synced relation between UPS and framerate: render objects are positioned at 60 UPS while the camera smoothy interpolates per frame, so any script-controlled backdrop jitters during camera motion, which would apply even if there were runtime control of platform_backdrop. This can be seen in the jittering of the planets from the Visible Planets mod, including jitters during keyboard motion and abrupt jumps from the old to new camera position after completing a mouse drag pan. For preserving the desired perspective effect, any jitter at all destroys the illusion and makes it look like a billboard. As far as I understand it, keeping it properly fixed in screen space, especially during mouse drag pans, can only work if it's being done by the engine itself.
Concrete Use Case
Realistic Space Parallax is my mod that implements perspective-correct starfield pan and zoom response, and perspective-correct planet pan; constant angular size of the planet under zoom is the single remaining piece.
Post Reply

Return to “Modding interface requests”