Remove all `.metadata` files across the monorepo and add them to
.gitignore.
They just serve to cause conflicts whenever someone runs anything and
according to @wolfenrain "we don't need them".
```
Package Name Current Version Updated Version Update Reason
flame 1.29.0 2.0.0 updated with major changes
flame_sprite_fusion 0.1.3+12 0.2.0 updated with major changes
flame_svg 1.11.12 1.11.13 updated with patch changes
flame_test 1.19.2 2.0.0 updated with major changes
flame_texturepacker 4.3.1 4.4.0 updated with minor changes
flame_tiled 3.0.3 3.0.4 updated with patch changes
flame_behavior_tree 0.1.3+12 0.1.3+13 dependency was updated
flame_oxygen 0.2.3+12 0.2.3+13 dependency was updated
flame_isolate 0.6.2+12 0.6.2+13 dependency was updated
flame_fire_atlas 1.8.7 1.8.8 dependency was updated
flame_audio 2.11.6 2.11.7 dependency was updated
flame_spine 0.2.2+12 0.2.2+13 dependency was updated
flame_bloc 1.12.13 1.12.14 dependency was updated
flame_kenney_xml 0.1.1+12 0.1.1+13 dependency was updated
flame_lottie 0.4.2+12 0.4.2+13 dependency was updated
flame_markdown 0.2.4+5 0.2.4+6 dependency was updated
flame_console 0.1.2+8 0.1.2+9 dependency was updated
flame_rive 1.10.15 1.10.16 dependency was updated
flame_forge2d 0.19.0+2 0.19.0+3 dependency was updated
flame_noise 0.3.2+12 0.3.2+13 dependency was updated
flame_riverpod 5.4.15 5.4.16 dependency was updated
flame_network_assets 0.3.3+12 0.3.3+13 dependency was updated
flame_3d 0.1.0-dev.12 0.1.0-dev.13 dependency was updated
```
The following 25 packages will be updated:
```
Package Name Current Version Updated Version Update Reason
jenny 1.3.2 1.3.3 manual versioning
flame 1.26.1 1.27.0 updated with minor changes
flame_3d 0.1.0-dev.8 0.1.0-dev.9 updated with minor changes
flame_forge2d 0.18.3 0.18.3+1 updated with patch changes
flame_isolate 0.6.2+8 0.6.2+9 updated with patch changes
flame_lint 1.2.3 1.3.0 updated with minor changes
flame_rive 1.10.11 1.10.12 updated with patch changes
flame_texturepacker 4.1.8 4.1.9 updated with patch changes
flame_tiled 2.0.3 3.0.0 updated with major changes
flame_behavior_tree 0.1.3+8 0.1.3+9 dependency was updated
flame_test 1.18.2 1.18.3 dependency was updated
flame_oxygen 0.2.3+8 0.2.3+9 dependency was updated
flame_sprite_fusion 0.1.3+8 0.1.3+9 dependency was updated
flame_fire_atlas 1.8.3 1.8.4 dependency was updated
flame_audio 2.11.2 2.11.3 dependency was updated
flame_spine 0.2.2+8 0.2.2+9 dependency was updated
flame_bloc 1.12.9 1.12.10 dependency was updated
flame_kenney_xml 0.1.1+8 0.1.1+9 dependency was updated
flame_lottie 0.4.2+8 0.4.2+9 dependency was updated
flame_markdown 0.2.4+1 0.2.4+2 dependency was updated
flame_console 0.1.2+4 0.1.2+5 dependency was updated
flame_noise 0.3.2+8 0.3.2+9 dependency was updated
flame_riverpod 5.4.11 5.4.12 dependency was updated
flame_svg 1.11.8 1.11.9 dependency was updated
flame_network_assets 0.3.3+8 0.3.3+9 dependency was updated
```
# Description
AudioPlayers used to mix their sounds with other audio on the device,
which is not the proposed experience on Mobile devices. So this behavior
was changed in AudioPlayers, but it wasn't enforced due to a bug.
Obviously this behavior is not wanted for Games as multiple sounds
should play simultaneously, so this recovers the old functionality
again.
## Checklist
<!--
Before you create this PR confirm that it meets all requirements listed
below by checking the
relevant checkboxes with `[x]`. If some checkbox is not applicable, mark
it as `[-]`.
-->
- [x] I have followed the [Contributor Guide] when preparing my PR.
- [ ] I have updated/added tests for ALL new/updated/fixed
functionality.
- [ ] I have updated/added relevant documentation in `docs` and added
dartdoc comments with `///`.
- [x] I have updated/added relevant examples in `examples` or `docs`.
Not sure, if I can test this properly, as it's on a system level. I
could ensure the values are set though (?)
## Breaking Change?
I'm actually not sure, if this is breaking, I think it's not, as
`audioplayers` used to work like `mixWithOthers` due to a bug, but is
not anymore.
- [ ] Yes, this PR is a breaking change.
- [x] No, this PR is not a breaking change.
<!--
### Migration instructions
If the PR is breaking, uncomment this header and add instructions for
how to migrate from the
currently released version in-between the two following tags:
-->
<!-- End of exclude from commit message -->
---------
Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
This PR bumps the min sdk constraint to 3.3.0. It also updates one of
the golden tests for flame_svg which was failing with a slight
difference in the svg output around the edges. The difference was very
minor an barely noticeable visually.
```
Package Name Current Version Updated Version Update Reason
flame 1.16.0 1.17.0 manual versioning
flame_forge2d 0.17.0 0.17.1 manual versioning
flame_oxygen 0.2.0 0.2.1 manual versioning
behavior_tree 0.1.0 0.1.1 updated with minor changes
flame_behavior_tree 0.1.0 0.1.1 updated with minor changes
flame_network_assets 0.3.0 0.3.1 updated with minor changes
flame_sprite_fusion 0.1.0 0.1.1 updated with minor changes
flame_texturepacker 3.1.0 3.2.0 updated with minor changes
flame_tiled 1.19.0 1.20.0 updated with minor changes
flame_test 1.16.0 1.16.1 dependency was updated
flame_isolate 0.6.0 0.6.0+1 dependency was updated
flame_fire_atlas 1.5.0 1.5.1 dependency was updated
flame_audio 2.10.0 2.10.1 dependency was updated
flame_spine 0.2.0 0.2.0+1 dependency was updated
flame_bloc 1.11.0 1.11.1 dependency was updated
flame_lottie 0.4.0 0.4.0+1 dependency was updated
flame_markdown 0.2.0 0.2.0+1 dependency was updated
flame_rive 1.10.0 1.10.1 dependency was updated
flame_noise 0.3.0 0.3.0+1 dependency was updated
flame_riverpod 5.4.0 5.4.1 dependency was updated
flame_svg 1.10.0 1.10.1 dependency was updated
```
```
The following 18 packages will be updated:
Package Name Current Version Updated Version Update Reason
flame 1.14.0 1.15.0 updated with minor changes
flame_isolate 0.5.0+7 0.5.1 updated with minor changes
flame_noise 0.1.1+12 0.2.0 updated with major changes
flame_riverpod 5.1.5 5.2.0 updated with minor changes
flame_test 1.15.3 1.15.4 updated with patch changes
flame_texturepacker 2.1.0 3.0.0 updated with major changes
flame_oxygen 0.1.9+7 0.1.9+8 dependency was updated
flame_tiled 1.18.3 1.18.4 dependency was updated
flame_fire_atlas 1.4.7 1.4.8 dependency was updated
flame_audio 2.1.7 2.1.8 dependency was updated
flame_spine 0.1.1+9 0.1.1+10 dependency was updated
flame_bloc 1.10.9 1.10.10 dependency was updated
flame_rive 1.9.10 1.9.11 dependency was updated
flame_lottie 0.3.0+7 0.3.0+8 dependency was updated
flame_markdown 0.1.1+7 0.1.1+8 dependency was updated
flame_forge2d 0.16.0+4 0.16.0+5 dependency was updated
flame_svg 1.8.9 1.8.10 dependency was updated
flame_network_assets 0.2.0+12 0.2.0+13 dependency was updated
```
```
The following 17 packages will be updated:
Package Name Current Version Updated Version Update Reason
flame 1.11.0 1.12.0 updated with minor changes
flame_riverpod 5.0.0 5.1.0 updated with minor changes
flame_test 1.15.0 1.15.1 dependency was updated
flame_tiled 1.18.0 1.18.1 dependency was updated
flame_oxygen 0.1.9+4 0.1.9+5 dependency was updated
flame_isolate 0.5.0+4 0.5.0+5 dependency was updated
flame_fire_atlas 1.4.4 1.4.5 dependency was updated
flame_audio 2.1.4 2.1.5 dependency was updated
flame_spine 0.1.1+6 0.1.1+7 dependency was updated
flame_bloc 1.10.6 1.10.7 dependency was updated
flame_lottie 0.3.0+4 0.3.0+5 dependency was updated
flame_markdown 0.1.1+4 0.1.1+5 dependency was updated
flame_rive 1.9.7 1.9.8 dependency was updated
flame_forge2d 0.16.0+1 0.16.0+2 dependency was updated
flame_noise 0.1.1+9 0.1.1+10 dependency was updated
flame_svg 1.8.6 1.8.7 dependency was updated
flame_network_assets 0.2.0+9 0.2.0+10 dependency was updated
```
I was playing around with the rule avoid-global-state
While I don't think we should enable it, because we do have several totally legitimate cases of what the rule considers global state, it did help me find any current cases where the things just should be final constants.
So this PR will mark semantically final variables as final (or const) proper, exclusively on examples (no violations on actual src code are legit).
This is a first step towards enabling DCM for Flame. Though I have tested with all rules, and am working on selecting, assessing, and fixing violations, as a first step, we can merge the infrastructural changes to flame_lint to and GitHub actions.
As a proof of concept, I am enabling two rules for which we have no violations.
I will followup with enabling more rules, adding discussions for controversial changes, and fixing non-controversial violations.
This PR adds the following lint rules to our list:
```
always_put_required_named_parameters_first
avoid_multiple_declarations_per_line
avoid_positional_boolean_parameters
avoid_returning_null_for_void
avoid_returning_this
avoid_unnecessary_containers
enable_null_safety
library_private_types_in_public_api
no_leading_underscores_for_library_prefixes
no_leading_underscores_for_local_identifiers
prefer_null_aware_method_calls
tighten_type_of_initializing_formals
unnecessary_late
use_setters_to_change_properties
```
And these rules were considered, and some changes were made according to
them as a clean-up, but in many places they didn't make sense
(`prefer_asserts_with_message` I would have included, but there were too
many places that needed to be changes):
```
collection_methods_unrelated_type
prefer_asserts_with_message
avoid_renaming_method_parameters
```