Required state contract
A StartPos is an exact gameplay-state snapshot. Loading it must restore every captured entity, component, reference, position, speed, timer, state machine, animation, coroutine, random-number state, and registered helper state to the captured frame. Akron stores this state in a local v10 snapshot file so it survives closing and restarting Celeste. Set and Load hold the room state until Celeste renders the restored frame. When Wait for input after load is enabled, Akron keeps gameplay paused after the restored frame until a fresh gameplay input arrives. Controls held before the Load do not release the pause. Backdrops and respawn wipes keep moving while Akron waits. Akron does not replace the whole save file. A local StartPos captures the active map’s collected berry IDs and berry count, then restores that active-map progress to the Set state. Berry progress for other maps stays unchanged. Imported StartPos packs replace the author’s captured berry field with the recipient’s current active-map berry progress before the snapshot is installed. Akron keeps the greater current or captured value for session time, session deaths, room deaths, save-file time and deaths, and area time and deaths. These statistics do not rewind. Room simulation clocks restore to the Set frame because room objects and visuals use them. Akron must reject capture or load when it cannot represent required gameplay state exactly. It must not replace an exact StartPos with a player-only or session-only room reload. There is one named exception to that contract. Akron does not capture the playback tutorial ghost, Celeste’splaybackTutorial entity, or the trail it
draws. A room that has one keeps the ghost the fresh room load built, so after a
Load the ghost is about a second before the start of its demonstration instead of
where it was at the Set frame, and its footstep and dash sounds restart with it.
The ghost has a collider, but nothing in Celeste checks against it, nothing
tracks it, and no code reads it, so nothing else in the room is affected. This
exception exists because Akron cannot prove that the saved ghost and the fresh
room’s ghost are the same object, and accepting that edge unproven would risk a
wrong restore that reports success. It covers this one entity type, and only the
ghosts a map places in a room. Playback figures a cutscene owns, such as
Farewell’s wave-dash tutorial, are captured and restored exactly as before. Use
Disable Playback if you would rather the ghost were not there at all.
Akron does not load old selected-field room snapshots. A v10 snapshot contains
the complete managed room graph, registered helper state, audio state, and
render-buffer pixels required by the Set frame. Akron refuses the load if the
file is missing, damaged, uses another snapshot format, or belongs to another
map or save file. A snapshot format change refuses every slot set before it,
because a snapshot names room objects by their place in a clean reload of the
room and a change to what that reload contains moves them; those slots have to
be set again, and Akron says so when you load one. Imported StartPos packs bind
their snapshots to the active save-file slot without importing the author’s
progress or module save data. The
same map and object-providing mods must remain installed because an exact
snapshot cannot recreate types that no longer exist. Akron does not require
CelesteTAS, Speedrun Tool, or another savestate mod.
Option menus
Rows with a triangle expose the controls listed below.
Right-click a bindable button or checkbox in an options popup to open its
Bind input and Clear binding actions. On the main StartPos row,
right-click or Shift-click Set, Load, or Clear to start binding that
action directly.