Commit graph

4 commits

Author SHA1 Message Date
CRT
9b4ce16c59 Bring the anvil's horn back to its reference proportion, rebuild the book's metal furniture so no two overlapping faces share a plane, and release 0.2.0. 2026-09-01 03:00:37 +07:00
CRT
88147f759e Give the bale back its cylinder, and its cords back their thickness
Against a photograph this was the worst model in the kit: an amorphous
pale lump with spikes in it, where the reference is plainly a drum of
straw with three cords round it.

Three numbers were doing the damage. The body is a seven-sided lathe --
too few sides to read as round on its own -- and it was then displaced by
0.045 of the height, which is 19 mm against a radius of 210 mm. A tenth of
the radius is not texture, it is deformation, and it left no axis to
recognise. Meanwhile the ends were pulled in by a third, turning the
silhouette into a cinched sack rather than a bale with the broad flat ends
the cord holds it square against. Thirteen sides, a sixth of the
displacement and a third of the end fade, and the form comes back. The
stray stalks are what should say "loose straw", and they can only do that
against a body that holds its shape -- so they are shorter too, since at
0.30 of the height they read as spikes driven in rather than stalks
working loose.

The cords were worse, in the quiet way. The ring radius was written as
`0.5 * cinch(x) + cord * 0.35`, which adds four millimetres to a
normalised 0.5: the body is built in radius-1 space and squashed
afterwards, so anything radial has to be in those units. The hoop stood
0.0044 proud before the squash and 1.85 mm after it. Three cords have been
modelled, merged, exported and invisible in every render this model has
ever produced. They are now expressed in the body's own units and sit in
the groove they pull, which is what a tie does.

27 models, 18257 triangles, all checks pass, 0 floating cases.
2026-08-22 13:30:48 +07:00
CRT
50c7fc60b9 Translate the whole repository to English
The kit is going public, so everything a reader sees is now English:
27 model sources, the core vocabulary, meta.ts (titles, descriptions and
every slider label), the viewer UI, all script output, REFERENCE.md and
the READMEs.

Rules applied: only comments, doc comments and human-facing strings were
touched. Identifiers, numbers, logic, registry item ids, part names and
material slot names are unchanged — those are a published contract and
were already English.

Verified rather than assumed: for all 53 changed .ts files the code
skeleton (source with comments stripped and string contents replaced by a
placeholder) is byte-identical before and after. Full gate is green —
typecheck, registry conformance, ~510 model checks, GLB round trip and a
production build.

Also fixed here:
- index.html and viewer.html were missed by the translation pass because
  the file list only covered .ts/.md/.css. Both had lang="tr" and Turkish
  titles.
- The viewer formatted triangle counts with toLocaleString('tr-TR'), which
  prints 15.425 rather than 15,425.
- REFERENCE.md's model table header did not match what
  scripts/catalog-table.ts emits, so the next regeneration would have
  silently changed it. Aligned to the generator.
- Removed scripts/probe.ts and scripts/zdiag.ts; they were throwaway
  diagnostics that got committed by accident.
2026-08-21 14:35:13 +07:00
CRT
a3300ff233 Kit'i 26 modele çıkar, doğrulamayı ve inceleyiciyi genişlet
Modeller (13 → 26): chest, bench, torch, lantern, bell, sign, hay bale,
sack, broom, tankard, book, phial, coin pouch. Kürek, çapa ve yaba
render'lara bakılarak yeniden yazıldı.

core:
- createKitModel artık tipli `actions` ve `update(dt)` taşıyor
- BuiltPart.extras: bir parça birden çok materyal yuvası kullanabiliyor
  (sandığın kapağı = meşe tahta + demir kayış, birlikte dönmek zorunda)
- BuiltPart.origin: parça başına dönme merkezi (menteşe, sarkaç)
- bendGeometry / roughenGeometry / mottleGeometry
- 5 yeni materyal yuvası: steel, brass, straw, cloth, leather, glass
- bandGeometry({ inner }) — serbest halkalar kapalı katı olabilsin

my-registry/meta.ts: katalog metadata'sı artık build.ts ve viewer için
tek kaynak. Doğrulama modelle metadata'nın uyuştuğunu denetliyor ve bu
eklendiği gün dört modelde gerçek bir sapma yakaladı.

Doğrulama (~500 kontrol):
- metadata uyumu, eylem semantiği, kare hızı bağımsızlığı
- scripts/render.ts: tarayıcısız yazılım rasterleyici. Bütün doğrulama
  geometrikti; "bu kürek küreğe benzemiyor" diyebilmek için modele
  bakmak gerekiyordu
- scripts/verify-glb.ts: dışa aktar → geri oku → karşılaştır

GLB dışa aktarımı: viewer düğmesi ve toplu CLI aynı kodu kullanıyor.

Viewer:
- parça paneli (solo/izole) ve materyal yuvası paneli (canlı renk override)
- kit görünümü: 26 model tek sahnede, ölçek ve ton tutarlılığı için
- configure() sonrası gölge bayraklarının düşmesi düzeltildi
2026-08-21 09:44:58 +07:00