deckcraftlisted
Install: claude install-skill SkyWalker2506/claude-config
# /deckcraft — deckbuilder tarafını kur
Kart çizimi ve paket açma töreni her oyunda sıfırdan yazılıyordu. `~/Projects/deckcraft`
o işin bir kez yapılmış hâli; bu skill onu **bu** oyuna bağlar ve bağlarken
öğrendiğini pakete geri yazar.
> Tek çizim · Ölçü tek nesnede · Paket oyunu bilmez
---
## Önce bilmen gereken: bu Three.js sahnesi değil
Paket **DOM + CSS**. Three.js kullanan oyunlarda `<canvas>`'ın ÜSTÜNDE ayrı bir
katman olarak çalışır, sahneyle aynı bağlamı paylaşmaz.
Bu bir eksiklik değil seçim, ve gerekçesi ölçülebilir: kartın gövdesi **metin**
— başlık, kural, etiket. DOM'da satır kırma, elipsis ve yazı tipi hinting'i
bedava; texture'a çizince her dil için yeniden ölçüp atlas üretmek gerekiyor.
Cozy'de kural metni 10px'te üç satır; bir piksel kayma kartı bozuyor.
Kâğıt bükülme efekti tek istisna: o zaten ham WebGL (`peel.js`), kendi
canvas'ında.
**Kullanıcı "Three.js mesh'i olsun" derse** bunu söyle, sonra istiyorsa yap —
ama metin ölçüsünün bedelini önceden yaz.
---
## Faz 1 — bağlan, yeniden yazma
Paketi kopyalama; **referansla** kullan. Oyunun build'ine `~/Projects/deckcraft/src/`
dosyalarını dahil et, sonra tek bağlantı noktasını doldur:
```js
deckcraft.init({
card: id => {
const c = OYUNUN_KART_TABLOSU[id];
return { name: c.n, rules: c.tx, cost: c.act, tag: c.tags[0],
tagColor: RENK[c.tags[0]], art: artKeyFor(c),
seal: rarityOf(c) && "Seal_" + MUHUR[rarityOf(c).id],
ingredient: c.ing };
},
art: key