Skip to content

Architecture Decision Records ​

Architecture Decision Records (ADRs) document significant design choices made during the development of Web Engine Dev. Each record captures the context, decision, alternatives considered, and consequences.

ADR Index ​

#TitleStatusSummary
001Archetype-Based ECS StorageAcceptedChose archetype-based storage over sparse sets for cache-friendly iteration and parallel-friendly processing
002Dual ESM/CJS PublishingAcceptedAll packages publish as dual ESM + CJS using tsup with conditional exports for universal compatibility
003WebGPU Rendering StrategyAcceptedWebGPU-first strategy with WebGPU-only runtime execution
004Third-Party Facade PatternAcceptedUse Rapier for physics via facade pattern; build custom pathfinding, audio, and netcode for ECS integration
005Collision Detection StrategyAcceptedRemoved standalone collision package in favor of Rapier's integrated collision detection
006Editor ArchitectureAcceptedSolidJS UI, hexagonal architecture, ECS bridge read-only pattern, four-store rule
007Data-Oriented DesignAcceptedDOD as the core architectural principle: SoA storage, systems as data transforms, ECS as single source of truth

ADR Format ​

Each ADR follows a consistent structure:

  • Status -- Proposed, Accepted, Deprecated, or Superseded
  • Context -- What problem or question motivated this decision
  • Decision -- What was decided and why
  • Alternatives Considered -- Other approaches that were evaluated and why they were rejected
  • Consequences -- Positive and negative impacts of the decision

Proprietary software. All rights reserved.