basic state switching from loading to running to editing

This commit is contained in:
2025-02-08 01:16:09 -07:00
parent 623a324625
commit 791ba42ceb
21 changed files with 769 additions and 187 deletions

View File

@@ -1,9 +1,9 @@
import { drawLine } from "../drawing/line.ts";
import { ComplexPath, PathSegment } from "../math/path.ts";
import { Vector } from "doodler";
import { Follower } from "../physics/follower.ts";
import { Mover } from "../physics/mover.ts";
import { Spline, Track } from "../track.ts";
import { getContextItem } from "../lib/context.ts";
import { Doodler, Vector } from "@bearmetal/doodler";
export class Train {
nodes: Vector[] = [];
@@ -83,6 +83,12 @@ export class Train {
// }
// }
draw() {
for (const car of this.cars) {
car.draw();
}
}
real2Track(length: number) {
return length / this.path.pointSpacing;
}
@@ -113,6 +119,7 @@ export class TrainCar {
draw() {
if (!this.points) return;
const doodler = getContextItem<Doodler>("doodler");
const [a, b] = this.points;
const origin = Vector.add(Vector.sub(a, b).div(2), b);
const angle = Vector.sub(b, a).heading();