S3.6: isometric 2.5D office engine: projection, depth-sorted blocks and people, half-resolution pixel rendering, day-part and season palette
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5dfc2a6dc6
commit
23c7d55b1d
8 files changed
+514
-432
No files matched your search
@@ -193,18 +193,6 @@ describe("office simulation", () => {
|
||||
expect(sim.agents[0].behavior.kind).toBe("seated");
|
||||
});
|
||||
|
||||
test("clicks hit the agent drawn at that spot, frontmost first", () => {
|
||||
const sim = new OfficeSimulation();
|
||||
sim.sync([agentInput("a"), agentInput("b")]);
|
||||
const first = sim.agents[0];
|
||||
expect(sim.hitTest({ x: first.x, y: first.y - 10 })!.input.id).toBe("a");
|
||||
expect(sim.hitTest({ x: first.x - 60, y: first.y - 10 })).toBeNull();
|
||||
const second = sim.agents[1];
|
||||
second.x = first.x;
|
||||
second.y = first.y + 6;
|
||||
expect(sim.hitTest({ x: first.x, y: first.y })!.input.id).toBe("b");
|
||||
});
|
||||
|
||||
test("camera follows the player and clamps at world edges", () => {
|
||||
const sim = new OfficeSimulation();
|
||||
sim.sync(Array.from({ length: 30 }, (_, i) => agentInput(`a${i}`)));
|
||||
|
||||
Reference in new issue
Block a user