Refactor round: ship web/index.html, drop the remote browser, fix stale comments and README

- `.gitignore` said `index.html` unanchored, which also caught the Vite source page;
  a fresh clone could neither `dev` nor `build`. Anchored to `/index.html`, page added.
- Removed GM_REMOTE (tools/remote/gm-browser.ps1 and the ssh/scp branch in browser.mjs):
  the Windows test machine is gone and the only flaky check that lived on it is closed (#37).
- Removed `npm run preview`, undocumented and unused.
- Comments: wrong number in collider.test.ts (250 → 200), the "declarations used to…"
  history in listItems.ts and friends, the 24 px/28 contradiction, section banners in
  nodes/index.ts, node-catalog.test.ts and api/index.php, name paraphrases, and the stale
  step numbers in tools/e2e/11-…23- from the old global count.
- README: asset types include `animation`, kind order Number/Text/Boolean, tagged colour
  and texture items, 6/5 kinds, the `Texture` node, `./build.sh`, PROJECT_FORMAT_VERSION,
  and the file tree (kinds.ts, listItems.ts, propertyPorts.ts, Breadcrumb.ts, beads.ts,
  tools/assets/).
- tests/helpers.ts takes the duplicated `findObject` and `sceneWithCamera`.

Proof: ./check.sh 797 tests, full e2e ALL PASSED 633 checks against this bundle.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
rootandClaude Fable 5.1 committed 2026-09-12 15:44:05 +02:00
1 parent d86a655a4d
commit 6471671f7d
44 files changed
+196 -445

No files matched your search

-4
View File
@@ -39,7 +39,6 @@ function routeProjects(array $parts, string $method): never
{
$store = new Store(dirname(__DIR__) . '/data/projects');
// Collection: /projects
if (count($parts) === 1) {
if ($method === 'GET') {
Response::json($store->list());
@@ -55,7 +54,6 @@ function routeProjects(array $parts, string $method): never
Response::error('Method not allowed', 405);
}
// Item: /projects/{id}
$id = $parts[1];
if (!Store::isValidId($id)) {
Response::error('Invalid project id', 400);
@@ -100,7 +98,6 @@ function routeTextures(array $parts, string $method): never
{
$store = new TextureStore(dirname(__DIR__) . '/data/textures');
// Collection: /textures
if (count($parts) === 1) {
if ($method === 'GET') {
Response::json($store->list());
@@ -119,7 +116,6 @@ function routeTextures(array $parts, string $method): never
Response::error('Method not allowed', 405);
}
// Item: /textures/{file}
if ($method === 'DELETE') {
if (!$store->delete($parts[1])) {
Response::error('Texture not found', 404);