bppr / stuart Goto Github PK
View Code? Open in Web Editor NEWA very basic IRSDK-JS-Electron proof of concept
A very basic IRSDK-JS-Electron proof of concept
Add support for tracking "requirements" such as "must have completed a pitstop longer than 35 seconds" or "must have put in a qualifying time within a set limit" and raise an incident if the requirement is not met before a deadline.
Requirements can be per-driver or per-team, and have a "deadline", such as "by the start of the race" or "by the end of the race", etc. (Possibly even "by lap N").
Requirement completion status should be shown in the UI, possibly as part of a table.
(This ticket isn't for the actual requirements, just the system that can track them.)
If a large number of drivers all gain incident points at the same time, and in the same area, we should automatically throw a full course yellow.
The definition of "large number of drivers", "same time" and "same area" should all be configurable, with some reasonable defaults (3 or more drivers, 5 seconds, anywhere)
I should be notified when a driver goes off track for more than a few seconds (configurable). The incident should also notify me of how many times the driver has gone off in this region of track.
For this incident type, I would like multiple dismissal options:
"Region of track" is defined in terms of real distance units (not track position percentages), as using a percentage range could have undesirable behavior on longer tracks (aka, nords).
From the UI, I should be able to configure minimum time limits for time spent in pit lane, or time spent in the pit box, and be notified when any drivers make a pitstop that is too short.
In the UI, I would like a place to see a summary of all the incidents a driver has received, and what the resolution of those incidents was (dismissed, acknowledged, or penalty)
When Stuart notices an incident, it should appear on the UI and offer me the option to review the incident (by automatically moving the replay camera to the relevant position) and to either dismiss the incident or apply a penalty to the driver who committed it.
To qualify for participation in a race, drivers must demonstrate that they can complete a lap within a specific percentage of the fastest lap of the fastest driver, or complete a specific number of consecutive clean laps. (or both?)
When the race session starts, I should be notified of any drivers who did not complete a qualifying time or practice lap time within 107% (configurable) of the fastest qualifying or practice lap from the fastest driver, or who did not complete 5 (configurable) consecutive clean laps in practice or qualifying (or both).
The penalty for this is disqualification.
When a driver goes off track for more than a few seconds, we should raise an "incident" when they rejoin the racing surface for review, to make sure it was a safe rejoin.
Configured incident watchers should have a uniform way of describing and configuring their options, which is exposed in the UI and calls back to the backend when the user wants to change the configuration.
Sometimes, the target state for a car will rapidly fluctuate in a way that can cause spurious events.
Red Bull Ring is a particularly nasty example of how "OffTrack" can change rapidly, or in weird ways. There is a strip of asphalt after a gravel trap that is technically considered "on track", so bouncing off the wall can net you two "off track" incidents.
Adding a "cooldown" period to CarTimer would solve this issue. For a period of time after the car is no longer in the "target state", re-entering the target state should not start another timer. (It should also reset the cooldown)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.