fix(showroom): Funde der Schlussdurchsicht auf der Testseite behoben
Die Spielfigur wirft jetzt einen Schatten (player.init durchlief applyCharacter nie); drei stille Fehlerpfade meckern jetzt statt roh abzubrechen (fehlender Clip fuer die Fingerhaltung, Waffe ohne Griff, mit neuem Test); die Waffenauswahl im Panel zeigt Beschriftungen statt IDs; der Waffen-Umbau prueft jetzt die Meshzahl je Datei; stageTransform ist aus main.js nach lineup.js gezogen und mit dem im Browser gemessenen Fall getestet; slotPosition nimmt DUMMIES als Argument statt es aus dem Modul zu lesen; dazu Kommentar- und Entwurfskorrekturen (Docstring, Beckenspur-Test, Frustum-Culling, Port/Kamera/ VIEW_DISTANCE im Entwurf). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c8f1832eae
commit
a0cd95cceb
9 files changed
+97
-18
No files matched your search
@@ -58,9 +58,17 @@ describe("createDummy", () => {
|
||||
right.name = "hand_r";
|
||||
const left = new Bone();
|
||||
left.name = "hand_l";
|
||||
// Ziele der Fingerspuren aus `fingers` unten (index_01_r, thumb_03_l) — ohne sie meldet three.js beim
|
||||
// Binden für jeden Testlauf "No target node found for track".
|
||||
const indexR = new Bone();
|
||||
indexR.name = "index_01_r";
|
||||
const thumbL = new Bone();
|
||||
thumbL.name = "thumb_03_l";
|
||||
root.add(pelvis);
|
||||
pelvis.add(right);
|
||||
pelvis.add(left);
|
||||
right.add(indexR);
|
||||
left.add(thumbL);
|
||||
return root;
|
||||
}
|
||||
const clip = new AnimationClip("take", 1, [
|
||||
@@ -94,8 +102,20 @@ describe("createDummy", () => {
|
||||
const root = new Group();
|
||||
const pelvis = new Bone();
|
||||
pelvis.name = "pelvis";
|
||||
const indexR = new Bone();
|
||||
indexR.name = "index_01_r";
|
||||
const thumbL = new Bone();
|
||||
thumbL.name = "thumb_03_l";
|
||||
root.add(pelvis);
|
||||
pelvis.add(indexR);
|
||||
pelvis.add(thumbL);
|
||||
expect(() => createDummy({ template: root, clip, fingers, weapon, hand: "r", grip: WEAPON_GRIP }))
|
||||
.toThrow(/Dummy ohne Knochen hand_r/);
|
||||
});
|
||||
|
||||
// Bruch: Waffe ohne Griff — applyGrip bekäme kein Objekt und bräche mit einem rohen TypeError ab.
|
||||
it("meldet eine Waffe ohne Griff", () => {
|
||||
expect(() => createDummy({ template: template(), clip, fingers, weapon, hand: "r", grip: null }))
|
||||
.toThrow(/Waffe ohne Griff/);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user