mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-15 17:12:59 -04:00
adjustmetns
This commit is contained in:
+7
-27
@@ -1,30 +1,10 @@
|
||||
1. fix controls remapping [x]
|
||||
2. trusted user system [x]
|
||||
3. private rovers [x]
|
||||
4. optional bump-off in drive macro [x]
|
||||
5. allow admins to click on locked rovers from the roster [x]
|
||||
6. add faster way for admins to login
|
||||
7. custom webhook profile pictures for chat bridge in discord
|
||||
8. home assistant switch that tells the server to force the lights on [x]
|
||||
9. color coding with colored names and tape [x]
|
||||
10. audio forwarding [x]
|
||||
- streaming from server to rovers [x]
|
||||
- audio files first [x]
|
||||
- then voice chat [x]
|
||||
10. mobile controls column swapping (optional joystick on left) [x]
|
||||
11. fix fullscreen on mobile so that you can re-enter it [x]
|
||||
12. fix scroll bars on mobile [x]
|
||||
13. add tool call embeds or something for the llm bot in discord, probably not in web ui
|
||||
14. add discord bot typing thing for when someone requests a replay
|
||||
15. change replay title for ones requested from discord, something other than "requester driving rover"
|
||||
16. better quickstart guide, something better than just a big list of controls. help overlay sucks i think. [x]
|
||||
1. restyle fullscreen overlay... please..[x]
|
||||
17. fix rover request spam queue cheat
|
||||
18. not always preview feed for non-turners
|
||||
1. if theres less drivers than there are rovers online, everyone sees full video even if its not your turn
|
||||
2. move the thing out of the middle of the screen no matter what mode its in
|
||||
1. have it just say "its not your turn!" and preview mesasge if preview mode
|
||||
2. make it flash on input to draw attention that its not your turn
|
||||
1. add faster way for admins to login
|
||||
2. custom webhook profile pictures for chat bridge in discord
|
||||
3. add tool call embeds or something for the llm bot in discord, probably not in web ui
|
||||
4. add discord bot typing thing for when someone requests a replay
|
||||
5. change replay title for ones requested from discord, something other than "requester driving rover"
|
||||
6. fix rover request spam queue cheat
|
||||
7. rover descriptions. show in the HUD at the bottom or top for a few seconds, then fade away.
|
||||
|
||||
|
||||
# relative pipe dreams:
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -11,7 +11,7 @@
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<meta name="apple-mobile-web-app-title" content="Roomba Rover" />
|
||||
<title>Roomba Rover</title>
|
||||
<script type="module" crossorigin src="/assets/index-BLeh7cTz.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-BL4tb3vF.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-DlqwZ560.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -38,7 +38,7 @@ export default function DriverVideoPanel({ layoutFormat = 'desktop' }) {
|
||||
const [turnCueVisible, setTurnCueVisible] = useState(false);
|
||||
const [turnCueStartAt, setTurnCueStartAt] = useState(null);
|
||||
const [notTurnFlashAt, setNotTurnFlashAt] = useState(0);
|
||||
const lastTurnRef = useRef({ active: false, roverId: null });
|
||||
const lastTurnRef = useRef({ initialized: false, roverId: null, activeDriverId: null });
|
||||
const lastIntentRef = useRef(lastControlIntentAt || 0);
|
||||
useEffect(() => {
|
||||
if (mode !== 'turns') {
|
||||
@@ -116,21 +116,46 @@ export default function DriverVideoPanel({ layoutFormat = 'desktop' }) {
|
||||
if (mode !== 'turns') {
|
||||
setTurnCueVisible(false);
|
||||
setTurnCueStartAt(null);
|
||||
lastTurnRef.current = { active: false, roverId: null };
|
||||
lastTurnRef.current = { initialized: false, roverId: null, activeDriverId: null };
|
||||
return;
|
||||
}
|
||||
const lastTurn = lastTurnRef.current;
|
||||
const becameActive = isActiveDriver && !lastTurn.active;
|
||||
const roverChanged = isActiveDriver && roverId && roverId !== lastTurn.roverId;
|
||||
if (becameActive || roverChanged) {
|
||||
const nextActiveDriverId = activeDriverId || null;
|
||||
if (!socketId || !roverId) {
|
||||
setTurnCueVisible(false);
|
||||
setTurnCueStartAt(null);
|
||||
lastTurnRef.current = {
|
||||
initialized: false,
|
||||
roverId: null,
|
||||
activeDriverId: null,
|
||||
};
|
||||
return;
|
||||
}
|
||||
if (!lastTurn.initialized || lastTurn.roverId !== roverId) {
|
||||
lastTurnRef.current = {
|
||||
initialized: true,
|
||||
roverId,
|
||||
activeDriverId: nextActiveDriverId,
|
||||
};
|
||||
return;
|
||||
}
|
||||
const becameActive =
|
||||
Boolean(lastTurn.activeDriverId) &&
|
||||
lastTurn.activeDriverId !== socketId &&
|
||||
nextActiveDriverId === socketId;
|
||||
if (becameActive) {
|
||||
setTurnCueVisible(true);
|
||||
setTurnCueStartAt(Date.now());
|
||||
} else if (!isActiveDriver && lastTurn.active) {
|
||||
} else if (nextActiveDriverId !== socketId && turnCueVisible) {
|
||||
setTurnCueVisible(false);
|
||||
setTurnCueStartAt(null);
|
||||
}
|
||||
lastTurnRef.current = { active: isActiveDriver, roverId };
|
||||
}, [isActiveDriver, roverId, mode]);
|
||||
lastTurnRef.current = {
|
||||
initialized: true,
|
||||
roverId,
|
||||
activeDriverId: nextActiveDriverId,
|
||||
};
|
||||
}, [activeDriverId, mode, roverId, socketId, turnCueVisible]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!turnCueVisible || !turnCueStartAt) return;
|
||||
|
||||
Reference in New Issue
Block a user