"매 ECS-first web 3D — functional core". Wonder 매 ReScript/TypeScript 기반 ECS architecture 3D engine — Wonderland 와 별도의 OSS lineage. 2026 매 niche — Three.js / Babylon / Wonderland Engine 의 dominant 매 main alternative.
// 매 Wonder ECS internally 매 SoA — 매 manual 의 example
classPositionSoA{x: Float32Array;y: Float32Array;z: Float32Array;constructor(capacity: number){this.x=newFloat32Array(capacity);this.y=newFloat32Array(capacity);this.z=newFloat32Array(capacity);}}// 매 tight loop 매 cache hit — AoS 보다 2-5x faster
ReScript 매 functional system
// 매 ReScript syntax
let movement = (world, dt) => {
let entities = World.query(world, [Position.id, Velocity.id])
entities->Belt.Array.forEach(e => {
let pos = World.getComponent(world, e, Position.id)
let vel = World.getComponent(world, e, Velocity.id)
World.setComponent(world, e, Position.id, {
x: pos.x +. vel.x *. dt,
y: pos.y +. vel.y *. dt,
z: pos.z +. vel.z *. dt,
})
})
}
언제: ECS-first 3D web project / ReScript 사용 codebase / large entity count + custom systems.
언제 X: standard 3D scene — Three.js 매 더 ecosystem / artist-friendly editor 필요 — Wonderland / Babylon.
❌ 안티패턴
OOP scene-graph mindset in ECS: parent-child mutation 매 anti-ECS — entity hierarchy 의 component 의 모델.
Per-entity allocation in tick: GC pressure — pool / SoA.
Wonder + Three.js mix: rendering 매 conflict — choose one renderer.
🧪 검증 / 중복
Verified (Wonder OSS docs / GitHub).
신뢰도 B (smaller community — verify against latest repo).
🕓 Changelog
날짜
변경
2026-05-08
Phase 1
2026-05-10
Manual cleanup — ECS arch, ReScript, SoA, vs Three.js