All Classes and Interfaces

Class
Description
Base for fake devices: supplies the boilerplate HardwareDevice metadata so concrete fakes (e.g.
Season-glue interface: the two numbers that describe a degree of freedom which never runs out of travel — a continuous-rotation ejector servo, an intake roller, a flywheel (architecture §3, domain R6/R7).
Season-glue interface: drivetrain geometry + motor-model + field-bound constants the core plant needs, supplied by the season layer in TeamCode (architecture §3, domain R7).
The seven starter envelope terms from docs/process/scorer-interface.md §3, sorted honestly into the ones a run's log can actually answer and the ones it cannot.
Fake AnalogInput returning a settable voltage, so the unchanged SolversLib AbsoluteAnalogEncoder wrapper (which reads getVoltage() / getMaxVoltage()) resolves headless.
Fake CRServo: a continuous-rotation servo, the actuator V0's deposit ejects a line of pollen with (docs/specs/deposit.md §2).
A simulated hardware device with a kinematic plant.
Fake DigitalChannel: the one digital IO pin on a REV hub that a beam-break sensor, a limit switch or a signal LED is wired to.
Fake external encoder (fakehardware-plant §4): the plant → sensor → subsystem seam for a 1-DOF mechanism.
JVM-constructible HardwareMap that resolves fake devices by config name (fakehardware-plant §6).
Fake I2cDeviceSynchSimple (the I2C bus client) that an I2cDeviceSynchDevice subclass holds as its deviceClient.
First-order drive-motor plant (fakehardware-plant §3), seeded from PsiKit's test FakeMotor.
Kinematic fake Servo: a commanded position is held instantly (a bare servo has no dynamics worth modelling for the drivetrain sim — mechanism dynamics live in Mechanism1DofPlant, R6).
The single, advanceable simulation clock (fakehardware-plant §6, domain R5).
Fake VoltageSensor returning a fixed nominal battery voltage (default 12 V).
The one and only place the localizer ↔ field frame rotation is written.
One game piece in the sim: a field position in inches, a physical size, and exactly one PossessionState.
The one place a game piece changes hands.
The acceptance gate: the one place that decides whether a candidate run is allowed to become the new last-best (`docs/process/scorer-interface.md` §6).
The four §6 clauses, in the order a verdict reports them.
One clause's outcome plus the sentence explaining it, for the verdict a human reads.
A fact the gate is told rather than measures.
What the caller knows about the current last-best score.
How one clause came out.
The two facts that are not in any log: whether the tests passed, and whether an independent review approved the change.
The gate's answer: accepted or not, plus every clause and why.
One safety-envelope term: something that must stay true no matter how good the objective gets (docs/process/scorer-interface.md §3).
What a guardrail concluded about one run.
A guardrail's conclusion about one run: a status, a penalty, and why.
One segment of a mechanism, as it should be drawn in AdvantageScope.
Which of a segment's two drawn numbers this joint moves.
One telescoping stage of a linear mechanism — a segment whose drawn length moves while its angle stays put.
The bookkeeping half of the loop: holds the last-best, judges each candidate with Gate, emits a Milestone when the answer gets qualitatively better, and writes the StopReport (docs/process/scorer-interface.md §5, §6, §8).
One candidate offered to the loop: the run, its score, the two facts the gate cannot measure, and the candidate's own account of what it changed.
What the loop did with one offered candidate.
Closes the sim odometry loop for a mecanum drivetrain (fakehardware-plant §5): each tick it reads the four drive FakeMotors' modelled wheel velocities and integrates the pose through MecanumPoseIntegrator.
Kinematic mecanum forward-kinematics pose integrator (architecture §3 core primitive, fakehardware-plant §5).
Generic 1-DOF mechanism plant (fakehardware-plant §4, domain R6): the season-agnostic primitive every mechanism (slide, arm, turret) is built on — one class, one config per mechanism.
Season-glue interface: the parameterized first-order dynamics + end-limits of one 1-DOF mechanism, supplied by the season layer in TeamCode (architecture §3, domain R6/R7).
Draws a MechanismSketchDefinition into AdvantageScope's Mechanism tab: it owns a PsiKit LoggedMechanism2d, keeps one ligament per joint, and updates them as the mechanism moves.
The complete description of one mechanism as AdvantageScope should draw it: a canvas, a mount point, and an ordered chain of telescoping stages.
Step-by-step builder for a MechanismSketchDefinition.
One milestone: a point where the loop's best answer got qualitatively better, and the side-by-side evidence for saying so (docs/process/scorer-interface.md §5).
Why a milestone was emitted.
How one subsystem with several real degrees of freedom is simulated: one plant per degree of freedom, held side by side, ticked together and logged apart (BACKLOG B13, decided 2026-09-14).
Collects the degrees of freedom, in the order they are added.
What the loop is trying to make better, declared up front (docs/process/scorer-interface.md §2).
The human's rough estimate of what this objective is worth spending.
Which way a raw metric points.
Thrown when an objective's metric measured NaN or an infinity.
The surface shared by every plant in this package that models exactly one degree of freedom: Mechanism1DofPlant (power-driven, through a motor or a continuous-rotation servo) and PositionalServoPlant (command-driven, through a positional servo).
1-DOF mechanism plant for a joint driven by a positional servo — the servo-side twin of Mechanism1DofPlant (fakehardware-plant §4, domain R6).
Season-glue interface: everything a PositionalServoPlant needs to turn a servo command in [0, 1] into a real mechanism position that takes time to get there (architecture §3, domain R6/R7).
The complete, fixed set of possession states one game piece can be in.
One pivot of a mechanism — a segment of fixed length whose drawn angle moves.
Compares two RLOG files by decoded field value, not raw bytes (BACKLOG B3, docs/process/scorer-interface.md §2/§7).
One decoded-field mismatch between two runs; frameIndex is -1 for a frame-count mismatch.
An immutable 3-D vector in the robot-local frame: +X robot-right, +Y robot-forward, +Z up, with the origin at the centre of the drivetrain footprint at floor level (docs/phase1/01-conventions.md §7, extended to 3-D for CAD in B12).
One finished sim run, read back off disk so it can be scored.
Thrown when a metric names a key the run never logged.
Thrown when a metric's logged value is not a number.
Runs one headless sim scenario end-to-end: owns the entire PsiKit lifecycle (sim-harness §2-3) and the fixed-timestep tick loop, so a test does not hand-write it (BACKLOG "scenario runner" / area B).
One scenario's per-tick behavior: command the robot, advance its fake hardware/plants, log fields.
Turns a finished run into one number, plus the breakdown that number came from (docs/process/scorer-interface.md §1, §8).
One run's score: the total, and every term that produced it.
Season-glue interface: the device registry the core needs to build a FakeHardwareMap that mirrors the real robot configuration (architecture §3, domain R7).
What the loop says when it is stopped: the best answer it found, and proof that the answer reproduces.
How the second run of the best candidate's scenario came out.
Runs one accepted candidate's scenario again, from the top, and returns the fresh RLOG.
A rectangular region bolted to the robot that decides whether a game piece is close enough to be acquired — the "mouth" of an intake, expressed as geometry instead of contact physics (domain R6).