Coding ve simülasyon

GLASS CATHEDRAL — FRACTURE DYNAMICS BENCHMARK v1.0

Dört model. Tek prompt. Kırılma fiziği ve mühendislik doğruluğu.

  • 4 model
  • Görev seed'i: 1337
  • Tek HTML · Canvas 2D · XPBD

Pi · 1 başlangıç prompt'u · +0 ek kullanıcı mesajı

Görev özeti

Üç vitray pencere, fiziksel darbeler, rüzgâr ve destek kaybı. Pi ile tek prompttan üretilen dört uygulamanın video ve mühendislik karşılaştırması.

Faz düğmeleri videoda ilgili bölüme gider. Tam ekran görünümü küçük metinleri okumayı kolaylaştırır.Faz işaretleri Qwen paneline göredir; panellerin simülasyon zamanları farklıdır.2×2 karşılaştırma · 01:16

Model sonuçları

Videodaki sırayla
Videoda: Sol üst

Mistral 4

15/100

Mühendislik puanı

Katı prompt sonucuBaşarısız · 0/100

Başarısız — 0/100. Uydurulmuş kontroller, geçersiz geometri ve solver.

API maliyeti
$0,373
Üretim süresi
125 dk
Videoda: Sağ üst

MuseSparkOpen

xhigh

43/100

Mühendislik puanı

Katı prompt sonucuBaşarısız · 0/100

Başarısız — 0/100. Zorlanmış hızlar ve fizik dışı hasar aktarımı.

API maliyeti
$0,126
Üretim süresi
16 dk
Videoda: Sol altEn yüksek puan

Qwen3.8-125B

high

84/100

Mühendislik puanı

Katı prompt sonucuKoşullu

Koşullu — render FPS doğrulanmadı.

API maliyeti
$0,579
Üretim süresi
78 dk
Videoda: Sağ alt

Nemotron-3.5-Super-VL

high

40/100

Mühendislik puanı

Katı prompt sonucuBaşarısız · 0/100

Başarısız — 0/100. Sabitlenmiş kütle yüzdesi ve başlangıç kararsızlığı.

API maliyeti
$0,225
Üretim süresi
22 dk

API maliyeti ve üretim süresi mühendislik puanına dahil değildir; üretim süresi simülasyon süresi veya render FPS değildir.

Değerlendirme sonucu

ReWo-Bench değerlendirmesinde Qwen3.8-125B, 84/100 ile öne çıkıyor: ilk fazı kararlı tutuyor, darbelerle yeni kırılma oluşturuyor ve destek bırakma sonrasında merkez çöküşünü üretiyor. Muse en hızlı ve en ekonomik üretimi sağlıyor; ancak Muse ve Nemotron’da hasarın çoğu darbe öncesinde oluşuyor. Mistral’da temel geometri ve solver sorunları bulunuyor. Qwen’in solver kusurları ve ölçülmeyen render FPS’i değerlendirmede korunuyor.

Model bazında değerlendirme

Mistral 4

Güçlü yanlar

  • Üç pencere, faz yönetimi, HUD ve kontroller için bir uygulama iskeleti bulunuyor.

Sınırlamalar ve bulgular

  • 92 parça, istenen 150–200 aralığının dışında. Başlangıç örneğinde 49 parçanın kütlesi pozitif ve sonlu değil.
  • XPBD konum düzeltmesi yerine hız impulsları uygulanıyor; temas impulsu dizisi çarpışmalarda doldurulmuyor.
  • Rüzgâr kontrolü sabit PASS, kütle yüzdesi sabit 100. Final tablo boolean değerde toFixed çağırdığı için rapor oluşturma hatası riski taşıyor.

MuseSparkOpen

Güçlü yanlar

  • 16 dakikada ve 0,126 USD ile bu dört çıktı arasında en hızlı ve en düşük maliyetli üretim.
  • 164 parça, 424 bağ ve 46 destek; vitray, ışık ve stres görselleştirmesi güçlü.
  • İki aynı-seed fizik koşusunda metrikler ve son hash tekrar üretildi.

