feat(world): Materialien, Kollision und Laternen für die neuen Straßen
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ca4f7161af
commit
25248b3929
8 files changed
+205
-110
No files matched your search
@@ -239,6 +239,27 @@ describe("ChunkStreamer", () => {
|
||||
const group = scene.add.mock.calls[0][0];
|
||||
expect(group.children.filter((child) => child.isMesh)).toHaveLength(5);
|
||||
});
|
||||
|
||||
// Teil 2: Fahrbahn und Bordstein sind Kollision — man fährt in der Mulde, und der Bordstein ist die
|
||||
// Stufe zum Gehweg. Gehweg, Markierung und Restflächen bleiben Auflagen.
|
||||
it("legt Fahrbahn und Bordstein in die Kollision, Gehweg, Markierung und Restfläche als Auflagen in die Szene", async () => {
|
||||
const square = [[[0, 0], [20, 0], [20, 20], [0, 20]]];
|
||||
const chunk = {
|
||||
chunk: [4, 6], origin: [0, -1000], land: [square], surfaces: [], buildings: [],
|
||||
carriageway: [{ poly: [[[0, 20], [20, 20], [20, 30], [0, 30]]], klasse: "wohnstrasse" }],
|
||||
curb: [[[0, 20], [20, 20]]],
|
||||
sidewalk: [{ poly: [[[0, 17], [20, 17], [20, 20], [0, 20]]] }],
|
||||
markings: [{ poly: [[[2, 25], [5, 25], [5, 25.1], [2, 25.1]]], art: "gelb_gestrichelt" }],
|
||||
lots: [{ poly: [[[0, 0], [5, 0], [5, 5], [0, 5]]] }],
|
||||
};
|
||||
const { streamer, player, scene } = makeStreamer(chunk);
|
||||
streamer.update(emptyChunkCenter);
|
||||
await flush();
|
||||
|
||||
expect(player.addCollider.mock.calls[0][0].shape.source.children).toHaveLength(3); // Landplatte, Fahrbahn, Bordstein
|
||||
const group = scene.add.mock.calls[0][0];
|
||||
expect(group.children.filter((child) => child.isMesh)).toHaveLength(3); // Gehweg, Markierung, Restfläche
|
||||
});
|
||||
});
|
||||
|
||||
// Fix-Runde 2, Befund C / Ruling 64: der Zweig `if (this.props)` in #load hatte keine
|
||||
|
||||
Reference in new issue
Block a user