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", "name": "shades3d",
"runtimeExecutable": "python3", "runtimeExecutable": "python3",
"runtimeArgs": ["server.py"], "runtimeArgs": [
"port": 8801 "server.py",
"--port",
"8809"
],
"port": 8809
}, },
{ {
"name": "shades-proto", "name": "shades-proto",
"runtimeExecutable": "python3", "runtimeExecutable": "python3",
"runtimeArgs": ["-m", "http.server", "8642", "--directory", "prototype"], "runtimeArgs": [
"-m",
"http.server",
"8642",
"--directory",
"prototype"
],
"port": 8642 "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 `(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. 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. 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. swap will need it too.
--> -->
<script type="importmap"> <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> </script>
</head> </head>
<body> <body>
@ -45,8 +45,8 @@
--> -->
<script type="module"> <script type="module">
import * as THREE from 'three'; import * as THREE from 'three';
import { loadPlayer, KeyboardInput, STATES } from '/world/js/player.js'; import { loadPlayer, KeyboardInput, STATES } from './js/player.js';
import { Interact, wireYardActions } from '/world/js/interact.js'; import { Interact, wireYardActions } from './js/interact.js';
const renderer = new THREE.WebGLRenderer({ canvas: document.getElementById('c'), antialias: true }); const renderer = new THREE.WebGLRenderer({ canvas: document.getElementById('c'), antialias: true });
renderer.setPixelRatio(Math.min(devicePixelRatio, 2)); renderer.setPixelRatio(Math.min(devicePixelRatio, 2));

View File

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

View File

@ -19,8 +19,8 @@ import { PlayerSim, STATES, TUNE } from './player.sim.js';
export { PlayerSim, STATES, TUNE }; export { PlayerSim, STATES, TUNE };
export const CHAR_URL = '/world/models/player_01.glb'; export const CHAR_URL = './models/player_01.glb';
export const ANIM_URL = '/world/models/player_anims.glb'; export const ANIM_URL = './models/player_anims.glb';
/** /**
* Canonicalise the Mixamo skeleton namespace (mixamorig4: vs mixamorig12:) so any clip binds to any * 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="summary">running…</div>
<div id="out"></div> <div id="out"></div>
<script type="importmap">
{ "imports": { "three": "./vendor/three.module.js",
"three/addons/": "./vendor/addons/" } }
</script>
<script type="module"> <script type="module">
import { runAll } from './js/testkit.js'; import { runAll } from './js/testkit.js';