Sınırlamalar ve bulgular

  • P1’de 424 bağın 398’i kırılıyor (%93,87). P2 ve P3’te yeni hasar oluşmuyor.
  • Sphere temasında bağ çarpanına sentetik stres ekleniyor; P5’te destek bırakmaya ek olarak doğrudan hızlar değiştiriliyor. Bu nedenle katı prompt sonucu 0/100.
  • P2 impulsu tüm koşunun maksimumundan alınıyor; fazlar arası karşılaştırmaya uygun değil. Merkezde düşen 14 parça, 20 eşiğinin altında.

Qwen3.8-125B

Güçlü yanlar

  • 154 üçgen parça, 202 bağ ve sabit zaman adımıyla P1’i sıfır bağ kırılmasıyla tamamlıyor. Başlangıç drift’i yaklaşık 0,00153.
  • Darbeler P2’de 24, P3’te 28 yeni bağ kırıyor. Rüzgâr tepkisi yön değiştiriyor; P5’te altı üst destek bırakıldıktan sonra merkezde 41 parça düşüyor.
  • Aynı seed ile iki fizik koşusunda son hash eşleşiyor; NaN/Inf sayacı sıfır kalıyor.

Sınırlamalar ve bulgular

  • XPBD konum düzeltmesinde efektif skaler kütle katkısının doğrudan kullanılması translasyon ve rotasyon düzeltmelerini karıştırıyor.
  • Narrowphase içeri-dışarı/penetrasyon işaretleri ve döndürülmüş dünya normallerinde kusurlar var; taş kemerle ayrıntılı parça teması eksik.
  • 100/100 özpuan gerçek render FPS’ini doğrulamıyor. Mühendislik puanı 84; katı prompt sonucu FPS doğrulaması bekliyor.

Nemotron-3.5-Super-VL

Güçlü yanlar

  • 182 parça ve 614 bağla parça sayısı aralığını karşılıyor.
  • Translasyon için 2×2 efektif kütle matrisi ve rotasyon için ayrı constraint yaklaşımı içeriyor.

Sınırlamalar ve bulgular

  • İki ayrı kenar ankrajı yerine aynı kenar merkezinde iki bağ türü kullanılıyor; lambda değerleri adımlar arasında uygun sıfırlanmıyor.
  • P1’de 614 bağın 542’si kırılıyor (%88,27); P2/P3’te yeni kırılma ve temas impulsu yok.
  • Kütle yüzdesi 100’e sabitlenmiş, canlı puan süreye bağlı. P5 merkez çöküşünün önceki hasardan bağımsız nedenselliği gösterilmiyor.

Karşılaştırmanın ayrıntıları

Mühendislik puanlama rubriği6 alan · 100 puan

Mühendislik değerlendirmesi kodun sözleşmeye uyumunu, solver ve temas fiziğini, faz nedenselliğini, metrikleri ve görsel açıklığı birlikte ele alır. Uygulama özpuanından ve katı prompt geçerliliğinden ayrıdır; maliyet ve üretim süresi puana dahil değildir.

