From 598c0404a23f6197e051e7a58242240b9b23f8a2 Mon Sep 17 00:00:00 2001 From: legop3 Date: Wed, 19 Nov 2025 16:23:15 -0500 Subject: [PATCH] planning --- plans/problems.md | 16 +++++++---- plans/room_cameras_outline.md | 13 +++++++++ plans/spectate_mode_overhaul_outline.md | 35 ++++++++++++++++++++++++ webui/src/components/ModeGateOverlay.jsx | 10 +++---- 4 files changed, 63 insertions(+), 11 deletions(-) create mode 100644 plans/room_cameras_outline.md create mode 100644 plans/spectate_mode_overhaul_outline.md diff --git a/plans/problems.md b/plans/problems.md index 63751f20..24e4d298 100644 --- a/plans/problems.md +++ b/plans/problems.md @@ -11,9 +11,13 @@ ## todo 1. battery manager -2. room cameras -3. nicknames -4. discord bot -5. turns mode display -6. chat -7. redo spectator view (last) \ No newline at end of file +2. pi-side sensor throttle (1/5th) +3. convert rover roster to a reusable component, unbake it from telemetry and admin panels +4. room cameras +5. home assistant controls +6. nicknames +7. discord bot +8. turns mode display +9. online user list +10. chat +11. redo spectator view (last) \ No newline at end of file diff --git a/plans/room_cameras_outline.md b/plans/room_cameras_outline.md new file mode 100644 index 00000000..c0e877be --- /dev/null +++ b/plans/room_cameras_outline.md @@ -0,0 +1,13 @@ +# general idea +- add support for multiple room cameras through the server to the UI + +## what needs to happen on the server: +- add support for a path of room cameras on mediamtx + - /room/ + - CANNOT interfere with rover cameras (/) +- needs to use the same auth system as the rover cameras + + +## what needs to happen in the web UI +- users should be able to see all room cameras, even if not assigned to a rover +- automatically add a room camera player for each room camera \ No newline at end of file diff --git a/plans/spectate_mode_overhaul_outline.md b/plans/spectate_mode_overhaul_outline.md new file mode 100644 index 00000000..16a91c26 --- /dev/null +++ b/plans/spectate_mode_overhaul_outline.md @@ -0,0 +1,35 @@ +# spectate system overhaul +- rip out and remake the entire page +- right now the spectator page is a mess, and hasn't been updated in a while + - does not work properly, aside from the page being out of date +- the spectate page should use modules from the driver page +- there should be no such thing as a "spectate mode" on the driver page. If someone wants to spectate, they must go to the spectator page. + +## rules of the spectator page +- spectators are not allowed to drive +- spectators are not allowed to chat +- spectators are not allowed to have nicknames +- spectators are not allowed to login as admin +- these are the permissions for spectators based on the sever's access control mode + - open + - spectators can spectate + - turns + - spectators can spectate + - admin + - spectators can spectate + - lockdown + - spectators can NOT spectate + + +## what should be on the spectator page? +- for each rover + - video component + - current driver + - sensor telemetry component +- logs +- room cameras +- online user list + +## problems with the current spectator page: +- video pane does not load sensors +- spectator page works when server is in lockdown mode (wrong) \ No newline at end of file diff --git a/webui/src/components/ModeGateOverlay.jsx b/webui/src/components/ModeGateOverlay.jsx index 86e29746..f1570750 100644 --- a/webui/src/components/ModeGateOverlay.jsx +++ b/webui/src/components/ModeGateOverlay.jsx @@ -7,15 +7,15 @@ const RESTRICTED_MODES = new Set(['admin', 'lockdown']); function getModeDetails(mode = 'admin') { if (mode === 'lockdown') { return { - title: 'Lockdown in effect', + title: 'Lockdown mode active', description: - 'Only the lockdown admin can remain connected right now. If you have credentials, log in below. Otherwise please stand by until the server re-opens.', + 'Only the server owners can access the interface at this time.', }; } return { title: 'Admin mode active', description: - 'The server is temporarily restricted to administrators. Log in below if you are authorized, or wait for admin mode to end.', + 'The server is currently in admin mode. Only admins can access the interface.', }; } @@ -42,10 +42,10 @@ export default function ModeGateOverlay() {
-

+ {/*

Your controls are paused until access is granted. You will automatically regain the interface once the mode changes or after a successful login. -

+

*/} );