feat: add initial implementation of ECS architecture and systems

- Introduced a minimal Entity-Component-System (ECS) framework in `ecs.ts` with basic entity management and component handling.
- Created `World` class to manage entities and components, including methods for creating, adding, retrieving, and removing components.
- Implemented unit tests for the `World` class in `ecs.test.ts` to ensure functionality.
- Developed input handling with `InputSystem` to capture keyboard events.
- Added `PhysicsSystem` for movement and collision detection.
- Created `RenderSystem` to handle drawing entities on the canvas.
- Set up a main game loop in `main.ts` to integrate systems and manage game state.
- Added SVG icons and images for UI elements.
- Included CSS styles for layout and theming.
- Configured TypeScript settings in `tsconfig.json` for project compilation.

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-05-02 14:35:54 +02:00
commit 5499b90390
19 changed files with 1607 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
{
"compilerOptions": {
"target": "es2023",
"module": "esnext",
"lib": ["ES2023", "DOM"],
"types": ["vite/client"],
"skipLibCheck": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"moduleDetection": "force",
"noEmit": true,
/* Linting */
"noUnusedLocals": true,
"noUnusedParameters": true,
"erasableSyntaxOnly": true,
"noFallthroughCasesInSwitch": true
},
"include": ["src"]
}