AlanAğırlıkMistral 4MuseSparkOpenQwen3.8-125BNemotron-3.5-Super-VL
Sözleşme, tek HTML, seed, dt ve mesh2012202020
XPBD ve constraint solver doğruluğu20171310
Temas, kırılma ve çarpışma fiziği2015135
P1–P5 nedenselliği ve kararlılık2502251
Metrik dürüstlüğü ve determinizm100582
Görsel kalite, HUD ve kontroller51452
Toplam10015438440
Çalışma ve öz puanlama ölçümleriModel öz puanları · Ölçüm koşulları
ÖlçümMistral 4MuseSparkOpenQwen3.8-125BNemotron-3.5-Super-VL
Fizik adımı129.0009.0009.000
Simülasyon süresi (sn)0,1757575
Render FPSÖlçülmediÖlçülmediÖlçülmediÖlçülmedi
Son durum hash'iÖlçülmedi857bebb50c45e0562b0b712c
Ölçüm koşullarıKod incelemesi ve yalnız 12 fizik adımı / 0,1 saniyelik başlangıç testi yapıldı. 75 saniyelik son durum ve özpuan ölçülmedi.Özgün fizik motoru 9.000 adım / 75 saniye yürütüldü; aynı seed ile iki koşuda metrikler ve bitiş hash’i eşleşti. Gerçek render FPS ölçülmedi.Özgün fizik motoru 9.000 adım / 75 saniye yürütüldü. Aynı seed ile iki koşunun bitiş hash’i eşleşti; render döngüsü bu ölçüme dahil değildi.Tek tam fizik koşusu: 9.000 adım / 75 saniye. Aynı seed ile ikinci tam koşu ve gerçek render FPS ölçümü yapılmadı.
ModelÖz puanÖlçüm koşulları
Mistral 4ÖlçülmediÖlçülmedi
MuseSparkOpen59,58/100Render döngüsü çalışmadığında uygulamanın kendi fallback dalı FPS’i 60 varsayıyor. 59,58 puanı bu koşulda hesaplandı.
Qwen3.8-125B100/100Render FPS 60 enjekte edilerek hesaplandı; FPS dışındaki 16 kontrol geçti. Gerçek render FPS ölçümü yok.
Nemotron-3.5-Super-VL52,5/100Render döngüsü kapalıyken FPS 0 kabul edildiği için FPS puanı yok. Bu 52,50 özpuanı videodaki render koşusunun puanıyla aynı ölçüm değildir.
Faz sonuçları ve ek ölçümlerYeni kırılan bağlar
Faz · Yeni kırılan bağlarMistral 4MuseSparkOpenQwen3.8-125BNemotron-3.5-Super-VL
P1 · DurgunlukÖlçülmedi3980542
P2 · İlk darbeÖlçülmedi0240
P3 · İkinci darbeÖlçülmedi0280
P4 · Yan rüzgârÖlçülmedi0340
P5 · Destek kaybıÖlçülmedi42212
ToplamÖlçülmedi402108554
ÖlçümBirimMistral 4MuseSparkOpenQwen3.8-125BNemotron-3.5-Super-VL
Cam parçası sayısısayı92164154182
Başlangıç bağ sayısısayı84424202614
Final kırılan bağsayıÖlçülmedi402108554
Final ayrılmış camsayıÖlçülmedi12486130
En az bir kez zemine temas eden camsayıÖlçülmedi357319
Final merkezde düşen camsayıÖlçülmedi144124
P2 temas impulsuMuse impuls ölçümleri fazlara ayrıştırılamadığı için karşılaştırmaya dahil edilmez; Mistral tam koşusu ölçülmedi.itkiÖlçülmediÖlçülmedi120,0456640
P3 temas impulsuMuse impuls ölçümleri fazlara ayrıştırılamadığı için karşılaştırmaya dahil edilmez; Mistral tam koşusu ölçülmedi.itkiÖlçülmediÖlçülmedi261,1970870
Yürütülen fizik adımısayı129.0009.0009.000
NaN/Inf sayacıSıfır sayaç, fizik modelinin veya hata denetiminin doğruluğunu tek başına kanıtlamaz.sayıÖlçülmedi000
Modellere verilen promptÖzgün metin · İngilizce
# GLASS CATHEDRAL — FRACTURE DYNAMICS BENCHMARK v1.0
### SINGLE-FILE · SELF-GRADING · 75 SECONDS

Build **ONE self-contained HTML file** simulating a Gothic stained-glass cathedral facade that fractures under impacts, wind, and support failure. Run **5 automated phases × 15 seconds = 75 seconds** and grade the results out of 100. No user interaction.

## 0. HARD CONSTRAINTS
- **Vanilla JavaScript + Canvas 2D**, all inline; no libraries, CDNs, external assets, build steps, or network. Must run offline by double-clicking the HTML.
- **Fixed physics dt = 1/120 s**, accumulator, simulation-time phases. Rendering and canvas size must not change physics.
- Seeded PRNG (`SEED = 1337`) for all randomness; **no `Math.random()`**. Same-seed runs must reproduce physics metrics and end-state hash.
- **No scripted cracks, fake shattering, teleported fragments, forced trajectories, or hard-coded PASS values.** Damage must result from forces and bond failure.

