Skip to content

freeze verb: pin the client-side things that make two shots differ #15

Description

@Flatts3000

The problem

Two screenshots of the same scene should differ only by the thing under test. Today they can differ
by weather, time of day, particle state, entity positions, and animation phase. Some of those are
commands (time set, weather clear), and some are not.

This is what stops a screenshot being an assertion rather than an illustration.

The proposal

A verb that pins the things commands cannot reach:

{"verb": "freeze", "enabled": true}
{"ok": true, "frozen": ["particles", "entityAnimation", "clouds", "weatherRendering"]}

Following the established rule: a bare toggle verb restores what vanilla does, false gives the
devbridge behaviour.

Why the mod and not a command

time set and weather clear are commands and stay out of scope. Particle spawning, cloud
scrolling and animation ticks are client render state with no command behind them.

Notes

  • Overlaps with the settle verb: settle answers "has it finished drawing", freeze answers "will it
    keep changing". Both are needed for a reproducible shot and neither replaces the other.
  • Worth deciding whether this pins entity AI too, which is server-side and arguably command
    territory via /tick freeze.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions