Commit Graph

83 Commits

Author SHA1 Message Date
Ryan Walters
9219c771d7 test: improve input & map_builder test coverage 2025-09-06 12:15:05 -05:00
Ryan Walters
3c50bfeab6 refactor: add ticks to DeltaTime, rewrite Blinking system for tick-based calculations with absolute calculations, rewrite Blinking/Direction tests 2025-09-06 12:15:03 -05:00
Ryan Walters
42e309a46b feat: enhance profiling with tick-based timing management and zero-padding for skipped frames 2025-09-06 12:15:02 -05:00
Ryan Walters
a38423f006 refactor: use welford's algorithm for one-pass avg/std dev. calculations, input logging tweaks 2025-09-06 12:15:02 -05:00
Ryan Walters
07bd127596 chore: move ttf context out of game.rs, remove unnecessary window event logging 2025-09-06 12:15:01 -05:00
Ryan Walters
2fabd5d7a2 feat: measure total system timings using threading indifferent method, padded formatting 2025-09-06 12:15:00 -05:00
Ryan Walters
2d36d49b13 feat: enumerate and display render driver info, increase node id text opacity 2025-09-06 12:14:59 -05:00
Ryan Walters
0f1e1d4d42 fix: do not use canvas.output_size() for calculations due to browser behavior 2025-09-04 16:06:28 -05:00
Ryan Walters
968eb39b64 feat: fix emscripten browser logging, streamline console initialization and logging 2025-09-04 14:07:24 -05:00
Ryan Walters
57e7f395d7 feat: add drag reference control relaxation with easing, mild refactor 2025-09-04 11:19:48 -05:00
Ryan Walters
1f5af2cd96 feat: touch movement controls 2025-09-04 11:02:51 -05:00
Ryan Walters
b8c7c29376 fix: calculation for rect position scaling in debug_renderer 2025-09-03 23:23:56 -05:00
Ryan Walters
a3c4e5267f refactor: consolidate rendering systems into a combined render system for improved performance and reduced overhead 2025-09-03 23:09:19 -05:00
Ryan Walters
3e630bcbef feat: run input_system less, rework profiling system to allow for conditional ticks, prepopulate and simplify locking mechanisms, drop RwLock 2025-09-03 23:09:19 -05:00
Ryan Walters
33775166a7 feat: add batching & merging of lines in debug rendering 2025-09-03 19:45:55 -05:00
Ryan Walters
f2732a7ff7 feat: improve debug rendering performance via batch rendering of rects 2025-09-03 19:15:05 -05:00
Ryan Walters
6771dea02b fix: avoid padding jitter with constant name padding, minor timing calculation fixes 2025-09-03 19:00:45 -05:00
Ryan Walters
23f43288e1 feat: implement optimized text rendering by caching font characters into special atlas 2025-09-03 17:31:48 -05:00
Ryan Walters
028ee28840 fix: remove redundant double canvas copy 2025-09-03 17:31:06 -05:00
Ryan Walters
4cc5816d1f refactor: use small_rng for Emscripten only, simplify platform to top-level functions only, no trait/struct 2025-09-03 11:11:04 -05:00
Ryan Walters
d6d0f47483 feat: optimize input system, avoid heap allocations, disable as many events as possible 2025-09-02 14:57:01 -05:00
Ryan Walters
7dfab26898 refactor: drop remaining Box::leak & statics where possible 2025-09-02 13:44:40 -05:00
Ryan Walters
7cdd1b6ad9 refactor: use 'unsafe_textures' sdl2 feature to hide lifetimes & obscure leaks into upstream 2025-09-02 12:59:06 -05:00
Ryan Walters
a62ae8dfe7 fix: energizers don't change dead (eyes) ghosts 2025-09-01 15:39:17 -05:00
Ryan Walters
a21459f337 feat: revamp with better separate directional/linear animations, direction independent ticking 2025-09-01 15:28:57 -05:00
Ryan Walters
b53db3788d refactor: unify ghost state management and animation handling, use integers for texture animation 2025-09-01 14:27:48 -05:00
Ryan Walters
e1a2e6ab62 fix: avoid switching ghost back to normal during eyes animation 2025-09-01 13:14:16 -05:00
Ryan Walters
0cbd6f1aac refactor: switch NodeId to u16, use I8Vec2 for grid coordinates 2025-09-01 12:37:44 -05:00
Ryan Walters
1206cf9ad1 feat: implement high score text rendering 2025-09-01 12:13:18 -05:00
Ryan Walters
bed913d016 fix: profiling system calculates mean of sums, not mean of means 2025-09-01 12:01:39 -05:00
Ryan Walters
98196f3e07 feat: ghost animation states, frightened/eaten behaviors, smallvec animation arrays 2025-09-01 11:46:18 -05:00
Ryan Walters
8f504d6c77 fix: correctly unhide in second pre-freeze stage 2025-09-01 10:28:08 -05:00
Ryan Walters
a8e62aec56 fix: force dirty render using resource_change conditions, hide ghosts & player on initial spawn 2025-08-28 20:20:38 -05:00
Ryan Walters
cde1ea5394 feat: allow freezing of blinking entities, lightly refactor game.rs structure 2025-08-28 20:02:27 -05:00
Ryan Walters
d0628ef70b feat: use backbuffer fully, proper 'present' system, debug texture draws with transparency 2025-08-28 19:40:31 -05:00
Ryan Walters
2da8a312f3 chore: remove PlayerLifecycle, move MovementModifiers directly into PlayerBundle 2025-08-28 18:32:19 -05:00
Ryan Walters
2bdd4f0d04 feat: re-implement visbility via 'Hidden' tag component, move stage visibility logic into stage system 2025-08-28 18:24:47 -05:00
Ryan Walters
5cc9b1a6ee fix: avoid acquiring filtered player query until movement command received 2025-08-28 14:17:46 -05:00
Ryan Walters
5d4adb7743 refactor: merge 'formatting' submodule into 'profiling' 2025-08-28 14:12:23 -05:00
Ryan Walters
633d467f2c chore: remove LevelTiming resource 2025-08-28 13:21:21 -05:00
Ryan Walters
d3e83262db feat: better 'Vulnerable' tag for ghosts, fix movement issues 2025-08-28 13:18:47 -05:00
Ryan Walters
f31b4952e4 chore: remove wildcard/prelude imports, remove unused functions 2025-08-28 13:14:40 -05:00
Ryan Walters
ad3f896f82 chore: reorganize component definitions into relevant system files 2025-08-28 12:54:52 -05:00
Ryan Walters
80ebf08dd3 feat: stage sequence, ghost collisions & energizer logic, text color method, scheduler ordering 2025-08-28 12:40:02 -05:00
Ryan Walters
f14b3d38a4 feat: create hud rendering system 2025-08-27 22:55:26 -05:00
Ryan Walters
9624bcf359 feat: collision helper, ghost/pacman collision events, collision tests
minor format updates from copilot's commit
2025-08-27 22:26:49 -05:00
Ryan Walters
8b5e66f514 refactor: update debug state management and rendering systems 2025-08-19 11:31:31 -05:00
Ryan
5497e4b0b9 feat: improve input system to handle multiple keypress & release states 2025-08-19 09:35:55 -05:00
d72b6eec06 test: add item testing 2025-08-18 09:32:35 -05:00
da3c8e8284 test: add player traversal flag tests, remove old disabled movement_system, public can_traverse 2025-08-17 23:52:03 -05:00