medieval-kit/my-registry/models/core/index.ts
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

31 lines
1.1 KiB
TypeScript

export { createRandom, jitter } from './random.ts'
export {
arcBarGeometry,
bandGeometry,
bendGeometry,
boxGeometry,
chamferedBoxGeometry,
dishedSheetGeometry,
flipGeometry,
headGeometry,
latheGeometry,
mergeColoured,
mottleGeometry,
prismGeometry,
roughenGeometry,
staveGeometry,
taperedBoxGeometry,
} from './geometry.ts'
export type { Level, MottleOptions, RoughenOptions, SheetLevel, Vec3 } from './geometry.ts'
export { bakeOcclusion } from './occlusion.ts'
export type { OcclusionOptions } from './occlusion.ts'
export { createKitModel } from './kit.ts'
export type { BuildContext, BuiltPart, KitModelOptions, PartBody, RuntimeContext } from './kit.ts'
export { createPart } from './parts.ts'
export type { PartSlot } from './parts.ts'
export { ironTint, steelTint, toolShaft, toolSocket } from './tool.ts'
export type { ShaftOptions, SocketOptions, ToolShaft } from './tool.ts'
export { MEDIEVAL_PALETTE, createMedievalMaterials } from './materials.ts'
export { createTinter } from './tint.ts'
export type { Tinter } from './tint.ts'
export type { MedievalPalette, MedievalSlot } from './materials.ts'