@horizon36596/zenith-core 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +18 -0
- package/README.md +16 -0
- package/dist/canonicalize.d.ts +25 -0
- package/dist/canonicalize.d.ts.map +1 -0
- package/dist/canonicalize.js +199 -0
- package/dist/canonicalize.js.map +1 -0
- package/dist/check.d.ts +26 -0
- package/dist/check.d.ts.map +1 -0
- package/dist/check.js +231 -0
- package/dist/check.js.map +1 -0
- package/dist/checks/heading.d.ts +17 -0
- package/dist/checks/heading.d.ts.map +1 -0
- package/dist/checks/heading.js +78 -0
- package/dist/checks/heading.js.map +1 -0
- package/dist/checks/intake.d.ts +28 -0
- package/dist/checks/intake.d.ts.map +1 -0
- package/dist/checks/intake.js +131 -0
- package/dist/checks/intake.js.map +1 -0
- package/dist/checks/motion.d.ts +28 -0
- package/dist/checks/motion.d.ts.map +1 -0
- package/dist/checks/motion.js +252 -0
- package/dist/checks/motion.js.map +1 -0
- package/dist/checks/schedule.d.ts +29 -0
- package/dist/checks/schedule.d.ts.map +1 -0
- package/dist/checks/schedule.js +166 -0
- package/dist/checks/schedule.js.map +1 -0
- package/dist/checks/season.d.ts +6 -0
- package/dist/checks/season.d.ts.map +1 -0
- package/dist/checks/season.js +126 -0
- package/dist/checks/season.js.map +1 -0
- package/dist/continuity.d.ts +38 -0
- package/dist/continuity.d.ts.map +1 -0
- package/dist/continuity.js +69 -0
- package/dist/continuity.js.map +1 -0
- package/dist/diff.d.ts +37 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +258 -0
- package/dist/diff.js.map +1 -0
- package/dist/edit/command.d.ts +4 -0
- package/dist/edit/command.d.ts.map +1 -0
- package/dist/edit/command.js +16 -0
- package/dist/edit/command.js.map +1 -0
- package/dist/edit/errors.d.ts +9 -0
- package/dist/edit/errors.d.ts.map +1 -0
- package/dist/edit/errors.js +12 -0
- package/dist/edit/errors.js.map +1 -0
- package/dist/edit/fields.d.ts +40 -0
- package/dist/edit/fields.d.ts.map +1 -0
- package/dist/edit/fields.js +150 -0
- package/dist/edit/fields.js.map +1 -0
- package/dist/edit/finish.d.ts +15 -0
- package/dist/edit/finish.d.ts.map +1 -0
- package/dist/edit/finish.js +36 -0
- package/dist/edit/finish.js.map +1 -0
- package/dist/edit/groups.d.ts +66 -0
- package/dist/edit/groups.d.ts.map +1 -0
- package/dist/edit/groups.js +277 -0
- package/dist/edit/groups.js.map +1 -0
- package/dist/edit/ids.d.ts +39 -0
- package/dist/edit/ids.d.ts.map +1 -0
- package/dist/edit/ids.js +76 -0
- package/dist/edit/ids.js.map +1 -0
- package/dist/edit/index.d.ts +22 -0
- package/dist/edit/index.d.ts.map +1 -0
- package/dist/edit/index.js +22 -0
- package/dist/edit/index.js.map +1 -0
- package/dist/edit/meta.d.ts +15 -0
- package/dist/edit/meta.d.ts.map +1 -0
- package/dist/edit/meta.js +13 -0
- package/dist/edit/meta.js.map +1 -0
- package/dist/edit/path.d.ts +36 -0
- package/dist/edit/path.d.ts.map +1 -0
- package/dist/edit/path.js +135 -0
- package/dist/edit/path.js.map +1 -0
- package/dist/edit/steps.d.ts +53 -0
- package/dist/edit/steps.d.ts.map +1 -0
- package/dist/edit/steps.js +0 -0
- package/dist/edit/steps.js.map +1 -0
- package/dist/edit/template.d.ts +18 -0
- package/dist/edit/template.d.ts.map +1 -0
- package/dist/edit/template.js +30 -0
- package/dist/edit/template.js.map +1 -0
- package/dist/edit/timing.d.ts +11 -0
- package/dist/edit/timing.d.ts.map +1 -0
- package/dist/edit/timing.js +23 -0
- package/dist/edit/timing.js.map +1 -0
- package/dist/edit/tree.d.ts +32 -0
- package/dist/edit/tree.d.ts.map +1 -0
- package/dist/edit/tree.js +90 -0
- package/dist/edit/tree.js.map +1 -0
- package/dist/estimate.d.ts +48 -0
- package/dist/estimate.d.ts.map +1 -0
- package/dist/estimate.js +443 -0
- package/dist/estimate.js.map +1 -0
- package/dist/findingHelp.d.ts +18 -0
- package/dist/findingHelp.d.ts.map +1 -0
- package/dist/findingHelp.js +114 -0
- package/dist/findingHelp.js.map +1 -0
- package/dist/fix.d.ts +21 -0
- package/dist/fix.d.ts.map +1 -0
- package/dist/fix.js +180 -0
- package/dist/fix.js.map +1 -0
- package/dist/footprint.d.ts +33 -0
- package/dist/footprint.d.ts.map +1 -0
- package/dist/footprint.js +71 -0
- package/dist/footprint.js.map +1 -0
- package/dist/geometry/angle.d.ts +13 -0
- package/dist/geometry/angle.d.ts.map +1 -0
- package/dist/geometry/angle.js +21 -0
- package/dist/geometry/angle.js.map +1 -0
- package/dist/geometry/curve.d.ts +24 -0
- package/dist/geometry/curve.d.ts.map +1 -0
- package/dist/geometry/curve.js +78 -0
- package/dist/geometry/curve.js.map +1 -0
- package/dist/geometry/path.d.ts +29 -0
- package/dist/geometry/path.d.ts.map +1 -0
- package/dist/geometry/path.js +61 -0
- package/dist/geometry/path.js.map +1 -0
- package/dist/geometry/quadrature.d.ts +13 -0
- package/dist/geometry/quadrature.d.ts.map +1 -0
- package/dist/geometry/quadrature.js +57 -0
- package/dist/geometry/quadrature.js.map +1 -0
- package/dist/geometry/sat.d.ts +40 -0
- package/dist/geometry/sat.d.ts.map +1 -0
- package/dist/geometry/sat.js +86 -0
- package/dist/geometry/sat.js.map +1 -0
- package/dist/geometry/vec.d.ts +27 -0
- package/dist/geometry/vec.d.ts.map +1 -0
- package/dist/geometry/vec.js +30 -0
- package/dist/geometry/vec.js.map +1 -0
- package/dist/heading.d.ts +77 -0
- package/dist/heading.d.ts.map +1 -0
- package/dist/heading.js +164 -0
- package/dist/heading.js.map +1 -0
- package/dist/headingRanges.d.ts +48 -0
- package/dist/headingRanges.d.ts.map +1 -0
- package/dist/headingRanges.js +132 -0
- package/dist/headingRanges.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/kinematics.d.ts +63 -0
- package/dist/kinematics.d.ts.map +1 -0
- package/dist/kinematics.js +71 -0
- package/dist/kinematics.js.map +1 -0
- package/dist/ledger.d.ts +49 -0
- package/dist/ledger.d.ts.map +1 -0
- package/dist/ledger.js +136 -0
- package/dist/ledger.js.map +1 -0
- package/dist/load.d.ts +12 -0
- package/dist/load.d.ts.map +1 -0
- package/dist/load.js +12 -0
- package/dist/load.js.map +1 -0
- package/dist/mirror.d.ts +81 -0
- package/dist/mirror.d.ts.map +1 -0
- package/dist/mirror.js +282 -0
- package/dist/mirror.js.map +1 -0
- package/dist/plan.d.ts +29 -0
- package/dist/plan.d.ts.map +1 -0
- package/dist/plan.js +159 -0
- package/dist/plan.js.map +1 -0
- package/dist/prBody.d.ts +24 -0
- package/dist/prBody.d.ts.map +1 -0
- package/dist/prBody.js +112 -0
- package/dist/prBody.js.map +1 -0
- package/dist/provenance.d.ts +21 -0
- package/dist/provenance.d.ts.map +1 -0
- package/dist/provenance.js +46 -0
- package/dist/provenance.js.map +1 -0
- package/dist/render.d.ts +18 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +464 -0
- package/dist/render.js.map +1 -0
- package/dist/resolve.d.ts +39 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +172 -0
- package/dist/resolve.js.map +1 -0
- package/dist/season.d.ts +65 -0
- package/dist/season.d.ts.map +1 -0
- package/dist/season.js +16 -0
- package/dist/season.js.map +1 -0
- package/dist/sim/commands.d.ts +97 -0
- package/dist/sim/commands.d.ts.map +1 -0
- package/dist/sim/commands.js +185 -0
- package/dist/sim/commands.js.map +1 -0
- package/dist/sim/curves.d.ts +37 -0
- package/dist/sim/curves.d.ts.map +1 -0
- package/dist/sim/curves.js +187 -0
- package/dist/sim/curves.js.map +1 -0
- package/dist/sim/follower.d.ts +124 -0
- package/dist/sim/follower.d.ts.map +1 -0
- package/dist/sim/follower.js +472 -0
- package/dist/sim/follower.js.map +1 -0
- package/dist/sim/ideal.d.ts +103 -0
- package/dist/sim/ideal.d.ts.map +1 -0
- package/dist/sim/ideal.js +393 -0
- package/dist/sim/ideal.js.map +1 -0
- package/dist/sim/index.d.ts +11 -0
- package/dist/sim/index.d.ts.map +1 -0
- package/dist/sim/index.js +10 -0
- package/dist/sim/index.js.map +1 -0
- package/dist/sim/params.d.ts +91 -0
- package/dist/sim/params.d.ts.map +1 -0
- package/dist/sim/params.js +195 -0
- package/dist/sim/params.js.map +1 -0
- package/dist/sim/pedroPath.d.ts +41 -0
- package/dist/sim/pedroPath.d.ts.map +1 -0
- package/dist/sim/pedroPath.js +191 -0
- package/dist/sim/pedroPath.js.map +1 -0
- package/dist/sim/plant.d.ts +59 -0
- package/dist/sim/plant.d.ts.map +1 -0
- package/dist/sim/plant.js +128 -0
- package/dist/sim/plant.js.map +1 -0
- package/dist/sim/residuals.d.ts +36 -0
- package/dist/sim/residuals.d.ts.map +1 -0
- package/dist/sim/residuals.js +86 -0
- package/dist/sim/residuals.js.map +1 -0
- package/dist/sim/simulate.d.ts +27 -0
- package/dist/sim/simulate.d.ts.map +1 -0
- package/dist/sim/simulate.js +924 -0
- package/dist/sim/simulate.js.map +1 -0
- package/dist/sim/types.d.ts +209 -0
- package/dist/sim/types.d.ts.map +1 -0
- package/dist/sim/types.js +2 -0
- package/dist/sim/types.js.map +1 -0
- package/dist/tokens.d.ts +93 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +93 -0
- package/dist/tokens.js.map +1 -0
- package/dist/trace.d.ts +89 -0
- package/dist/trace.d.ts.map +1 -0
- package/dist/trace.js +187 -0
- package/dist/trace.js.map +1 -0
- package/dist/types.d.ts +219 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/unimplemented.d.ts +8 -0
- package/dist/unimplemented.d.ts.map +1 -0
- package/dist/unimplemented.js +11 -0
- package/dist/unimplemented.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../src/sim/simulate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import type { Trace, TraceEvent, TracePoseRow, TraceStep } from "../trace.js";
|
|
2
|
+
import type { LedgerRun } from "../ledger.js";
|
|
3
|
+
import type { SeasonRules } from "../season.js";
|
|
4
|
+
/**
|
|
5
|
+
* The instant sim's own types (site/docs/simulation.md). Everything the sim returns is
|
|
6
|
+
* a `Trace`, the same shape the robot repository's headless sim writes, with fields added and never
|
|
7
|
+
* changed, so the overlay, the timeline and the checks read either one without knowing which it is.
|
|
8
|
+
*
|
|
9
|
+
* The follower and plant parameters mirror Pedro Pathing v3's `ForesightConfig` and a Gradle
|
|
10
|
+
* headless sim's drivetrain model; `params.ts` says where every one of them comes from and what
|
|
11
|
+
* each default is.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Which world the sim reproduces.
|
|
15
|
+
*
|
|
16
|
+
* - `robot` (the default): the follower sees the robot's true velocity, the way the real OctoQuad
|
|
17
|
+
* reports it, and a wheel commanded to zero power coasts down at the measured natural
|
|
18
|
+
* deceleration. This is the preview.
|
|
19
|
+
* - `gradle`: reproduces the robot repository's headless harness exactly, including what it does
|
|
20
|
+
* not model: its `FakeOctoQuad` reports a velocity of zero, so Pedro never projects a stopping
|
|
21
|
+
* distance; its `FakeMotor` sheds speed at the same first-order rate whether it is driven or
|
|
22
|
+
* coasting; and the pose is quantised to whole millimetres and 1/5000 rad. Use it to compare
|
|
23
|
+
* against a Gradle trace and to check this port, not to plan a routine.
|
|
24
|
+
*/
|
|
25
|
+
export type SimFidelity = "robot" | "gradle";
|
|
26
|
+
/** How a wheel commanded to (nearly) zero power loses speed. */
|
|
27
|
+
export type CoastModel = "natural" | "firstOrder";
|
|
28
|
+
/**
|
|
29
|
+
* Pedro's ForesightV3 knobs, named for their `robot.json` keys (`kinematics.follower`).
|
|
30
|
+
* Powers are motor power fractions in [-1, 1].
|
|
31
|
+
*/
|
|
32
|
+
export interface FollowerParams {
|
|
33
|
+
/** `forwardTranslational`: power per inch of cross-track error along the nose. */
|
|
34
|
+
forwardTranslationalPowerPerIn: number;
|
|
35
|
+
/** `strafeTranslational`: power per inch of cross-track error across the nose. */
|
|
36
|
+
strafeTranslationalPowerPerIn: number;
|
|
37
|
+
/** `headingFeedback`: turn power per radian of heading error. */
|
|
38
|
+
headingPowerPerRad: number;
|
|
39
|
+
/** `headingStaticFF`: a constant turn power in the direction of the error. */
|
|
40
|
+
headingStaticPower: number;
|
|
41
|
+
/** `coast`'s proportional term. V3 feeds it the target velocity itself, not an error. */
|
|
42
|
+
coastPowerPerInPerS: number;
|
|
43
|
+
/** `coast`'s feedforward term: power per in/s of target velocity. */
|
|
44
|
+
coastFeedforwardPowerPerInPerS: number;
|
|
45
|
+
/** `brake`: power per in/s of the velocity the brake model says the robot can still carry. */
|
|
46
|
+
brakeFeedforwardPowerPerInPerS: number;
|
|
47
|
+
/** `maxBrakingPower`: the most power allowed against the direction of motion. */
|
|
48
|
+
maxBrakingPower: number;
|
|
49
|
+
/** `headingDriveRatio`: the share of heading feedback moved ahead of the drive vector. */
|
|
50
|
+
headingDriveRatio: number;
|
|
51
|
+
/** `cosineScale`: damp the drive vector by cos(error) when far off the path. */
|
|
52
|
+
cosineScale: boolean;
|
|
53
|
+
/** `turnBeforeDriving`: hold the drive vector at the start until the heading is close. */
|
|
54
|
+
turnBeforeDriving: boolean;
|
|
55
|
+
/** `brakeAggression`: above 1 brakes later (overshoots), below 1 earlier. */
|
|
56
|
+
brakeAggression: number;
|
|
57
|
+
/** `linearBrakeCoefficients` (0, 0): stopping inches per in/s nose-on. */
|
|
58
|
+
brakeLinearForwardS: number;
|
|
59
|
+
/** `quadraticBrakeCoefficients` (0, 0): stopping inches per (in/s)^2 nose-on. */
|
|
60
|
+
brakeQuadraticForwardS2PerIn: number;
|
|
61
|
+
/** `linearBrakeCoefficients` (1, 1): the same sideways. */
|
|
62
|
+
brakeLinearStrafeS: number;
|
|
63
|
+
/** `quadraticBrakeCoefficients` (1, 1): the same sideways. */
|
|
64
|
+
brakeQuadraticStrafeS2PerIn: number;
|
|
65
|
+
/** `headingBrakeCoefficients.x`: stopping radians per rad/s. */
|
|
66
|
+
headingBrakeLinearS: number;
|
|
67
|
+
/** `headingBrakeCoefficients.y`: stopping radians per (rad/s)^2. */
|
|
68
|
+
headingBrakeQuadraticS2PerRad: number;
|
|
69
|
+
/** `parametricTConstraint`: a segment ends once the closest point passes t = 1 minus this. */
|
|
70
|
+
endParametricT: number;
|
|
71
|
+
/** `headingConstraint`: the hold counts as settled inside this heading error. */
|
|
72
|
+
endHeadingToleranceRad: number;
|
|
73
|
+
/** `translationalConstraint`: the hold counts as settled inside this distance. */
|
|
74
|
+
endTranslationalToleranceIn: number;
|
|
75
|
+
/** `velocityConstraint`: the hold counts as settled below this speed toward the target. */
|
|
76
|
+
endVelocityToleranceInPerS: number;
|
|
77
|
+
/** `timeoutConstraint`, in seconds rather than Pedro's milliseconds. */
|
|
78
|
+
holdTimeoutS: number;
|
|
79
|
+
/** `headingDeviationTolerance`: past this, heading correction takes priority over the drive. */
|
|
80
|
+
headingDeviationToleranceRad: number;
|
|
81
|
+
/** `translationalDeviationTolerance`: past this, translational correction takes priority. */
|
|
82
|
+
translationalDeviationToleranceIn: number;
|
|
83
|
+
/** `minCorrectionDistance`: no translational correction inside this. */
|
|
84
|
+
minCorrectionDistanceIn: number;
|
|
85
|
+
}
|
|
86
|
+
/** The mecanum plant, matched to the robot repository's `MecanumDrivePlant` and `FakeMotor`. */
|
|
87
|
+
export interface PlantParams {
|
|
88
|
+
/** Full-power wheel speed, nose-on. `FakeMotor.maxVelocityTicksPerSecond / ticksPerInch`. */
|
|
89
|
+
maxForwardVelInPerS: number;
|
|
90
|
+
/** Full-power strafe speed. Its ratio to the forward speed is the plant's roller slip. */
|
|
91
|
+
maxStrafeVelInPerS: number;
|
|
92
|
+
/** `FakeMotor`'s first-order rate, 1/s: `speed += (power - speed) * rate * dt`. */
|
|
93
|
+
wheelResponseRatePerS: number;
|
|
94
|
+
/** Half the wheel base plus half the track width: the mecanum lever arm for rotation. */
|
|
95
|
+
leverArmIn: number;
|
|
96
|
+
/** The natural deceleration nose-on when every wheel is unpowered (`natural` coast only). */
|
|
97
|
+
forwardDecelInPerS2: number;
|
|
98
|
+
/** The same sideways. */
|
|
99
|
+
strafeDecelInPerS2: number;
|
|
100
|
+
coast: CoastModel;
|
|
101
|
+
/** `FakeMotor.EPS`: below this speed and power a wheel stops outright. */
|
|
102
|
+
stopSnapFraction: number;
|
|
103
|
+
/** `CachedMotor` / `MecanumConfig.powerThreshold`: a smaller power change is not written. */
|
|
104
|
+
powerThreshold: number;
|
|
105
|
+
/** The pose is clamped to plus or minus this on both axes (`MecanumPoseIntegrator`). */
|
|
106
|
+
fieldHalfIn: number;
|
|
107
|
+
}
|
|
108
|
+
/** What a condition resolver is asked, and when. */
|
|
109
|
+
export type ConditionQuery = {
|
|
110
|
+
/** A path's `endCondition`: return the fraction of arc length where it fires, or null. */
|
|
111
|
+
kind: "endCondition";
|
|
112
|
+
stepId: string;
|
|
113
|
+
condition: string;
|
|
114
|
+
holdsBefore: Readonly<Record<string, number>> | null;
|
|
115
|
+
holdsAfter: Readonly<Record<string, number>> | null;
|
|
116
|
+
} | {
|
|
117
|
+
/** A `wait` with `until`: return the seconds after the wait starts, or null for never. */
|
|
118
|
+
kind: "wait";
|
|
119
|
+
stepId: string;
|
|
120
|
+
condition: string;
|
|
121
|
+
holds: Readonly<Record<string, number>> | null;
|
|
122
|
+
} | {
|
|
123
|
+
/** A `branch`: return whether the condition reads true as the branch starts. */
|
|
124
|
+
kind: "branch";
|
|
125
|
+
stepId: string;
|
|
126
|
+
condition: string;
|
|
127
|
+
holds: Readonly<Record<string, number>> | null;
|
|
128
|
+
};
|
|
129
|
+
/** Returns undefined to leave the query to the default resolution. */
|
|
130
|
+
export type ConditionResolver = (query: ConditionQuery) => number | boolean | null | undefined;
|
|
131
|
+
export interface SimOptions {
|
|
132
|
+
/** Seconds per tick. 0.01 for `robot`; 0.02 for `gradle`, `HeadlessOpModeRunner.TICK_SECONDS`. */
|
|
133
|
+
tickS?: number;
|
|
134
|
+
fidelity?: SimFidelity;
|
|
135
|
+
/** Stop here even if the routine has not finished. Default: the auto period plus 4 s. */
|
|
136
|
+
maxTimeS?: number;
|
|
137
|
+
follower?: Partial<FollowerParams>;
|
|
138
|
+
plant?: Partial<PlantParams>;
|
|
139
|
+
/** The seconds a command whose `estimateS` is `"unknown"` takes. Default 0, as the estimate counts it. */
|
|
140
|
+
unknownCommandS?: number;
|
|
141
|
+
/** The ledger `runLedger` produced for this plan, so a condition can be resolved from it. */
|
|
142
|
+
ledger?: LedgerRun;
|
|
143
|
+
/** The season rules the ledger ran with, to read what the robot holds before a step. */
|
|
144
|
+
season?: SeasonRules;
|
|
145
|
+
/** Overrides the default resolution of conditions; return undefined to fall back to it. */
|
|
146
|
+
conditions?: ConditionResolver;
|
|
147
|
+
/** Conditions that mean "the robot is at capacity". Default: those the robot file marks `full`, else `hopperFull`. */
|
|
148
|
+
fullConditions?: readonly string[];
|
|
149
|
+
/** Conditions that mean "the robot holds nothing". Default: those marked `empty`, else `hopperEmpty`. */
|
|
150
|
+
emptyConditions?: readonly string[];
|
|
151
|
+
}
|
|
152
|
+
/** `[timeS, vxInPerS, vyInPerS, omegaRadPerS]`, field frame, the velocity the plant really had. */
|
|
153
|
+
export type TraceVelocityRow = readonly [number, number, number, number];
|
|
154
|
+
/** A step as the instant sim ran it: the trace's step plus what only the sim knows. */
|
|
155
|
+
export interface SimStepRecord extends TraceStep {
|
|
156
|
+
kind: string;
|
|
157
|
+
/** The parent group's id, or null at the top level. */
|
|
158
|
+
parentId: string | null;
|
|
159
|
+
/** True when the step's `timeoutS` ended it. */
|
|
160
|
+
timedOut: boolean;
|
|
161
|
+
/** True when the step's `endCondition` or `until` fired. */
|
|
162
|
+
conditionFired: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* True when the seconds are not a prediction: a command whose `estimateS` is unknown, a
|
|
165
|
+
* `movesRobot` command, or a condition the sim cannot see.
|
|
166
|
+
*/
|
|
167
|
+
unknown: boolean;
|
|
168
|
+
/** Why `unknown` is true, in a sentence. */
|
|
169
|
+
unknownReason?: string;
|
|
170
|
+
/** For a path step: when the hold after it first met Pedro's end constraints, if it did. */
|
|
171
|
+
settledS?: number;
|
|
172
|
+
}
|
|
173
|
+
export interface SimEvent extends TraceEvent {
|
|
174
|
+
stepId?: string;
|
|
175
|
+
command?: string;
|
|
176
|
+
detail?: string;
|
|
177
|
+
}
|
|
178
|
+
/** The trace `simulate` returns: a `Trace` with its additions. */
|
|
179
|
+
export interface SimTrace extends Trace {
|
|
180
|
+
/** Always `"instant"`, so a reader can tell it from a Gradle trace. */
|
|
181
|
+
source: "instant";
|
|
182
|
+
fidelity: SimFidelity;
|
|
183
|
+
steps: SimStepRecord[];
|
|
184
|
+
events: SimEvent[];
|
|
185
|
+
velocities: TraceVelocityRow[];
|
|
186
|
+
/** True when the routine finished before `maxTimeS`. */
|
|
187
|
+
completed: boolean;
|
|
188
|
+
/** The auto period the field declares, when it does. */
|
|
189
|
+
periodS: number | null;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* The state at the moment a top-level step is about to start, so `resimulate` can pick up from
|
|
193
|
+
* the first edited step. Opaque to callers: only `resimulate` reads it.
|
|
194
|
+
*/
|
|
195
|
+
export interface SimCheckpoint {
|
|
196
|
+
readonly stepIndex: number;
|
|
197
|
+
/** A structural key of every top-level step before this one and the inputs, for reuse checks. */
|
|
198
|
+
readonly prefixKey: string;
|
|
199
|
+
readonly state: unknown;
|
|
200
|
+
}
|
|
201
|
+
/** A trace plus the checkpoints that let the editor re-simulate from an edited step. */
|
|
202
|
+
export interface SimRun {
|
|
203
|
+
trace: SimTrace;
|
|
204
|
+
checkpoints: SimCheckpoint[];
|
|
205
|
+
/** The first top-level step this run actually simulated; 0 for a full run. */
|
|
206
|
+
resumedFromStep: number;
|
|
207
|
+
}
|
|
208
|
+
export type { TracePoseRow };
|
|
209
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sim/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sim/types.ts"],"names":[],"mappings":""}
|
package/dist/tokens.d.ts
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Zenith palette, as literal sRGB.
|
|
3
|
+
*
|
|
4
|
+
* `apps/web/UI_GUIDE.md` and `apps/web/src/styles/tokens.css` define these in OKLCH as CSS custom
|
|
5
|
+
* properties, which is right for the app. An SVG from `render()` is also rasterised (the CLI's
|
|
6
|
+
* `--png`, a pull request's committed picture), and a rasteriser has no custom properties and no
|
|
7
|
+
* OKLCH, so the same colours are written out here as hex, one constant per token, with the token's
|
|
8
|
+
* name and its OKLCH value beside it. If a token changes in `tokens.css`, change it here too: these
|
|
9
|
+
* are two spellings of one palette, not two palettes.
|
|
10
|
+
*
|
|
11
|
+
* The hex values are the sRGB conversion of the OKLCH in `tokens.css`. Where `tokens.css` prints a
|
|
12
|
+
* hex in a comment, it says itself that it is an approximation for reference; the conversion below
|
|
13
|
+
* is the accurate one, so the two differ by a shade or two on the saturated hues.
|
|
14
|
+
*/
|
|
15
|
+
export declare const TOKENS: {
|
|
16
|
+
/** `--bg-canvas` oklch(0.130 0.005 255): the field well, darker so geometry reads first. */
|
|
17
|
+
readonly bgCanvas: "#060709";
|
|
18
|
+
/** `--bg-panel` oklch(0.205 0.007 255): the side table's body. */
|
|
19
|
+
readonly bgPanel: "#15171a";
|
|
20
|
+
/** `--bg-raised` oklch(0.255 0.008 255): the side table's header. */
|
|
21
|
+
readonly bgRaised: "#202327";
|
|
22
|
+
/** `--border-subtle` oklch(0.275 0.007 255). */
|
|
23
|
+
readonly borderSubtle: "#25282b";
|
|
24
|
+
/** `--border-default` oklch(0.340 0.008 255): the field perimeter. */
|
|
25
|
+
readonly borderDefault: "#35383c";
|
|
26
|
+
/** `--text-hi` oklch(0.950 0.004 255). */
|
|
27
|
+
readonly textHi: "#edeff1";
|
|
28
|
+
/** `--text-mid` oklch(0.780 0.006 255). */
|
|
29
|
+
readonly textMid: "#b5b8bb";
|
|
30
|
+
/** `--text-lo` oklch(0.650 0.008 255). */
|
|
31
|
+
readonly textLo: "#8c8f94";
|
|
32
|
+
/** `--accent` oklch(0.760 0.115 192): Horizon teal. */
|
|
33
|
+
readonly accent: "#3fc8c4";
|
|
34
|
+
/** `--sev-error` oklch(0.700 0.175 25). */
|
|
35
|
+
readonly sevError: "#f86b65";
|
|
36
|
+
/** `--sev-warn` oklch(0.790 0.135 72). */
|
|
37
|
+
readonly sevWarn: "#f0ab4d";
|
|
38
|
+
/** `--sev-info` oklch(0.740 0.045 240). */
|
|
39
|
+
readonly sevInfo: "#92afc5";
|
|
40
|
+
/** `--ok` oklch(0.760 0.135 150). */
|
|
41
|
+
readonly ok: "#6cc982";
|
|
42
|
+
/** `--path-estimated` oklch(0.740 0.035 240): the plan as drawn. */
|
|
43
|
+
readonly pathEstimated: "#98aebf";
|
|
44
|
+
/** `--path-actual` oklch(0.740 0.135 150): a recorded trace laid over the plan. */
|
|
45
|
+
readonly pathActual: "#65c27c";
|
|
46
|
+
/** `--grid-minor` oklch(0.300 0.006 255): every 12 in. */
|
|
47
|
+
readonly gridMinor: "#2c2e31";
|
|
48
|
+
/** `--grid-major` oklch(0.400 0.007 255): every 24 in, one tile. */
|
|
49
|
+
readonly gridMajor: "#45484b";
|
|
50
|
+
/** `--grid-axis` oklch(0.520 0.020 255): x = 0 and y = 0. */
|
|
51
|
+
readonly gridAxis: "#616a75";
|
|
52
|
+
/** `--field-obstacle` oklch(0.500 0.012 250). */
|
|
53
|
+
readonly fieldObstacle: "#5e646a";
|
|
54
|
+
/** `--field-obstacle-fill` oklch(0.285 0.010 250): opaque, because you cannot drive here. */
|
|
55
|
+
readonly fieldObstacleFill: "#262b2f";
|
|
56
|
+
/** `--field-zone` oklch(0.790 0.135 72): shares the warning hue by design. */
|
|
57
|
+
readonly fieldZone: "#f0ab4d";
|
|
58
|
+
/** `--field-element` oklch(0.720 0.110 350): game elements and containers. */
|
|
59
|
+
readonly fieldElement: "#d887ae";
|
|
60
|
+
/** `--field-target` oklch(0.800 0.115 88): the scoring reticle. */
|
|
61
|
+
readonly fieldTarget: "#ddb961";
|
|
62
|
+
/** `--field-waypoint` oklch(0.700 0.030 255): a named pose's pin. */
|
|
63
|
+
readonly fieldWaypoint: "#92a0b1";
|
|
64
|
+
/** `--marker-pin` oklch(0.860 0.100 192): an authored event on a path. */
|
|
65
|
+
readonly markerPin: "#7be6e2";
|
|
66
|
+
/** `--handle-heading` oklch(0.860 0.090 88): warm, because orientation is warm. */
|
|
67
|
+
readonly handleHeading: "#eace8c";
|
|
68
|
+
/** `--alliance-red` oklch(0.630 0.205 26). */
|
|
69
|
+
readonly allianceRed: "#eb4441";
|
|
70
|
+
/** `--alliance-blue` oklch(0.630 0.175 258). */
|
|
71
|
+
readonly allianceBlue: "#3d87f0";
|
|
72
|
+
};
|
|
73
|
+
/** Alpha values the guide states as a percentage, as SVG opacity numbers. */
|
|
74
|
+
export declare const ALPHA: {
|
|
75
|
+
/** `--field-zone-fill`: 10 % under a 4 4 dashed stroke. */
|
|
76
|
+
readonly zoneFill: 0.1;
|
|
77
|
+
/** `--field-element-fill`: 18 %. */
|
|
78
|
+
readonly elementFill: 0.18;
|
|
79
|
+
/** `--ghost-footprint`: the robot outline stamped every half second. */
|
|
80
|
+
readonly ghostFootprint: 0.16;
|
|
81
|
+
/** `--path-ghost`: the mirrored or base-version preview, dashed 4 4. */
|
|
82
|
+
readonly pathGhost: 0.28;
|
|
83
|
+
/** `--highlight-find`: the segment a finding points at, widened underneath the path. */
|
|
84
|
+
readonly findingHighlight: 0.35;
|
|
85
|
+
};
|
|
86
|
+
/** The font stacks of `UI_GUIDE.md` section 2, written out for a document with no stylesheet. */
|
|
87
|
+
export declare const FONTS: {
|
|
88
|
+
readonly ui: "IBM Plex Sans, Segoe UI, Noto Sans, sans-serif";
|
|
89
|
+
readonly mono: "IBM Plex Mono, ui-monospace, Consolas, monospace";
|
|
90
|
+
};
|
|
91
|
+
/** The colour a finding is drawn in, by severity. */
|
|
92
|
+
export declare const severityColour: (severity: "error" | "warning" | "info") => string;
|
|
93
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM;IACjB,4FAA4F;;IAE5F,kEAAkE;;IAElE,qEAAqE;;IAGrE,gDAAgD;;IAEhD,sEAAsE;;IAGtE,0CAA0C;;IAE1C,2CAA2C;;IAE3C,0CAA0C;;IAG1C,uDAAuD;;IAGvD,2CAA2C;;IAE3C,0CAA0C;;IAE1C,2CAA2C;;IAE3C,qCAAqC;;IAGrC,oEAAoE;;IAEpE,mFAAmF;;IAGnF,0DAA0D;;IAE1D,oEAAoE;;IAEpE,6DAA6D;;IAG7D,iDAAiD;;IAEjD,6FAA6F;;IAE7F,8EAA8E;;IAE9E,8EAA8E;;IAE9E,mEAAmE;;IAEnE,qEAAqE;;IAGrE,0EAA0E;;IAE1E,mFAAmF;;IAEnF,8CAA8C;;IAE9C,gDAAgD;;CAExC,CAAC;AAEX,6EAA6E;AAC7E,eAAO,MAAM,KAAK;IAChB,2DAA2D;;IAE3D,oCAAoC;;IAEpC,wEAAwE;;IAExE,wEAAwE;;IAExE,wFAAwF;;CAEhF,CAAC;AAEX,iGAAiG;AACjG,eAAO,MAAM,KAAK;;;CAGR,CAAC;AAEX,qDAAqD;AACrD,eAAO,MAAM,cAAc,GAAI,UAAU,OAAO,GAAG,SAAS,GAAG,MAAM,KAAG,MAC2B,CAAC"}
|
package/dist/tokens.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Zenith palette, as literal sRGB.
|
|
3
|
+
*
|
|
4
|
+
* `apps/web/UI_GUIDE.md` and `apps/web/src/styles/tokens.css` define these in OKLCH as CSS custom
|
|
5
|
+
* properties, which is right for the app. An SVG from `render()` is also rasterised (the CLI's
|
|
6
|
+
* `--png`, a pull request's committed picture), and a rasteriser has no custom properties and no
|
|
7
|
+
* OKLCH, so the same colours are written out here as hex, one constant per token, with the token's
|
|
8
|
+
* name and its OKLCH value beside it. If a token changes in `tokens.css`, change it here too: these
|
|
9
|
+
* are two spellings of one palette, not two palettes.
|
|
10
|
+
*
|
|
11
|
+
* The hex values are the sRGB conversion of the OKLCH in `tokens.css`. Where `tokens.css` prints a
|
|
12
|
+
* hex in a comment, it says itself that it is an approximation for reference; the conversion below
|
|
13
|
+
* is the accurate one, so the two differ by a shade or two on the saturated hues.
|
|
14
|
+
*/
|
|
15
|
+
export const TOKENS = {
|
|
16
|
+
/** `--bg-canvas` oklch(0.130 0.005 255): the field well, darker so geometry reads first. */
|
|
17
|
+
bgCanvas: "#060709",
|
|
18
|
+
/** `--bg-panel` oklch(0.205 0.007 255): the side table's body. */
|
|
19
|
+
bgPanel: "#15171a",
|
|
20
|
+
/** `--bg-raised` oklch(0.255 0.008 255): the side table's header. */
|
|
21
|
+
bgRaised: "#202327",
|
|
22
|
+
/** `--border-subtle` oklch(0.275 0.007 255). */
|
|
23
|
+
borderSubtle: "#25282b",
|
|
24
|
+
/** `--border-default` oklch(0.340 0.008 255): the field perimeter. */
|
|
25
|
+
borderDefault: "#35383c",
|
|
26
|
+
/** `--text-hi` oklch(0.950 0.004 255). */
|
|
27
|
+
textHi: "#edeff1",
|
|
28
|
+
/** `--text-mid` oklch(0.780 0.006 255). */
|
|
29
|
+
textMid: "#b5b8bb",
|
|
30
|
+
/** `--text-lo` oklch(0.650 0.008 255). */
|
|
31
|
+
textLo: "#8c8f94",
|
|
32
|
+
/** `--accent` oklch(0.760 0.115 192): Horizon teal. */
|
|
33
|
+
accent: "#3fc8c4",
|
|
34
|
+
/** `--sev-error` oklch(0.700 0.175 25). */
|
|
35
|
+
sevError: "#f86b65",
|
|
36
|
+
/** `--sev-warn` oklch(0.790 0.135 72). */
|
|
37
|
+
sevWarn: "#f0ab4d",
|
|
38
|
+
/** `--sev-info` oklch(0.740 0.045 240). */
|
|
39
|
+
sevInfo: "#92afc5",
|
|
40
|
+
/** `--ok` oklch(0.760 0.135 150). */
|
|
41
|
+
ok: "#6cc982",
|
|
42
|
+
/** `--path-estimated` oklch(0.740 0.035 240): the plan as drawn. */
|
|
43
|
+
pathEstimated: "#98aebf",
|
|
44
|
+
/** `--path-actual` oklch(0.740 0.135 150): a recorded trace laid over the plan. */
|
|
45
|
+
pathActual: "#65c27c",
|
|
46
|
+
/** `--grid-minor` oklch(0.300 0.006 255): every 12 in. */
|
|
47
|
+
gridMinor: "#2c2e31",
|
|
48
|
+
/** `--grid-major` oklch(0.400 0.007 255): every 24 in, one tile. */
|
|
49
|
+
gridMajor: "#45484b",
|
|
50
|
+
/** `--grid-axis` oklch(0.520 0.020 255): x = 0 and y = 0. */
|
|
51
|
+
gridAxis: "#616a75",
|
|
52
|
+
/** `--field-obstacle` oklch(0.500 0.012 250). */
|
|
53
|
+
fieldObstacle: "#5e646a",
|
|
54
|
+
/** `--field-obstacle-fill` oklch(0.285 0.010 250): opaque, because you cannot drive here. */
|
|
55
|
+
fieldObstacleFill: "#262b2f",
|
|
56
|
+
/** `--field-zone` oklch(0.790 0.135 72): shares the warning hue by design. */
|
|
57
|
+
fieldZone: "#f0ab4d",
|
|
58
|
+
/** `--field-element` oklch(0.720 0.110 350): game elements and containers. */
|
|
59
|
+
fieldElement: "#d887ae",
|
|
60
|
+
/** `--field-target` oklch(0.800 0.115 88): the scoring reticle. */
|
|
61
|
+
fieldTarget: "#ddb961",
|
|
62
|
+
/** `--field-waypoint` oklch(0.700 0.030 255): a named pose's pin. */
|
|
63
|
+
fieldWaypoint: "#92a0b1",
|
|
64
|
+
/** `--marker-pin` oklch(0.860 0.100 192): an authored event on a path. */
|
|
65
|
+
markerPin: "#7be6e2",
|
|
66
|
+
/** `--handle-heading` oklch(0.860 0.090 88): warm, because orientation is warm. */
|
|
67
|
+
handleHeading: "#eace8c",
|
|
68
|
+
/** `--alliance-red` oklch(0.630 0.205 26). */
|
|
69
|
+
allianceRed: "#eb4441",
|
|
70
|
+
/** `--alliance-blue` oklch(0.630 0.175 258). */
|
|
71
|
+
allianceBlue: "#3d87f0",
|
|
72
|
+
};
|
|
73
|
+
/** Alpha values the guide states as a percentage, as SVG opacity numbers. */
|
|
74
|
+
export const ALPHA = {
|
|
75
|
+
/** `--field-zone-fill`: 10 % under a 4 4 dashed stroke. */
|
|
76
|
+
zoneFill: 0.1,
|
|
77
|
+
/** `--field-element-fill`: 18 %. */
|
|
78
|
+
elementFill: 0.18,
|
|
79
|
+
/** `--ghost-footprint`: the robot outline stamped every half second. */
|
|
80
|
+
ghostFootprint: 0.16,
|
|
81
|
+
/** `--path-ghost`: the mirrored or base-version preview, dashed 4 4. */
|
|
82
|
+
pathGhost: 0.28,
|
|
83
|
+
/** `--highlight-find`: the segment a finding points at, widened underneath the path. */
|
|
84
|
+
findingHighlight: 0.35,
|
|
85
|
+
};
|
|
86
|
+
/** The font stacks of `UI_GUIDE.md` section 2, written out for a document with no stylesheet. */
|
|
87
|
+
export const FONTS = {
|
|
88
|
+
ui: "IBM Plex Sans, Segoe UI, Noto Sans, sans-serif",
|
|
89
|
+
mono: "IBM Plex Mono, ui-monospace, Consolas, monospace",
|
|
90
|
+
};
|
|
91
|
+
/** The colour a finding is drawn in, by severity. */
|
|
92
|
+
export const severityColour = (severity) => severity === "error" ? TOKENS.sevError : severity === "warning" ? TOKENS.sevWarn : TOKENS.sevInfo;
|
|
93
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,4FAA4F;IAC5F,QAAQ,EAAE,SAAS;IACnB,kEAAkE;IAClE,OAAO,EAAE,SAAS;IAClB,qEAAqE;IACrE,QAAQ,EAAE,SAAS;IAEnB,gDAAgD;IAChD,YAAY,EAAE,SAAS;IACvB,sEAAsE;IACtE,aAAa,EAAE,SAAS;IAExB,0CAA0C;IAC1C,MAAM,EAAE,SAAS;IACjB,2CAA2C;IAC3C,OAAO,EAAE,SAAS;IAClB,0CAA0C;IAC1C,MAAM,EAAE,SAAS;IAEjB,uDAAuD;IACvD,MAAM,EAAE,SAAS;IAEjB,2CAA2C;IAC3C,QAAQ,EAAE,SAAS;IACnB,0CAA0C;IAC1C,OAAO,EAAE,SAAS;IAClB,2CAA2C;IAC3C,OAAO,EAAE,SAAS;IAClB,qCAAqC;IACrC,EAAE,EAAE,SAAS;IAEb,oEAAoE;IACpE,aAAa,EAAE,SAAS;IACxB,mFAAmF;IACnF,UAAU,EAAE,SAAS;IAErB,0DAA0D;IAC1D,SAAS,EAAE,SAAS;IACpB,oEAAoE;IACpE,SAAS,EAAE,SAAS;IACpB,6DAA6D;IAC7D,QAAQ,EAAE,SAAS;IAEnB,iDAAiD;IACjD,aAAa,EAAE,SAAS;IACxB,6FAA6F;IAC7F,iBAAiB,EAAE,SAAS;IAC5B,8EAA8E;IAC9E,SAAS,EAAE,SAAS;IACpB,8EAA8E;IAC9E,YAAY,EAAE,SAAS;IACvB,mEAAmE;IACnE,WAAW,EAAE,SAAS;IACtB,qEAAqE;IACrE,aAAa,EAAE,SAAS;IAExB,0EAA0E;IAC1E,SAAS,EAAE,SAAS;IACpB,mFAAmF;IACnF,aAAa,EAAE,SAAS;IACxB,8CAA8C;IAC9C,WAAW,EAAE,SAAS;IACtB,gDAAgD;IAChD,YAAY,EAAE,SAAS;CACf,CAAC;AAEX,6EAA6E;AAC7E,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,2DAA2D;IAC3D,QAAQ,EAAE,GAAG;IACb,oCAAoC;IACpC,WAAW,EAAE,IAAI;IACjB,wEAAwE;IACxE,cAAc,EAAE,IAAI;IACpB,wEAAwE;IACxE,SAAS,EAAE,IAAI;IACf,wFAAwF;IACxF,gBAAgB,EAAE,IAAI;CACd,CAAC;AAEX,iGAAiG;AACjG,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,EAAE,EAAE,gDAAgD;IACpD,IAAI,EAAE,kDAAkD;CAChD,CAAC;AAEX,qDAAqD;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAsC,EAAU,EAAE,CAC/E,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC"}
|
package/dist/trace.d.ts
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The trace file the robot repository's headless sim writes
|
|
3
|
+
* (site/docs/simulation.md), and what can be read off it without knowing
|
|
4
|
+
* anything about a season.
|
|
5
|
+
*
|
|
6
|
+
* It is not one of the five file kinds `@horizon36596/zenith-schema` owns, so the parsing is here and it is
|
|
7
|
+
* deliberately forgiving in one direction only: a key the sim build does not fill yet is absent
|
|
8
|
+
* rather than wrong, and every absent key reads as empty. A key that is present but the wrong
|
|
9
|
+
* shape throws, naming the key, because a trace that is silently half-read would show up as a
|
|
10
|
+
* confident wrong number in the overlay.
|
|
11
|
+
*
|
|
12
|
+
* Pure, like the rest of core: nothing here runs a sim or reads a file.
|
|
13
|
+
*/
|
|
14
|
+
/** One step as the sim ran it, from the `Auto/step` log key. */
|
|
15
|
+
export interface TraceStep {
|
|
16
|
+
id: string;
|
|
17
|
+
startS: number;
|
|
18
|
+
endS: number;
|
|
19
|
+
interrupted: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* `[timeS, xIn, yIn, headingRad]`, where the robot believed it was. A sim that runs an auto as the
|
|
23
|
+
* auto's own alliance records them in the frame the file's poses are written in, which is how the
|
|
24
|
+
* editor overlays them and how `zenith sim` measures cross-track error against the plan.
|
|
25
|
+
*/
|
|
26
|
+
export type TracePoseRow = readonly [number, number, number, number];
|
|
27
|
+
export interface TraceContact {
|
|
28
|
+
timeS: number;
|
|
29
|
+
obstacle: string;
|
|
30
|
+
penetrationIn: number;
|
|
31
|
+
}
|
|
32
|
+
export interface TraceLedgerRow {
|
|
33
|
+
timeS: number;
|
|
34
|
+
held?: number;
|
|
35
|
+
launches?: number;
|
|
36
|
+
tips?: Record<string, number>;
|
|
37
|
+
}
|
|
38
|
+
export interface TraceEvent {
|
|
39
|
+
timeS: number;
|
|
40
|
+
kind: string;
|
|
41
|
+
alliance?: string;
|
|
42
|
+
}
|
|
43
|
+
/** A whole recorded run. */
|
|
44
|
+
export interface Trace {
|
|
45
|
+
formatVersion: number;
|
|
46
|
+
/** The auto's `name`, as the sim was asked for it. */
|
|
47
|
+
auto: string;
|
|
48
|
+
/** The commit the sim ran, when the writer knows it. */
|
|
49
|
+
sha: string | null;
|
|
50
|
+
simTimeS: number;
|
|
51
|
+
tickS: number;
|
|
52
|
+
/**
|
|
53
|
+
* What this sim build actually measures, from the writer's own list. A report reads it to say
|
|
54
|
+
* which of its sections are inert rather than empty (`07` section 5).
|
|
55
|
+
*/
|
|
56
|
+
capabilities: string[];
|
|
57
|
+
steps: TraceStep[];
|
|
58
|
+
/** The robot's belief of where it was. */
|
|
59
|
+
poses: TracePoseRow[];
|
|
60
|
+
/** Where it really was, when the harness can tell them apart; empty when it cannot. */
|
|
61
|
+
truthPoses: TracePoseRow[];
|
|
62
|
+
structureContacts: TraceContact[];
|
|
63
|
+
ledger: TraceLedgerRow[];
|
|
64
|
+
events: TraceEvent[];
|
|
65
|
+
}
|
|
66
|
+
export declare class TraceError extends Error {
|
|
67
|
+
constructor(message: string);
|
|
68
|
+
}
|
|
69
|
+
/** Parses a trace, naming the first key that is wrong rather than failing silently. */
|
|
70
|
+
export declare function parseTrace(json: unknown): Trace;
|
|
71
|
+
/** The last recorded time, which is how far a playback scrubber can run on recorded time. */
|
|
72
|
+
export declare function traceDurationS(trace: Trace): number;
|
|
73
|
+
/** How long each step actually took, by step id. */
|
|
74
|
+
export declare function traceStepDurations(trace: Trace): Map<string, number>;
|
|
75
|
+
/** What the whole run came to: the numbers the Simulate dialog shows (`07` section 3). */
|
|
76
|
+
export interface TraceSummary {
|
|
77
|
+
/** Recorded wall time from the first step's start to the last step's end. */
|
|
78
|
+
totalS: number;
|
|
79
|
+
structureContacts: number;
|
|
80
|
+
launches: number;
|
|
81
|
+
/** Tips achieved, by alliance, as the last ledger row that mentions each one reports them. */
|
|
82
|
+
tips: Record<string, number>;
|
|
83
|
+
/** What the robot was holding at the end, or null when this sim build does not track it. */
|
|
84
|
+
heldAtEnd: number | null;
|
|
85
|
+
/** Of the things a report wants to say, the ones this sim build does not measure. */
|
|
86
|
+
inert: string[];
|
|
87
|
+
}
|
|
88
|
+
export declare function traceSummary(trace: Trace): TraceSummary;
|
|
89
|
+
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,gEAAgE;AAChE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,4BAA4B;AAC5B,MAAM,WAAW,KAAK;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,0CAA0C;IAC1C,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,uFAAuF;IACvF,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,iBAAiB,EAAE,YAAY,EAAE,CAAC;IAClC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAwGD,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAmB/C;AAED,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAInD;AAED,oDAAoD;AACpD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAIpE;AAED,0FAA0F;AAC1F,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,4FAA4F;IAC5F,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qFAAqF;IACrF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAiBvD"}
|