514a447162
refactor: use strum::EnumCount for const compile time system mapping
2025-08-16 11:43:46 -05:00
3d0bc66e40
feat: ghosts system
2025-08-15 20:38:18 -05:00
e0a15c1ca8
feat: implement audio muting functionality
2025-08-15 20:30:41 -05:00
fa12611c69
feat: ecs audio system
2025-08-15 20:28:47 -05:00
342f378860
fix: use renderable layer properly, sorting entities before presenting
2025-08-15 20:10:16 -05:00
e8944598cc
chore: fix clippy warnings
2025-08-15 20:10:16 -05:00
f1935ad016
refactor: use smallvec instead of collect string, explicit formatting, accumulator fold
2025-08-15 19:15:06 -05:00
4d397bba5f
feat: item collection system, score mutations
2025-08-15 18:41:08 -05:00
80930ddd35
fix: use const MAX_SYSTEMS to ensure micromap maps are aligned in size
2025-08-15 18:40:24 -05:00
0133dd5329
feat: add background for text contrast to debug window
2025-08-15 18:39:39 -05:00
635418a4da
refactor: use stack allocated circular buffer, use RwLock+Mutex for concurrent system timing access
2025-08-15 18:06:25 -05:00
31193160a9
feat: debug text rendering of statistics, formatting with tests
2025-08-15 17:52:16 -05:00
3086453c7b
chore: adjust collider sizes
2025-08-15 16:25:42 -05:00
a8b83b8e2b
feat: high resolution debug rendering
2025-08-15 16:20:24 -05:00
8ce2af89c8
fix: add visibility check to rendering implementation
2025-08-15 15:10:09 -05:00
5f0ee87dd9
feat: better profiling statistics, less spammy
2025-08-15 15:06:53 -05:00
b88895e82f
feat: separate dirty rendering with flag resource
2025-08-15 14:19:39 -05:00
2f0c734d13
feat: only present/render canvas when renderables change
2025-08-15 14:15:18 -05:00
e96b3159d7
fix: disable vsync
2025-08-15 13:46:57 -05:00
8c95ecc547
feat: add profiling
2025-08-15 13:46:39 -05:00
02a98c9f32
chore: remove unnecessary log, simplify match to if let
2025-08-15 13:05:55 -05:00
7f95c0233e
refactor: move position/movement related components into systems/movement
2025-08-15 13:05:03 -05:00
de86f383bf
refactor: improve representation of movement system
2025-08-15 12:50:07 -05:00
bd811ee783
fix: initial next direction for pacman (mitigation)
2025-08-15 12:30:29 -05:00
57d7f75940
feat: implement generic optimized collision system
2025-08-15 12:21:29 -05:00
c5d6ea28e1
fix: discard PlayerControlled tag component
2025-08-15 11:28:08 -05:00
730daed20a
feat: entity type for proper edge permission calculations
2025-08-15 10:06:09 -05:00
b9bae99a4c
refactor: reorganize systems properly, move events to events.rs
2025-08-15 09:48:16 -05:00
2c65048fb0
refactor: rename 'ecs' submodule to 'systems'
2025-08-15 09:27:28 -05:00
3388d77ec5
refactor: remove all unused/broken tests, remove many now unused types/functions
2025-08-15 09:24:42 -05:00
242da2e263
refactor: reorganize ecs components
2025-08-15 09:17:43 -05:00
70fb2b9503
fix: working movement again with ecs
2025-08-14 18:35:23 -05:00
0aa056a0ae
feat: ecs keyboard interactions
2025-08-14 18:17:58 -05:00
b270318640
feat: directional rendering, interactivity
2025-08-14 15:44:07 -05:00
bc759f1ed4
refactor!: begin switching to bevy ECS, all tests broken, all systems broken
2025-08-14 15:06:56 -05:00
2f1ff85d8f
refactor: handle pausing within game, reduce input system allocations
2025-08-14 10:36:39 -05:00
12a63374a8
feat: avoid using spin sleep unless focused
2025-08-13 23:30:07 -05:00
d80d7061e7
refactor: build decoupled input processing & add event queue system
2025-08-13 20:45:56 -05:00
4f76de7c9f
feat: enable vsync & hardware acceleration
2025-08-13 19:49:02 -05:00
db8cd6220a
feat: cache dynamicly rendered map texture
2025-08-13 19:48:50 -05:00
ced4e87d41
feat: embed atlas.json via phf instead of runtime parsing
2025-08-13 00:37:37 -05:00
09e3d85821
feat!: dynamic map rendering from tiles
2025-08-13 00:25:34 -05:00
c1e421bbbb
test: new graph tests
2025-08-12 19:58:37 -05:00
3a9381a56c
chore: use NodeId explicitly in collision.rs types
2025-08-12 19:58:11 -05:00
a230d15ffc
test: setup common submodule, add text.rs tests, pattern exclude error.rs
2025-08-12 19:24:06 -05:00
1529a64588
test: add asset path validity tests
2025-08-12 17:24:12 -05:00
c1c5dae6f2
refactor: restructure game logic and state management into separate modules
...
- Moved game logic from `game.rs` to `game/mod.rs` and `game/state.rs` for better organization.
- Updated `App` to utilize the new `Game` struct and its state management.
- Refactored error handling
- Removed unused audio subsystem references
2025-08-12 14:40:48 -05:00
c489f32908
fix: audio and other subsystems being dropped in App::new(), use Box::leak to ensure static ownership
2025-08-12 13:08:08 -05:00
183a432116
test: add tests for collision, items, directional, sprite
...
enum macros for FruitKind
2025-08-12 09:18:53 -05:00
33672d8d5a
feat: implement collision detection system for entities
2025-08-11 23:24:23 -05:00