Maintaining the lockfiles has proven to be an annoyance with regular
"update lockfiles" commits. We don't actually care what's in the
lockfiles.
The problem is that they're not kept in sync with each other. We really
want a workspace to have one lockfile for the whole project, but
limitations is workspaces means this is not currently possible.
* Integrates num_traits more closely.
* Implements signed for our num, and the vector2d / rect abs now can use
our fixnum.
* This is potentially breaking.
Implements a very basic backtrace and the ability to format them
If you run the panic example and press A, you get:
```
[ERROR] GBA Debug: [failed]
[ERROR] GBA Debug: debug data: ce3-1ee7-1fb7-24d-1ad
[FATAL] GBA Debug: Error: panicked at src/memory_mapped.rs:101:24:
index out of bounds: the len is 240 but the index is 240
```
which you can then prettify with:
```
> agb-addr2line ../target/thumbv4t-none-eabi/debug/examples/panic 0ce3-1f57-2027-024d-01ad
0: rust_begin_unwind <agb>/lib.rs:321
1: core::panicking::panic_nounwind <core>/panicking.rs:151
2: core::panicking::assert_failed_inner <core>/panicking.rs:321
3: agb::memory_mapped::MemoryMapped2DArray<T,_,_>::set <agb>/memory_mapped.rs:101
(inlined by) agb::display::bitmap3::Bitmap3::draw_point <agb>/display/bitmap3.rs:31
4: main /home/gwilym/Projects/agb/agb/examples/panic.rs:15
```
- [ ] Changelog updated / no changelog update needed
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[peaceiris/actions-mdbook](https://togithub.com/peaceiris/actions-mdbook)
| action | major | `v1` -> `v2` |
---
### Release Notes
<details>
<summary>peaceiris/actions-mdbook (peaceiris/actions-mdbook)</summary>
###
[`v2`](https://togithub.com/peaceiris/actions-mdbook/compare/v1...v2)
[Compare
Source](https://togithub.com/peaceiris/actions-mdbook/compare/v1...v2)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log [here](https://developer.mend.io/github/agbrs/agb).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
GitHub pages, for whatever reason, doesn't compress the combo ROM and
instead serves it uncompressed. Therefore, we explicitly compress it
using the highest compression level at build time and explicitly
decompress it.
Previously we would download 14.69MB, now we download 7.84MB.
Approximately 50% savings.