## 1. SCENE & PHYSICS
- Draw **three tall pointed-arch stained-glass windows** inside a dark stone cathedral, with luminous red/blue/gold panes and a solid floor. Use a fixed 2D world coordinate system.
- Use **150–200 irregular triangular glass shards** total, initially connected as solid panels. Each triangle is a movable rigid body with position, orientation, velocity, mass, and inertia. This is a simplified **bonded-shard fracture model**, not full finite-element glass mechanics.
- Neighboring shard edges are joined by **two breakable XPBD anchor constraints** (resisting translation and rotation). Implement real compliance, accumulated multipliers, and positional/angular corrections: `alphaTilde = compliance / dt²`, `deltaLambda = (-C - alphaTilde * lambda) / (effectiveInverseMass + alphaTilde)`.
- Bonds **irreversibly break** above measured tensile/shear load or strain thresholds, with ±10% seeded strength variation. Broken bonds must create real separation. Define a *detached shard* as one no longer connected by intact bonds to a frame support.
- Simulate gravity, damping, **physical sphere–glass impact impulses**, wind acting on exposed area, and collisions with floor, frame, and other shards (spatial-grid broadphase). Reconstruct velocities after XPBD corrections; use 4–8 solver iterations per step.
- Never silently remove glass, restore damage, or hide NaNs/penetration. Glass mass and triangle count are conserved.

## 2. AUTOMATIC 75-SECOND CHOREOGRAPHY
| Phase | Time | Event | Measurements |
|---|---|---|---|
| **P1 — STILLNESS** | 0–15 s | Intact glass settles under gravity. | Drift, intact bonds, stability |
| **P2 — FIRST IMPACT** | 15–30 s | A steel sphere physically strikes the **left window**. | Contact impulse, local crack growth |
| **P3 — SECOND STRIKE** | 30–45 s | A faster sphere strikes the **right window**; loose pieces hit the floor. | New breaks, detached shards, collisions |
| **P4 — CROSSWIND** | 45–60 s | Wind blows right, reverses left, then becomes gusty. | Signed lateral motion, stress, FPS |
| **P5 — SUPPORT FAILURE** | 60–75 s | Release **only the predefined upper support group** of the center window. Its glass must fall, break, and collide through simulated physics. | Cascade, fallen shards, conservation |

The director may launch spheres and trigger the **single explicit support release**. It must NOT directly create cracks, delete triangles, or animate falling glass.

## 3. VISUALS & HUD
- Cinematic fixed camera; colored translucent glass, dynamic **stress heatmap** (cool → yellow → red), gaps along truly broken bonds, rotating/falling shards, visible projectile paths. Decorative dust is optional and never graded.
- Always show **phase/countdown, 75 s timeline, FPS, broken bonds, detached/fallen shards, impact impulses, maximum stress ratio, and live score**.

## 4. SELF-GRADING — 100 POINTS
Grade from **measured time-series**, not visual appearance. Split each phase's points equally across its checks; show individual PASS/FAIL values and partial credit.

| Phase | Points | Checks |
|---|---:|---|
| **P1** | **15** | No NaN/Inf; shard count preserved; <1% broken bonds before impact; average final-3-second drift <0.03 world units |
| **P2** | **20** | Positive measured contact impulse; ≥5 new bonds broken near impact; ≥60% of other windows' bonds intact |
| **P3** | **20** | ≥5 additional broken bonds; ≥5 shards detached from frame; actual floor contacts without tunneling |
| **P4** | **20** | Mean lateral glass response reverses sign with wind; no invalid states; average rendering FPS ≥30 (also report FPS separately) |
| **P5** | **25** | Correct support release recorded; ≥20 center-window shards fall below their original sill level or touch ground; glass mass/count remains 100%; no invalid states |
| **TOTAL** | **100** | |

**Hard fail = 0/100** for fake fracture animations, absent XPBD bond solver, missing phases, or fabricated metrics. All initial parameters and thresholds must remain fixed for the entire run and be included in the output.

## 5. FINISH & OUTPUT
- At **t = 75 s**, freeze physics and show an on-screen table: measured values, thresholds, PASS/FAIL, points, **TOTAL /100**.
- Print exactly one final JSON line: `console.log('BENCHMARK_JSON:' + JSON.stringify(scorecard))` containing `seed`, `phaseMetrics`, `brokenBonds`, `detachedShards`, `groundContacts`, `impactImpulses`, `massPercent`, `invalidStates`, `avgFPS`, `stateHash`, `totalScore`.
- Calculate `stateHash` from quantized final positions, orientations, velocities, and bond states. Include **Restart** and **Pause** controls.
- Keep code concise and functional: PRNG → glass bodies → XPBD bonds → collisions → director → metrics → rendering → grading.

**Deliver ONLY the complete HTML file.**

*Physics basis: [XPBD, Macklin et al. (2016)](https://doi.org/10.1145/2994258.2994272). The fracture model is a practical benchmark approximation, not a validated predictive glass-engineering solver.*