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.