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
bf65c34b28
chore: remove unused code
2025-08-27 22:43:21 -05:00
Ryan Walters
89b0790f19
chore: fix clippy lints
2025-08-27 22:28:14 -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
Copilot
67a5c4a1ed
Remove 9 redundant and non-valuable tests to improve test suite quality ( #4 )
...
* Initial plan
* Remove 9 redundant and non-valuable tests across events, formatting, and item modules
Co-authored-by: Xevion <44609630+Xevion@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Xevion <44609630+Xevion@users.noreply.github.com >
2025-08-19 13:07:14 -05:00
Ryan Walters
8b5e66f514
refactor: update debug state management and rendering systems
2025-08-19 11:31:31 -05:00
Ryan
5109457fcd
test: add input tests
2025-08-19 09:40:59 -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
ae42f6ead0
chore: solve clippy warnings
2025-08-18 00:06:47 -05:00
471b118efd
test: add tests for item systems & movement types
2025-08-18 00:04:07 -05:00
13a9c165f7
test: add player control & movement system testing
2025-08-18 00:03:29 -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
9c0711a54c
test: add more formatting tests
2025-08-17 23:47:47 -05:00
4598dc07e2
test: add tests for errors & events data structs
2025-08-17 23:46:23 -05:00
9c9dc5f423
test: remove asset.rs tests, revamp constants tests
2025-08-17 23:45:42 -05:00
12ee16faab
docs: document many major functions, types, enums for important functionality
2025-08-17 23:29:43 -05:00
398d041d96
Merge pull request #3 from Xevion/ecs
...
ECS Refactor
2025-08-16 15:25:34 -05:00
7a02d6b0b5
chore: add cargo checks to pre-commit
2025-08-16 15:14:16 -05:00
d47d70ff5b
refactor: remove dead code, move direction & graph into 'map' module
2025-08-16 15:14:16 -05:00
313ca4f3e6
fix: proper font loading, cross platform assets, better platform independent trait implementation, conditional modules
2025-08-16 14:17:28 -05:00
f940f01d9b
refactor: optimize debug system, remove redundant code & tests
2025-08-16 13:41:15 -05:00
90adaf9e84
feat: add cursor-based node highlighting for debug
2025-08-16 12:26:24 -05:00
2140fbec1b
fix: allow key holddown
2025-08-16 12:00:58 -05:00
78300bdf9c
feat: rewrite movement systems separately for player/ghosts
2025-08-16 11:44:10 -05:00
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
6af25af5f3
test: better formatting tests, alignment-based
2025-08-15 19:39:59 -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
a531228b95
chore: update thiserror & phf crates
2025-08-15 13:04:39 -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
b7429cd9ec
chore: solve tests/ clippy warnings
2025-08-14 09:46:10 -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
abdefe0af0
chore: add hidden note about why Coveralls.io is disappointing today
2025-08-13 19:52:58 -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
90bdfbd2ae
chore: remove emscripten.rs platform from coverage, add html generation task, hide absolute path with remap-path-prefix, organize gitignore
2025-08-12 19:57:52 -05:00
a230d15ffc
test: setup common submodule, add text.rs tests, pattern exclude error.rs
2025-08-12 19:24:06 -05:00
60bbd1f5d6
ci: add retry mechanism for coverage reporting via Coveralls CLI
2025-08-12 18:31:07 -05:00
43ce8a4e01
ci: use justfile for coverage, separate report/generate coverage tasks
2025-08-12 18:00:57 -05:00
1529a64588
test: add asset path validity tests
2025-08-12 17:24:12 -05:00
be5eec64c9
Add justfile for handling multiple coverage steps, prevent early termination of coverage job
2025-08-12 17:24:12 -05:00
780a33f657
test: add coverage job to bacon.toml, coverage profile for nextest
2025-08-12 16:48:01 -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
b91f70cf2f
ci: add concurrency group to 'wasm' job to prevent concurrent page deployments
2025-08-12 11:56:03 -05:00
24a207be01
chore: use steps.$.outputs in build workflow, document 1.86.0 toolchain version
2025-08-12 11:41:29 -05:00
44e31d9b21
chore: sync lockfile, add lcov.info to .gitignore
2025-08-12 10:31:10 -05:00
dependabot[bot]
b67234765a
chore(deps): bump actions/checkout from 4 to 5 in the dependencies group ( #1 )
...
Bumps the dependencies group with 1 update: [actions/checkout](https://github.com/actions/checkout ).
Updates `actions/checkout` from 4 to 5
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 09:27:54 -05:00
dependabot[bot]
d07498c30e
chore(deps): bump the dependencies group with 5 updates ( #2 )
...
Bumps the dependencies group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [thiserror](https://github.com/dtolnay/thiserror ) | `1.0.69` | `2.0.12` |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.98` | `1.0.99` |
| [glam](https://github.com/bitshifter/glam-rs ) | `0.30.4` | `0.30.5` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.141` | `1.0.142` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.174` | `0.2.175` |
Updates `thiserror` from 1.0.69 to 2.0.12
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.69...2.0.12 )
Updates `anyhow` from 1.0.98 to 1.0.99
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.98...1.0.99 )
Updates `glam` from 0.30.4 to 0.30.5
- [Changelog](https://github.com/bitshifter/glam-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitshifter/glam-rs/compare/0.30.4...0.30.5 )
Updates `serde_json` from 1.0.141 to 1.0.142
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.141...v1.0.142 )
Updates `libc` from 0.2.174 to 0.2.175
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.175/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.174...0.2.175 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-version: 2.0.12
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: anyhow
dependency-version: 1.0.99
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: glam
dependency-version: 0.30.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: serde_json
dependency-version: 1.0.142
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: libc
dependency-version: 0.2.175
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xevion <xevion@xevion.dev >
2025-08-12 09:26:46 -05:00
183a432116
test: add tests for collision, items, directional, sprite
...
enum macros for FruitKind
2025-08-12 09:18:53 -05:00
ead1466b2d
chore: specify 'llvm-tools-preview' toolchain component for coverage in toolchain file
2025-08-12 00:22:27 -05:00
8ef09a4e3e
test: drop minimal_test_board, use RAW_BOARD constant, item generation tests
2025-08-11 23:26:28 -05:00
33672d8d5a
feat: implement collision detection system for entities
2025-08-11 23:24:23 -05:00
1dc8aca373
feat: item collection & collisions, pellet & energizer generation
2025-08-11 22:45:36 -05:00
02089a78da
chore: downgrade toolchain to 1.86 on all versions
...
This is just because managing both 1.86 and 1.88 is really annoying, so
it's better to just be unified. There's no real point to using 1.88
besides more clippy warnings, which are already impeding my work right
now. So we're downgrading.
2025-08-11 22:10:41 -05:00
1f8e7c6d71
fix: resolve clippy warnings, inline format vars, use tracing to log warnings
2025-08-11 22:09:08 -05:00
27079e127d
feat!: implement proper error handling, drop most expect() & unwrap() usages
2025-08-11 20:23:39 -05:00
5e9bb3535e
ci: add dependabot config
2025-08-11 19:24:52 -05:00
250cf2fc89
fix: avoid rendering path lines between far apart cells
2025-08-11 18:39:01 -05:00
57975495a9
fix: calculate more static, stable offsets for path debug rendering
2025-08-11 16:00:23 -05:00
f3e7a780e2
fix: drop problematic ctrl-c keybind for bacon, reconfigure binds
2025-08-11 15:46:26 -05:00
ee6cb0a670
refactor: implement entity trait, common abstraction for movement & rendering
2025-08-11 15:46:04 -05:00
b3df34b405
fix: crash when entering right tunnel due to overflowing pixel position calculation
2025-08-11 15:44:04 -05:00
dbafa17670
chore: add bacon.toml config file
2025-08-11 15:25:53 -05:00
d9c8f97903
feat: pathfinding for ghosts, add debug rendering of paths
2025-08-11 15:25:39 -05:00
ad2ec35bfb
chore: remove unused tracing debug invocations
2025-08-11 15:23:23 -05:00
6331ba0b2f
refactor: move graph traversal code into traversal.rs
2025-08-11 14:05:28 -05:00
3d275b8e85
fix: clippy inline format args
2025-08-11 14:05:28 -05:00
bd61db9aae
chore: remove unnecessary names, merge audit.yaml with tests.yaml, plural tests.yaml
2025-08-11 14:05:28 -05:00
f80c89fdc1
fix: clippy inline format args
2025-08-11 12:34:50 -05:00
00c27273c1
chore: remove unnecessary names, merge audit.yaml with tests.yaml, plural tests.yaml
2025-08-11 12:33:54 -05:00