mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-17 01:50:47 -04:00
planning
This commit is contained in:
+10
-6
@@ -11,9 +11,13 @@
|
|||||||
|
|
||||||
## todo
|
## todo
|
||||||
1. battery manager
|
1. battery manager
|
||||||
2. room cameras
|
2. pi-side sensor throttle (1/5th)
|
||||||
3. nicknames
|
3. convert rover roster to a reusable component, unbake it from telemetry and admin panels
|
||||||
4. discord bot
|
4. room cameras
|
||||||
5. turns mode display
|
5. home assistant controls
|
||||||
6. chat
|
6. nicknames
|
||||||
7. redo spectator view (last)
|
7. discord bot
|
||||||
|
8. turns mode display
|
||||||
|
9. online user list
|
||||||
|
10. chat
|
||||||
|
11. redo spectator view (last)
|
||||||
@@ -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/<camera_name>
|
||||||
|
- CANNOT interfere with rover cameras (/<rover_name>)
|
||||||
|
- 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
|
||||||
@@ -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)
|
||||||
@@ -7,15 +7,15 @@ const RESTRICTED_MODES = new Set(['admin', 'lockdown']);
|
|||||||
function getModeDetails(mode = 'admin') {
|
function getModeDetails(mode = 'admin') {
|
||||||
if (mode === 'lockdown') {
|
if (mode === 'lockdown') {
|
||||||
return {
|
return {
|
||||||
title: 'Lockdown in effect',
|
title: 'Lockdown mode active',
|
||||||
description:
|
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 {
|
return {
|
||||||
title: 'Admin mode active',
|
title: 'Admin mode active',
|
||||||
description:
|
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() {
|
|||||||
<div className="surface-muted">
|
<div className="surface-muted">
|
||||||
<AuthPanel />
|
<AuthPanel />
|
||||||
</div>
|
</div>
|
||||||
<p className="text-xs text-slate-500">
|
{/* <p className="text-xs text-slate-500">
|
||||||
Your controls are paused until access is granted. You will automatically regain the interface once the mode
|
Your controls are paused until access is granted. You will automatically regain the interface once the mode
|
||||||
changes or after a successful login.
|
changes or after a successful login.
|
||||||
</p>
|
</p> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user