Merge all lanes; add importmap; fix /world/ absolute paths

Selftest on merged main: 121 pass / 0 skip / 0 fail.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
m3ultra 2026-07-16 22:23:20 +10:00
parent 31d9946a04
commit 41ad12dede
6 changed files with 34 additions and 8 deletions

View File

@ -4,13 +4,23 @@
{
"name": "shades3d",
"runtimeExecutable": "python3",
"runtimeArgs": ["server.py"],
"port": 8801
"runtimeArgs": [
"server.py",
"--port",
"8809"
],
"port": 8809
},
{
"name": "shades-proto",
"runtimeExecutable": "python3",
"runtimeArgs": ["-m", "http.server", "8642", "--directory", "prototype"],
"runtimeArgs": [
"-m",
"http.server",
"8642",
"--directory",
"prototype"
],
"port": 8642
}
]

View File

@ -431,3 +431,11 @@ Format: `[lane letter] YYYY-MM-DD — note`
`(cos d, sin d)` and contracts puts north at -Z, so a southerly needs `sin(d) < 0`. Worth a second
look at anything that reasons about wind direction.
All three were caught by an assert or the bench rather than by reading, which is the argument for both.
[I] 2026-07-16 — **INTEGRATION PASS (main).** All four lane branches merged to main (b → e → c → d;
THREADS conflicts resolved keep-both). Added the importmap D+E asked for to index.html AND
selftest.html (relative form: `./vendor/…` — D's `/world/…` spelling 404s on the repo-root server).
Same absolute-path bug fixed in dev_player.html and player.js GLB URLs (`/world/models/…` →
`./models/…`) — the ped never loaded under `server.py`; it does now, verified in dev_player.html.
Selftest on merged main: **121 pass / 0 skip / 0 fail** (E's suite lit up as promised).
launch.json now runs `--port 8809` (8801 was held by another session). Next work: SPRINT2.md.

View File

@ -22,7 +22,7 @@
swap will need it too.
-->
<script type="importmap">
{ "imports": { "three": "/world/vendor/three.module.js", "three/addons/": "/world/vendor/addons/" } }
{ "imports": { "three": "./vendor/three.module.js", "three/addons/": "./vendor/addons/" } }
</script>
</head>
<body>
@ -45,8 +45,8 @@
-->
<script type="module">
import * as THREE from 'three';
import { loadPlayer, KeyboardInput, STATES } from '/world/js/player.js';
import { Interact, wireYardActions } from '/world/js/interact.js';
import { loadPlayer, KeyboardInput, STATES } from './js/player.js';
import { Interact, wireYardActions } from './js/interact.js';
const renderer = new THREE.WebGLRenderer({ canvas: document.getElementById('c'), antialias: true });
renderer.setPixelRatio(Math.min(devicePixelRatio, 2));

View File

@ -30,6 +30,10 @@
<div id="dev">booting…</div>
<div id="help">WASD move · shift run · RMB drag orbit · wheel zoom · Enter next phase</div>
<script type="importmap">
{ "imports": { "three": "./vendor/three.module.js",
"three/addons/": "./vendor/addons/" } }
</script>
<script type="module">
import { boot } from './js/main.js';
boot();

View File

@ -19,8 +19,8 @@ import { PlayerSim, STATES, TUNE } from './player.sim.js';
export { PlayerSim, STATES, TUNE };
export const CHAR_URL = '/world/models/player_01.glb';
export const ANIM_URL = '/world/models/player_anims.glb';
export const CHAR_URL = './models/player_01.glb';
export const ANIM_URL = './models/player_anims.glb';
/**
* Canonicalise the Mixamo skeleton namespace (mixamorig4: vs mixamorig12:) so any clip binds to any

View File

@ -35,6 +35,10 @@
<div id="summary">running…</div>
<div id="out"></div>
<script type="importmap">
{ "imports": { "three": "./vendor/three.module.js",
"three/addons/": "./vendor/addons/" } }
</script>
<script type="module">
import { runAll } from './js/testkit.js';