fix image preview and add option for automatically stop auto screenshoting when idle

This commit is contained in:
iceBear67
2026-08-07 19:00:20 +00:00
parent 014b18f1ba
commit 30d124fd8b
22 changed files with 641 additions and 32 deletions
@@ -1,6 +1,9 @@
package dev.photosync.mcapi;
import dev.photosync.core.capture.CameraPose;
import java.nio.file.Path;
import java.util.Optional;
/** The ambient client state PhotoSync has to consult, and the render thread. */
public interface GameContext {
@@ -11,6 +14,18 @@ public interface GameContext {
/** True while any screen is up, vanilla's or ours. Automatic capture checks this. */
boolean screenOpen();
/**
* Where the camera is and which way it faces, or empty when there is nothing
* to be looking through -- the title screen, or a world that is still
* loading.
*
* <p>Sampled every tick by the automatic-capture timer, which uses it to tell
* an idle player apart from one who is actually somewhere new. Nothing else
* needs it, and nothing should read a Minecraft position through it: it is
* deliberately a snapshot of five numbers rather than a handle on an entity.
*/
Optional<CameraPose> cameraPose();
/** {@code .minecraft/config}, where PhotoSync keeps its settings and upload queue. */
Path configDirectory();