Persistence Panel (#22979)

# Summary

This PR adds a new admin panel for persistence.

## Contents

- The panel features information about the current round and detailed
tracking of objects, records and generics.
- The previously introduced toggle-persistence verb has been removed and
integrated into the new panel.
- The panel can be seen by admins, mods and devs, but the
toggle-persistence is still locked to admin permissions only.

## Preview

The images are WIP and subject to change.

<img width="918" height="229" alt="image"
src="https://github.com/user-attachments/assets/16d3d73d-32e6-4907-bdff-d96699c27d49"
/>

<img width="919" height="253" alt="image"
src="https://github.com/user-attachments/assets/92e7f4d9-ccd4-4e79-949d-b8a35039da01"
/>

<img width="923" height="285" alt="image"
src="https://github.com/user-attachments/assets/e3796504-4cc6-4fce-b5f1-4df3486bfbee"
/>

<img width="923" height="270" alt="image"
src="https://github.com/user-attachments/assets/9fbb185d-181a-40ec-b89b-58eafcd47e4d"
/>
This commit is contained in:
FabianK3
2026-08-08 20:47:55 +00:00
committed by GitHub
parent f6d688f9b6
commit 65a9f06765
17 changed files with 986 additions and 55 deletions
@@ -30,6 +30,8 @@
// the object to continue with init logic after the subsystem is done in LateInitialize.
var/obj/instance = new typepath()
instance.persistent_objects_track_id = data["id"]
instance.persistent_objects_created_at = data["created_at"]
instance.persistent_objects_expires_at = data["expires_at"]
objectsApplyTrackContent(instance, data["content"], data["x"], data["y"], data["z"])
objectsRegisterTrack(instance, data["author_ckey"])