From c8af025c40d24c8b5d1f8d0ab5bbce96e7c287af Mon Sep 17 00:00:00 2001 From: Dmitrii Zolotov Date: Thu, 1 Oct 2026 18:03:08 +0300 Subject: [PATCH 1/2] The stack resolves on Flutter 3.44 Flame supports Flutter 3.44.0, which ships Dart 3.12.0, meta 1.18.0 and vector_math 2.2.0, and none of the stack could be resolved there. Every pubspec asked for Dart ^3.12.2, three for Flutter 3.47, and the dependabot bumps had raised vector_math to ^2.4.3 and clock to ^1.1.3: the versions this repository is built with, not what any package needs. They are relaxed across the workspace, and the 0.8 releases that Flame's workspace reaches are bumped to +1 builds with nothing else in them. That still left SoLoud. flutter_soloud 5 builds through hooks 2.2, which wants a newer meta than Flutter 3.44 pins, and flutter3d_game brought it in through flutter3d_audio for the sake of a settings panel that names buses. The positional half of flutter3d_audio moves, unchanged, into a new flutter3d_audio_core with no backend; flutter3d_audio re-exports it and keeps the SoLoud backend and Speakers, so a type is the same type through either package. flutter3d_game 0.8.1 depends on the core and takes flutter_bloc 8 as well as 9. Checked by resolving a Flame-shaped workspace and analysing every released library under Flutter 3.44.0, and by the audio, audio core and game suites under 3.47, the game's against flutter_bloc 8.1.6 as well. --- ARCHITECTURE.md | 10 ++++--- README.md | 2 +- apps/flutter3d_demo_arcade/pubspec.yaml | 4 +-- apps/flutter3d_demo_dungeon/pubspec.yaml | 4 +-- apps/flutter3d_demo_platformer/pubspec.yaml | 4 +-- apps/flutter3d_demo_racing/pubspec.yaml | 4 +-- apps/flutter3d_demo_river/pubspec.yaml | 4 +-- apps/flutter3d_demo_strategy/pubspec.yaml | 4 +-- apps/flutter3d_editor/pubspec.yaml | 4 +-- apps/flutter3d_lab_incident/pubspec.yaml | 4 +-- apps/flutter3d_lab_pendulum/pubspec.yaml | 4 +-- apps/flutter3d_lesson_viewer/pubspec.yaml | 4 +-- apps/flutter3d_modeler/pubspec.yaml | 6 ++-- apps/flutter3d_showcase/pubspec.yaml | 4 +-- .../pubspec.yaml | 4 +-- cloud/lti/server/pubspec.yaml | 2 +- packages/flame_flutter3d/example/pubspec.yaml | 2 +- packages/flame_flutter3d/pubspec.yaml | 4 +-- packages/flame_flutter3d_audio/pubspec.yaml | 4 +-- packages/flame_multiplayer/pubspec.yaml | 2 +- .../flame_multiplayer_dashwire/pubspec.yaml | 2 +- packages/flutter3d/CHANGELOG.md | 7 +++++ packages/flutter3d/example/pubspec.yaml | 4 +-- packages/flutter3d/pubspec.yaml | 6 ++-- packages/flutter3d_app/CHANGELOG.md | 7 +++++ packages/flutter3d_app/example/pubspec.yaml | 4 +-- packages/flutter3d_app/pubspec.yaml | 8 +++--- packages/flutter3d_audio/CHANGELOG.md | 9 ++++++ .../flutter3d_audio/lib/flutter3d_audio.dart | 14 ++++------ .../lib/src/soloud_backend.dart | 2 +- .../flutter3d_audio/lib/src/speakers.dart | 4 +-- packages/flutter3d_audio/pubspec.yaml | 9 +++--- packages/flutter3d_audio_core/CHANGELOG.md | 14 ++++++++++ packages/flutter3d_audio_core/LICENSE | 21 ++++++++++++++ packages/flutter3d_audio_core/README.md | 15 ++++++++++ .../analysis_options.yaml | 11 ++++++++ .../lib/flutter3d_audio_core.dart | 17 +++++++++++ .../lib/src/attenuation.dart | 0 .../lib/src/audio_scene.dart | 0 .../lib/src/backend.dart | 0 .../lib/src/engine_sound.dart | 0 .../lib/src/listener.dart | 0 .../lib/src/mixer.dart | 0 .../lib/src/sound.dart | 0 .../lib/src/sound_bank.dart | 0 packages/flutter3d_audio_core/pubspec.yaml | 28 +++++++++++++++++++ .../test/audio_scene_test.dart | 2 +- .../test/engine_sound_test.dart | 2 +- .../test/listener_test.dart | 2 +- .../test/mixer_test.dart | 2 +- .../test/occlusion_test.dart | 2 +- .../test/sound_bank_test.dart | 2 +- packages/flutter3d_build/pubspec.yaml | 4 +-- packages/flutter3d_conformance/pubspec.yaml | 4 +-- packages/flutter3d_core/CHANGELOG.md | 7 +++++ packages/flutter3d_core/pubspec.yaml | 6 ++-- packages/flutter3d_cpu/CHANGELOG.md | 7 +++++ packages/flutter3d_cpu/pubspec.yaml | 6 ++-- packages/flutter3d_editor_core/CHANGELOG.md | 7 +++++ packages/flutter3d_editor_core/pubspec.yaml | 6 ++-- packages/flutter3d_editor_mcp/pubspec.yaml | 4 +-- .../flutter3d_editor_widgets/pubspec.yaml | 2 +- packages/flutter3d_game/CHANGELOG.md | 14 ++++++++++ packages/flutter3d_game/example/pubspec.yaml | 4 +-- .../lib/src/screens/settings_overlay.dart | 2 +- .../lib/src/screens/settings_panel.dart | 2 +- .../lib/src/screens/volumes.dart | 2 +- packages/flutter3d_game/pubspec.yaml | 14 ++++++---- .../test/settings_overlay_test.dart | 2 +- .../test/settings_panel_test.dart | 2 +- .../flutter3d_game/test/volumes_test.dart | 2 +- .../flutter3d_game_platformer/CHANGELOG.md | 7 +++++ .../flutter3d_game_platformer/pubspec.yaml | 6 ++-- packages/flutter3d_game_racing/pubspec.yaml | 4 +-- packages/flutter3d_game_shooter/pubspec.yaml | 4 +-- packages/flutter3d_game_strategy/pubspec.yaml | 4 +-- packages/flutter3d_hardware/CHANGELOG.md | 7 +++++ packages/flutter3d_hardware/pubspec.yaml | 6 ++-- packages/flutter3d_impeller/CHANGELOG.md | 7 +++++ packages/flutter3d_impeller/pubspec.yaml | 6 ++-- packages/flutter3d_lab/pubspec.yaml | 2 +- packages/flutter3d_lti/pubspec.yaml | 2 +- packages/flutter3d_mcp_kit/pubspec.yaml | 2 +- packages/flutter3d_mesh/pubspec.yaml | 4 +-- packages/flutter3d_model_core/pubspec.yaml | 4 +-- packages/flutter3d_model_mcp/pubspec.yaml | 4 +-- packages/flutter3d_net/pubspec.yaml | 2 +- packages/flutter3d_net_webrtc/pubspec.yaml | 4 +-- packages/flutter3d_particles/CHANGELOG.md | 7 +++++ packages/flutter3d_particles/pubspec.yaml | 6 ++-- packages/flutter3d_physics/CHANGELOG.md | 7 +++++ packages/flutter3d_physics/pubspec.yaml | 6 ++-- packages/flutter3d_samples/pubspec.yaml | 2 +- packages/flutter3d_shaders/CHANGELOG.md | 7 +++++ packages/flutter3d_shaders/pubspec.yaml | 4 +-- packages/flutter3d_sim/CHANGELOG.md | 7 +++++ packages/flutter3d_sim/pubspec.yaml | 6 ++-- packages/flutter3d_sim_mcp/pubspec.yaml | 6 ++-- .../flutter3d_stereo/example/pubspec.yaml | 4 +-- packages/flutter3d_stereo/pubspec.yaml | 6 ++-- packages/flutter3d_testing/pubspec.yaml | 6 ++-- packages/flutter3d_webgl/CHANGELOG.md | 7 +++++ packages/flutter3d_webgl/example/pubspec.yaml | 4 +-- packages/flutter3d_webgl/pubspec.yaml | 6 ++-- packages/flutter3d_webgpu/CHANGELOG.md | 7 +++++ packages/flutter3d_webgpu/pubspec.yaml | 6 ++-- packages/pad_input/CHANGELOG.md | 7 +++++ packages/pad_input/example/pubspec.yaml | 2 +- packages/pad_input/pubspec.yaml | 6 ++-- packages/pointer_lock/CHANGELOG.md | 7 +++++ packages/pointer_lock/example/pubspec.yaml | 2 +- packages/pointer_lock/pubspec.yaml | 6 ++-- pubspec.lock | 4 +-- pubspec.yaml | 3 +- site/content/quickstart.md | 2 +- site/content/reference/testing.md | 5 ++-- tool/convert_asset/pubspec.yaml | 2 +- tool/godot_check/pubspec.yaml | 2 +- tool/init/pubspec.yaml | 2 +- tool/release_dashboard/pubspec.yaml | 2 +- tool/skills/pubspec.yaml | 2 +- tool/structure/repository.dart | 1 + tool/tutorial/pubspec.yaml | 2 +- tool/webgpu_spike/pubspec.yaml | 4 +-- 124 files changed, 429 insertions(+), 182 deletions(-) create mode 100644 packages/flutter3d_audio_core/CHANGELOG.md create mode 100644 packages/flutter3d_audio_core/LICENSE create mode 100644 packages/flutter3d_audio_core/README.md create mode 100644 packages/flutter3d_audio_core/analysis_options.yaml create mode 100644 packages/flutter3d_audio_core/lib/flutter3d_audio_core.dart rename packages/{flutter3d_audio => flutter3d_audio_core}/lib/src/attenuation.dart (100%) rename packages/{flutter3d_audio => flutter3d_audio_core}/lib/src/audio_scene.dart (100%) rename packages/{flutter3d_audio => flutter3d_audio_core}/lib/src/backend.dart (100%) rename packages/{flutter3d_audio => flutter3d_audio_core}/lib/src/engine_sound.dart (100%) rename packages/{flutter3d_audio => flutter3d_audio_core}/lib/src/listener.dart (100%) rename packages/{flutter3d_audio => flutter3d_audio_core}/lib/src/mixer.dart (100%) rename packages/{flutter3d_audio => flutter3d_audio_core}/lib/src/sound.dart (100%) rename packages/{flutter3d_audio => flutter3d_audio_core}/lib/src/sound_bank.dart (100%) create mode 100644 packages/flutter3d_audio_core/pubspec.yaml rename packages/{flutter3d_audio => flutter3d_audio_core}/test/audio_scene_test.dart (99%) rename packages/{flutter3d_audio => flutter3d_audio_core}/test/engine_sound_test.dart (98%) rename packages/{flutter3d_audio => flutter3d_audio_core}/test/listener_test.dart (96%) rename packages/{flutter3d_audio => flutter3d_audio_core}/test/mixer_test.dart (98%) rename packages/{flutter3d_audio => flutter3d_audio_core}/test/occlusion_test.dart (97%) rename packages/{flutter3d_audio => flutter3d_audio_core}/test/sound_bank_test.dart (97%) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 235ff0b20..6af392c83 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -233,7 +233,8 @@ point of §3.3. | `flutter3d_game_platformer` | Platformer rules: runner, coins, hazards, checkpoints | | `flutter3d_game_racing` | Racing rules: cars, circuits, laps, ghosts | | `flutter3d_game_strategy` | Strategy rules: ground made of samples, a crowd that takes orders, flow fields shared by destination, an economy, a policy that plays a side, fog each side has to walk into | -| `flutter3d_audio` | Loading, streaming, 3D positioning, voice limits, mix buses | +| `flutter3d_audio_core` | 3D positioning, voice limits, mix buses, the backend seam | +| `flutter3d_audio` | The core re-exported, plus loading and streaming through SoLoud | | `flutter3d_app` | What any application on the engine is assembled from: which backend a build draws through, the surface a frame reaches Flutter through, widgets in the scene, a level loaded into a scene, the scene published to the platform's accessibility layer, and storage. The modeller, the editor and the lessons use it and nothing above it | | `flutter3d_editor_core` | The headless half of a level editor: the document being changed and undone, the handles a pointer hits, the palette a level builds out of itself, the project a template becomes; `LevelScene`, which turns a level into brush meshes, materials, lights and probes with no Flutter; the seeded level generators; and `LightOptimizer`, which finds fewer lights that light a level the way it was lit. Plain Dart | | `flutter3d_editor_widgets` | Editor controls the modeller and the level editor share instead of each keeping its own copy — `ui-27`'s own package: `SectionLabel`, `NumberField`, `ColorField`, `RangeSliderField`, `EnumField`, `TextureSlotRow`, `TexturePathField`, `ColorSwatchField`, `HintTextBox`/`NumbersRow`, `FieldRow` and `EditorWidgetsTheme` so far | @@ -2688,7 +2689,7 @@ storage. |---|---| | Style | `dart format` | | Analysis | `flutter analyze` clean across the workspace, no warnings | -| Unit tests | **10786 tests** across 41 packages and 10 applications | +| Unit tests | **10786 tests** across 42 packages and 10 applications | | Structure rules | 35, `dart run tool/structure.dart`, the first CI step | | CI | GitHub Actions over `tool/ci.sh`, on `ubuntu-latest`, with no graphics card | @@ -3703,9 +3704,10 @@ what went out at 0.4.2. **The order, used on the day**, is set by the dependency graph: 1. `flutter3d_hardware`, `flutter3d_shaders`, `flutter3d_samples`, - `flutter3d_audio`, `flutter3d_physics`, `flutter3d_mcp_kit`, + `flutter3d_audio_core`, `flutter3d_physics`, `flutter3d_mcp_kit`, `flutter3d_lti`, `pad_input`, `pointer_lock`, `flame_multiplayer` -2. `flutter3d_conformance`, `flutter3d_core`, `flame_multiplayer_dashwire` +2. `flutter3d_conformance`, `flutter3d_core`, `flutter3d_audio`, + `flame_multiplayer_dashwire` 3. `flutter3d_mesh`, `flutter3d_build`, `flutter3d_particles`, `flutter3d_editor_widgets` 4. `flutter3d`, `flutter3d_model_core` diff --git a/README.md b/README.md index f4f7fd4e7..7986c46b5 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,7 @@ Or one package at a time: (cd packages/flutter3d_physics && dart test) # plain Dart, no Flutter needed ``` -There are 10786 tests across forty-one packages and nine applications. The +There are 10786 tests across forty-two packages and nine applications. The only ones that need a GPU are the Impeller half of the golden set. The other half is rendered by the software backend, which is what makes 78 scenes checkable in a headless run. diff --git a/apps/flutter3d_demo_arcade/pubspec.yaml b/apps/flutter3d_demo_arcade/pubspec.yaml index 00a651032..7912f6063 100644 --- a/apps/flutter3d_demo_arcade/pubspec.yaml +++ b/apps/flutter3d_demo_arcade/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.7.0 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -23,7 +23,7 @@ dependencies: flutter3d_game: ^0.8.0 flame: ^1.38.2 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/apps/flutter3d_demo_dungeon/pubspec.yaml b/apps/flutter3d_demo_dungeon/pubspec.yaml index d058eaa84..766a3f2fe 100644 --- a/apps/flutter3d_demo_dungeon/pubspec.yaml +++ b/apps/flutter3d_demo_dungeon/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.4.0+1 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -42,7 +42,7 @@ dependencies: flutter3d_game_shooter: path: ../../packages/flutter3d_game_shooter - vector_math: ^2.4.3 + vector_math: ^2.2.0 # State management — see the note in `packages/flutter3d_game/pubspec.yaml`. # What goes through it is the screen: loading, pause, settings, the run's # state and what the HUD shows. What does **not** is the sixty-hertz step, diff --git a/apps/flutter3d_demo_platformer/pubspec.yaml b/apps/flutter3d_demo_platformer/pubspec.yaml index 6af20835e..df89ff2f4 100644 --- a/apps/flutter3d_demo_platformer/pubspec.yaml +++ b/apps/flutter3d_demo_platformer/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.4.0+1 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -44,7 +44,7 @@ dependencies: flutter3d_particles: path: ../../packages/flutter3d_particles - vector_math: ^2.4.3 + vector_math: ^2.2.0 # State management — see the note in `packages/flutter3d_game/pubspec.yaml`. # What goes through it is the screen: loading, pause, settings, the run's # state and what the HUD shows. What does **not** is the sixty-hertz step, diff --git a/apps/flutter3d_demo_racing/pubspec.yaml b/apps/flutter3d_demo_racing/pubspec.yaml index 2d0ad311e..1eaf9ecac 100644 --- a/apps/flutter3d_demo_racing/pubspec.yaml +++ b/apps/flutter3d_demo_racing/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.4.0+1 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -53,7 +53,7 @@ dependencies: flutter3d_physics: path: ../../packages/flutter3d_physics - vector_math: ^2.4.3 + vector_math: ^2.2.0 # `net-03`: the second player's input arrives through this rather than # through a controller — see `lib/src/net_race.dart`. diff --git a/apps/flutter3d_demo_river/pubspec.yaml b/apps/flutter3d_demo_river/pubspec.yaml index c580decf7..84a646b5a 100644 --- a/apps/flutter3d_demo_river/pubspec.yaml +++ b/apps/flutter3d_demo_river/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -41,7 +41,7 @@ dependencies: # river is laid out with, so every run flies the same river. flutter3d_sim: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/apps/flutter3d_demo_strategy/pubspec.yaml b/apps/flutter3d_demo_strategy/pubspec.yaml index af90bb732..5b175c24d 100644 --- a/apps/flutter3d_demo_strategy/pubspec.yaml +++ b/apps/flutter3d_demo_strategy/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.5.1 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -22,7 +22,7 @@ dependencies: # a file's imports and its package's dependencies should say the same thing. # - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/apps/flutter3d_editor/pubspec.yaml b/apps/flutter3d_editor/pubspec.yaml index 3fc5c6d14..666af8022 100644 --- a/apps/flutter3d_editor/pubspec.yaml +++ b/apps/flutter3d_editor/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.4.0+1 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -78,7 +78,7 @@ dependencies: # `src/recent_projects.dart`, and both are tested with no plugin registered. file_selector: ^1.1.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 # `TimelineAttachScreen` connects to a running game's VM service to drive # its `RunTimeline` — `rp-02`'s answer to "the editor runs the project", diff --git a/apps/flutter3d_lab_incident/pubspec.yaml b/apps/flutter3d_lab_incident/pubspec.yaml index 577515500..79fc33d37 100644 --- a/apps/flutter3d_lab_incident/pubspec.yaml +++ b/apps/flutter3d_lab_incident/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -30,7 +30,7 @@ dependencies: flutter3d_sim: path: ../../packages/flutter3d_sim - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/apps/flutter3d_lab_pendulum/pubspec.yaml b/apps/flutter3d_lab_pendulum/pubspec.yaml index a3f057568..f65361b61 100644 --- a/apps/flutter3d_lab_pendulum/pubspec.yaml +++ b/apps/flutter3d_lab_pendulum/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -36,7 +36,7 @@ dependencies: flutter3d_sim: path: ../../packages/flutter3d_sim - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/apps/flutter3d_lesson_viewer/pubspec.yaml b/apps/flutter3d_lesson_viewer/pubspec.yaml index 95e965322..6cb832740 100644 --- a/apps/flutter3d_lesson_viewer/pubspec.yaml +++ b/apps/flutter3d_lesson_viewer/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -26,7 +26,7 @@ dependencies: flutter3d_editor_core: path: ../../packages/flutter3d_editor_core - vector_math: ^2.4.3 + vector_math: ^2.2.0 flutter_bloc: ^9.1.1 diff --git a/apps/flutter3d_modeler/pubspec.yaml b/apps/flutter3d_modeler/pubspec.yaml index e072df561..2f1dfd2d6 100644 --- a/apps/flutter3d_modeler/pubspec.yaml +++ b/apps/flutter3d_modeler/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.7.0+1 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -97,7 +97,7 @@ dependencies: # `cloud/server` already hashes uploads with. crypto: ^3.0.7 - vector_math: ^2.4.3 + vector_math: ^2.2.0 # The native half of opening and saving a file. The web half is # `package:web` below — see `lib/src/files/project_files.dart` for why the @@ -123,7 +123,7 @@ dependencies: # `autosaving_test.dart` can drive it through `FakeAsync` at test speed — # `FakeAsync` overrides this package's clock and nothing reads # `DateTime.now()` directly. - clock: ^1.1.3 + clock: ^1.1.2 # Opening the tutorial link (`ui-32n`) in the system browser. Unlike the # file picker above, "open this URL" has no honest ten-line native answer — diff --git a/apps/flutter3d_showcase/pubspec.yaml b/apps/flutter3d_showcase/pubspec.yaml index 135b81e4d..4fdc252ea 100644 --- a/apps/flutter3d_showcase/pubspec.yaml +++ b/apps/flutter3d_showcase/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.8.3+1 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -50,7 +50,7 @@ dependencies: flutter3d_game: path: ../../packages/flutter3d_game - vector_math: ^2.4.3 + vector_math: ^2.2.0 # The links from a page to its guide on the documentation site. url_launcher: ^6.3.0 diff --git a/apps/flutter3d_stereo_lesson_viewer/pubspec.yaml b/apps/flutter3d_stereo_lesson_viewer/pubspec.yaml index 3c6d9dbab..7266efa8e 100644 --- a/apps/flutter3d_stereo_lesson_viewer/pubspec.yaml +++ b/apps/flutter3d_stereo_lesson_viewer/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -31,7 +31,7 @@ dependencies: flutter3d_stereo: path: ../../packages/flutter3d_stereo - vector_math: ^2.4.3 + vector_math: ^2.2.0 flutter_bloc: ^9.1.1 diff --git a/cloud/lti/server/pubspec.yaml b/cloud/lti/server/pubspec.yaml index 6c05fa83d..b1a998941 100644 --- a/cloud/lti/server/pubspec.yaml +++ b/cloud/lti/server/pubspec.yaml @@ -9,7 +9,7 @@ version: 0.1.0 # service, never published, resolving its own lock file. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: shelf: ^1.4.2 diff --git a/packages/flame_flutter3d/example/pubspec.yaml b/packages/flame_flutter3d/example/pubspec.yaml index b109e99bf..223444485 100644 --- a/packages/flame_flutter3d/example/pubspec.yaml +++ b/packages/flame_flutter3d/example/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0+1 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: diff --git a/packages/flame_flutter3d/pubspec.yaml b/packages/flame_flutter3d/pubspec.yaml index 81a6de712..de0a0259c 100644 --- a/packages/flame_flutter3d/pubspec.yaml +++ b/packages/flame_flutter3d/pubspec.yaml @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -52,7 +52,7 @@ dependencies: # `tileMap.map`. Plain Dart and XML, no rendering. tiled: ^0.11.1 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/packages/flame_flutter3d_audio/pubspec.yaml b/packages/flame_flutter3d_audio/pubspec.yaml index 140706afd..437c694a7 100644 --- a/packages/flame_flutter3d_audio/pubspec.yaml +++ b/packages/flame_flutter3d_audio/pubspec.yaml @@ -11,7 +11,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -29,7 +29,7 @@ dependencies: # should not carry either. flutter3d_audio: ^0.8.1 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/packages/flame_multiplayer/pubspec.yaml b/packages/flame_multiplayer/pubspec.yaml index 50839fc58..3cdf00663 100644 --- a/packages/flame_multiplayer/pubspec.yaml +++ b/packages/flame_multiplayer/pubspec.yaml @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dev_dependencies: test: ^1.25.0 diff --git a/packages/flame_multiplayer_dashwire/pubspec.yaml b/packages/flame_multiplayer_dashwire/pubspec.yaml index 8dd498bd4..aed7dcbfa 100644 --- a/packages/flame_multiplayer_dashwire/pubspec.yaml +++ b/packages/flame_multiplayer_dashwire/pubspec.yaml @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # The four modes and the wire they ask for. diff --git a/packages/flutter3d/CHANGELOG.md b/packages/flutter3d/CHANGELOG.md index 90ff97a3f..46b500666 100644 --- a/packages/flutter3d/CHANGELOG.md +++ b/packages/flutter3d/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.3+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.3 * **`ModelWardrobe` puts models on nodes made before they arrived.** A game diff --git a/packages/flutter3d/example/pubspec.yaml b/packages/flutter3d/example/pubspec.yaml index 46f181376..27127151b 100644 --- a/packages/flutter3d/example/pubspec.yaml +++ b/packages/flutter3d/example/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: 'none' resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -62,7 +62,7 @@ dependencies: # Only the golden runner needs it, to insist its output directory is # absolute — a bundled macOS app runs from the filesystem root. path: ^1.9.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 # golden_store_web.dart fetches references over HTTP. web: ^1.1.0 diff --git a/packages/flutter3d/pubspec.yaml b/packages/flutter3d/pubspec.yaml index 7f7031214..b10172b8c 100644 --- a/packages/flutter3d/pubspec.yaml +++ b/packages/flutter3d/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d description: "A 3D engine on Flutter GPU: scene graph, glTF/OBJ/.f3d loading, PBR, shadows, bloom, skinning." -version: 0.8.3 +version: 0.8.3+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -13,7 +13,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -33,7 +33,7 @@ dependencies: # backend exist without touching the engine. flutter3d_hardware: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 # Not `flutter3d_build`. The converter's command is that package's own # `dart run flutter3d_build:convert`; a runtime engine that named it would put diff --git a/packages/flutter3d_app/CHANGELOG.md b/packages/flutter3d_app/CHANGELOG.md index 0305647c7..8fd5c1901 100644 --- a/packages/flutter3d_app/CHANGELOG.md +++ b/packages/flutter3d_app/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.1+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2`, `vector_math` 2.4.3 and `clock` 1.1.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.1 **`SceneSurface` draws more than one view.** `moreViews` are drawn into the diff --git a/packages/flutter3d_app/example/pubspec.yaml b/packages/flutter3d_app/example/pubspec.yaml index 3ed16d00b..22fd3330d 100644 --- a/packages/flutter3d_app/example/pubspec.yaml +++ b/packages/flutter3d_app/example/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0+1 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -21,7 +21,7 @@ dependencies: flutter3d: path: ../../flutter3d - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/packages/flutter3d_app/pubspec.yaml b/packages/flutter3d_app/pubspec.yaml index e73c9bc75..42ae17e0d 100644 --- a/packages/flutter3d_app/pubspec.yaml +++ b/packages/flutter3d_app/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_app description: "What any Flutter application on flutter3d is assembled from: which backend to open and the runtime fallback, the surface a frame reaches Flutter through, widgets drawn in the scene, a level loaded into a scene, and storage." -version: 0.8.1 +version: 0.8.1+1 resolution: workspace repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev @@ -17,7 +17,7 @@ topics: # application needs: the surface, storage, widgets in the scene and level # loading. What they had that only a game needs went to `flutter3d_game`. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -58,11 +58,11 @@ dependencies: # The wall clock `FrameClock.tick` reads. Not a `Stopwatch`: this one is # what `flutter_test` fakes, so a widget test's `pump` advances the frame # clock the way a real frame does. - clock: ^1.1.3 + clock: ^1.1.2 # `Vector3`/`Vector2`/`Matrix4` for `WidgetSurface`'s own placement and UV # math and for the level loader's geometry. - vector_math: ^2.4.3 + vector_math: ^2.2.0 # `localStorage`, which is where a browser build keeps what a user changed. web: ^1.1.0 diff --git a/packages/flutter3d_audio/CHANGELOG.md b/packages/flutter3d_audio/CHANGELOG.md index d381c2105..2b894beb0 100644 --- a/packages/flutter3d_audio/CHANGELOG.md +++ b/packages/flutter3d_audio/CHANGELOG.md @@ -1,3 +1,12 @@ +## 0.8.2 + +**The positional half is `flutter3d_audio_core` now.** `AudioScene`, the +`Mixer` and its buses, `SoundDef`, `SoundBank`, `EngineSound`, the listener and +the attenuation curves moved there unchanged, and this package re-exports +them, so nothing a caller imports changes. What stays here is the SoLoud +backend and `Speakers`. The split lets a package that only names a bus, such +as `flutter3d_game`, leave SoLoud's native build out. + ## 0.8.1 **A sound recorded below 32 kHz plays.** Every source had a low-pass open diff --git a/packages/flutter3d_audio/lib/flutter3d_audio.dart b/packages/flutter3d_audio/lib/flutter3d_audio.dart index 53ca08851..75e978c8c 100644 --- a/packages/flutter3d_audio/lib/flutter3d_audio.dart +++ b/packages/flutter3d_audio/lib/flutter3d_audio.dart @@ -3,15 +3,13 @@ /// The spatialisation — attenuation, panning, occlusion and voice limiting — /// is here; making noise is a backend's job. See [AudioScene] for why the /// geometry is computed in Dart rather than handed to the audio engine. +/// +/// Everything but the SoLoud backend lives in `flutter3d_audio_core` and is +/// re-exported here, so the types are the same whichever package a caller +/// imports them through. library; -export 'src/attenuation.dart'; -export 'src/audio_scene.dart'; -export 'src/backend.dart'; -export 'src/engine_sound.dart'; -export 'src/listener.dart'; -export 'src/mixer.dart'; +export 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; + export 'src/soloud_backend.dart'; -export 'src/sound.dart'; -export 'src/sound_bank.dart'; export 'src/speakers.dart'; diff --git a/packages/flutter3d_audio/lib/src/soloud_backend.dart b/packages/flutter3d_audio/lib/src/soloud_backend.dart index e8fbea0f1..3a50dc035 100644 --- a/packages/flutter3d_audio/lib/src/soloud_backend.dart +++ b/packages/flutter3d_audio/lib/src/soloud_backend.dart @@ -1,8 +1,8 @@ import 'package:flutter/foundation.dart' show debugPrint; import 'package:flutter/services.dart' show rootBundle; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter_soloud/flutter_soloud.dart'; -import 'backend.dart'; import 'cutoff.dart'; /// Plays through SoLoud, flat. diff --git a/packages/flutter3d_audio/lib/src/speakers.dart b/packages/flutter3d_audio/lib/src/speakers.dart index 14b536a9a..6854f7971 100644 --- a/packages/flutter3d_audio/lib/src/speakers.dart +++ b/packages/flutter3d_audio/lib/src/speakers.dart @@ -1,10 +1,8 @@ import 'package:flutter/foundation.dart' show debugPrint; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:vector_math/vector_math.dart'; -import 'audio_scene.dart'; -import 'mixer.dart'; import 'soloud_backend.dart'; -import 'sound_bank.dart'; /// The device a game plays through, opened, or nothing and a game that is /// silent. diff --git a/packages/flutter3d_audio/pubspec.yaml b/packages/flutter3d_audio/pubspec.yaml index febe30fe8..2cc564007 100644 --- a/packages/flutter3d_audio/pubspec.yaml +++ b/packages/flutter3d_audio/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_audio description: "Positional audio for flutter3d: attenuation, panning and voice limiting, with a pluggable backend." -version: 0.8.1 +version: 0.8.2 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -11,15 +11,16 @@ topics: - positional-audio environment: - sdk: ^3.12.2 - flutter: '>=3.47.0' + sdk: ">=3.12.0 <4.0.0" + flutter: '>=3.44.0' resolution: workspace dependencies: flutter: sdk: flutter - vector_math: ^2.4.3 + flutter3d_audio_core: ^0.8.0 + vector_math: ^2.2.0 flutter_soloud: ^5.1.2 dev_dependencies: diff --git a/packages/flutter3d_audio_core/CHANGELOG.md b/packages/flutter3d_audio_core/CHANGELOG.md new file mode 100644 index 000000000..24612a3b2 --- /dev/null +++ b/packages/flutter3d_audio_core/CHANGELOG.md @@ -0,0 +1,14 @@ +## 0.8.0 + +**The half of `flutter3d_audio` that makes no noise.** `AudioScene`, the +`Mixer` and its buses, `SoundDef`, `SoundBank`, `EngineSound`, the listener +and the attenuation curves, with `AudioBackend` as the seam a backend fills. +It is the code `flutter3d_audio` 0.8.1 shipped, moved rather than changed, and +`flutter3d_audio` re-exports all of it, so a type is the same type whichever +package names it. + +It exists so that a package which only names a bus or a sound need not carry +SoLoud. `flutter3d_game` offers volume sliders and nothing else of audio, and +through `flutter3d_audio` it brought `flutter_soloud`, whose native build asks +for `hooks` 2.2, which needs a newer `meta` than Flutter 3.44 pins: a game on +Flutter 3.44 could not depend on it at all. diff --git a/packages/flutter3d_audio_core/LICENSE b/packages/flutter3d_audio_core/LICENSE new file mode 100644 index 000000000..c602d8d40 --- /dev/null +++ b/packages/flutter3d_audio_core/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Dmitrii Zolotov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/flutter3d_audio_core/README.md b/packages/flutter3d_audio_core/README.md new file mode 100644 index 000000000..973139ec7 --- /dev/null +++ b/packages/flutter3d_audio_core/README.md @@ -0,0 +1,15 @@ +# flutter3d_audio_core + +Positional audio for flutter3d without a backend: attenuation, panning, +occlusion and voice limiting in `AudioScene`, the buses of a `Mixer`, and the +`SoundDef` and `SoundBank` a game describes its sounds with. `AudioBackend` is +the seam a backend fills. + +Most games want [`flutter3d_audio`](https://pub.dev/packages/flutter3d_audio), +which re-exports this package and adds the SoLoud backend. Depend on this one +directly when a package only names buses, sounds or a scene and should not +carry native audio code: `flutter3d_game`'s settings panel is the case it was +split out for. + +The design notes, why the geometry is computed in Dart and not in SoLoud's 3D +layer, are in `flutter3d_audio`'s README. diff --git a/packages/flutter3d_audio_core/analysis_options.yaml b/packages/flutter3d_audio_core/analysis_options.yaml new file mode 100644 index 000000000..0fdfb4706 --- /dev/null +++ b/packages/flutter3d_audio_core/analysis_options.yaml @@ -0,0 +1,11 @@ +include: ../../analysis_options.yaml + +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** diff --git a/packages/flutter3d_audio_core/lib/flutter3d_audio_core.dart b/packages/flutter3d_audio_core/lib/flutter3d_audio_core.dart new file mode 100644 index 000000000..aee1bbfa0 --- /dev/null +++ b/packages/flutter3d_audio_core/lib/flutter3d_audio_core.dart @@ -0,0 +1,17 @@ +/// Positional audio for flutter3d, without a backend. +/// +/// The spatialisation — attenuation, panning, occlusion and voice limiting — +/// and the mixer's buses, with [AudioBackend] as the seam a backend fills. +/// `flutter3d_audio` re-exports all of it and adds the SoLoud backend; a +/// package that only names buses, sounds or a scene depends on this one and +/// carries no native audio code. +library; + +export 'src/attenuation.dart'; +export 'src/audio_scene.dart'; +export 'src/backend.dart'; +export 'src/engine_sound.dart'; +export 'src/listener.dart'; +export 'src/mixer.dart'; +export 'src/sound.dart'; +export 'src/sound_bank.dart'; diff --git a/packages/flutter3d_audio/lib/src/attenuation.dart b/packages/flutter3d_audio_core/lib/src/attenuation.dart similarity index 100% rename from packages/flutter3d_audio/lib/src/attenuation.dart rename to packages/flutter3d_audio_core/lib/src/attenuation.dart diff --git a/packages/flutter3d_audio/lib/src/audio_scene.dart b/packages/flutter3d_audio_core/lib/src/audio_scene.dart similarity index 100% rename from packages/flutter3d_audio/lib/src/audio_scene.dart rename to packages/flutter3d_audio_core/lib/src/audio_scene.dart diff --git a/packages/flutter3d_audio/lib/src/backend.dart b/packages/flutter3d_audio_core/lib/src/backend.dart similarity index 100% rename from packages/flutter3d_audio/lib/src/backend.dart rename to packages/flutter3d_audio_core/lib/src/backend.dart diff --git a/packages/flutter3d_audio/lib/src/engine_sound.dart b/packages/flutter3d_audio_core/lib/src/engine_sound.dart similarity index 100% rename from packages/flutter3d_audio/lib/src/engine_sound.dart rename to packages/flutter3d_audio_core/lib/src/engine_sound.dart diff --git a/packages/flutter3d_audio/lib/src/listener.dart b/packages/flutter3d_audio_core/lib/src/listener.dart similarity index 100% rename from packages/flutter3d_audio/lib/src/listener.dart rename to packages/flutter3d_audio_core/lib/src/listener.dart diff --git a/packages/flutter3d_audio/lib/src/mixer.dart b/packages/flutter3d_audio_core/lib/src/mixer.dart similarity index 100% rename from packages/flutter3d_audio/lib/src/mixer.dart rename to packages/flutter3d_audio_core/lib/src/mixer.dart diff --git a/packages/flutter3d_audio/lib/src/sound.dart b/packages/flutter3d_audio_core/lib/src/sound.dart similarity index 100% rename from packages/flutter3d_audio/lib/src/sound.dart rename to packages/flutter3d_audio_core/lib/src/sound.dart diff --git a/packages/flutter3d_audio/lib/src/sound_bank.dart b/packages/flutter3d_audio_core/lib/src/sound_bank.dart similarity index 100% rename from packages/flutter3d_audio/lib/src/sound_bank.dart rename to packages/flutter3d_audio_core/lib/src/sound_bank.dart diff --git a/packages/flutter3d_audio_core/pubspec.yaml b/packages/flutter3d_audio_core/pubspec.yaml new file mode 100644 index 000000000..6705ba54a --- /dev/null +++ b/packages/flutter3d_audio_core/pubspec.yaml @@ -0,0 +1,28 @@ +name: flutter3d_audio_core +description: "Positional audio for flutter3d without a backend: attenuation, panning, occlusion, voice limiting and the mixer's buses." +version: 0.8.0 +repository: https://github.com/pleiondev/flutter3d +homepage: https://flutter3d.pleion.dev +issue_tracker: https://github.com/pleiondev/flutter3d/issues +topics: + - audio + - sound + - game-development + - positional-audio + +environment: + sdk: ">=3.12.0 <4.0.0" + flutter: '>=3.44.0' + +resolution: workspace + +dependencies: + flutter: + sdk: flutter + vector_math: ^2.2.0 + +dev_dependencies: + + flutter_test: + sdk: flutter + flutter_lints: ^6.0.0 diff --git a/packages/flutter3d_audio/test/audio_scene_test.dart b/packages/flutter3d_audio_core/test/audio_scene_test.dart similarity index 99% rename from packages/flutter3d_audio/test/audio_scene_test.dart rename to packages/flutter3d_audio_core/test/audio_scene_test.dart index 6c6a9edf2..d0ad4af80 100644 --- a/packages/flutter3d_audio/test/audio_scene_test.dart +++ b/packages/flutter3d_audio_core/test/audio_scene_test.dart @@ -1,6 +1,6 @@ import 'dart:math' as math; -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:vector_math/vector_math.dart'; diff --git a/packages/flutter3d_audio/test/engine_sound_test.dart b/packages/flutter3d_audio_core/test/engine_sound_test.dart similarity index 98% rename from packages/flutter3d_audio/test/engine_sound_test.dart rename to packages/flutter3d_audio_core/test/engine_sound_test.dart index 06e244953..c4e45775e 100644 --- a/packages/flutter3d_audio/test/engine_sound_test.dart +++ b/packages/flutter3d_audio_core/test/engine_sound_test.dart @@ -1,4 +1,4 @@ -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:vector_math/vector_math.dart'; diff --git a/packages/flutter3d_audio/test/listener_test.dart b/packages/flutter3d_audio_core/test/listener_test.dart similarity index 96% rename from packages/flutter3d_audio/test/listener_test.dart rename to packages/flutter3d_audio_core/test/listener_test.dart index 9e8bdcfec..70623755f 100644 --- a/packages/flutter3d_audio/test/listener_test.dart +++ b/packages/flutter3d_audio_core/test/listener_test.dart @@ -3,7 +3,7 @@ library; import 'dart:math' as math; -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:vector_math/vector_math.dart'; diff --git a/packages/flutter3d_audio/test/mixer_test.dart b/packages/flutter3d_audio_core/test/mixer_test.dart similarity index 98% rename from packages/flutter3d_audio/test/mixer_test.dart rename to packages/flutter3d_audio_core/test/mixer_test.dart index dbe41d9e2..7a87cf921 100644 --- a/packages/flutter3d_audio/test/mixer_test.dart +++ b/packages/flutter3d_audio_core/test/mixer_test.dart @@ -5,7 +5,7 @@ library; import 'dart:convert'; -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:vector_math/vector_math.dart'; diff --git a/packages/flutter3d_audio/test/occlusion_test.dart b/packages/flutter3d_audio_core/test/occlusion_test.dart similarity index 97% rename from packages/flutter3d_audio/test/occlusion_test.dart rename to packages/flutter3d_audio_core/test/occlusion_test.dart index 92b9bbdae..60029730a 100644 --- a/packages/flutter3d_audio/test/occlusion_test.dart +++ b/packages/flutter3d_audio_core/test/occlusion_test.dart @@ -8,7 +8,7 @@ /// second is the half a wall used to be missing. library; -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:vector_math/vector_math.dart'; diff --git a/packages/flutter3d_audio/test/sound_bank_test.dart b/packages/flutter3d_audio_core/test/sound_bank_test.dart similarity index 97% rename from packages/flutter3d_audio/test/sound_bank_test.dart rename to packages/flutter3d_audio_core/test/sound_bank_test.dart index b717431db..6984da6ac 100644 --- a/packages/flutter3d_audio/test/sound_bank_test.dart +++ b/packages/flutter3d_audio_core/test/sound_bank_test.dart @@ -8,7 +8,7 @@ /// hands back an emitter exactly like one that was. library; -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter_test/flutter_test.dart'; const SoundDef _step = SoundDef(name: 'step', asset: 'a/step.wav'); diff --git a/packages/flutter3d_build/pubspec.yaml b/packages/flutter3d_build/pubspec.yaml index 6c1b4005f..5fcd8ef9c 100644 --- a/packages/flutter3d_build/pubspec.yaml +++ b/packages/flutter3d_build/pubspec.yaml @@ -11,7 +11,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # The decoders a hook converts through — glTF/OBJ/`.f3d` in, `.f3d` out @@ -29,7 +29,7 @@ dependencies: # atlases a model carries are the same bytes on every machine that converts # it — the device is plain Dart, which is what a build hook needs. flutter3d_cpu: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 # `N7`'s per-class texture budgets: the same `TextureBudget` presets and # box resize `makeGameReady` fits a project with, so a phone's file carries diff --git a/packages/flutter3d_conformance/pubspec.yaml b/packages/flutter3d_conformance/pubspec.yaml index ce545920b..b5b04a3cb 100644 --- a/packages/flutter3d_conformance/pubspec.yaml +++ b/packages/flutter3d_conformance/pubspec.yaml @@ -14,7 +14,7 @@ topics: - conformance environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # A test library in `dependencies` rather than `dev_dependencies`, which is @@ -22,7 +22,7 @@ dependencies: # them take it as a dev dependency of their own. test: ^1.25.0 flutter3d_hardware: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 # The list of entry points a bundle must answer to. flutter3d_shaders: ^0.8.1 diff --git a/packages/flutter3d_core/CHANGELOG.md b/packages/flutter3d_core/CHANGELOG.md index e58ed2a77..5f48b852f 100644 --- a/packages/flutter3d_core/CHANGELOG.md +++ b/packages/flutter3d_core/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.3+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.3 - **`Renderer.renderPost` gives its bloom chain back.** Its pooled targets diff --git a/packages/flutter3d_core/pubspec.yaml b/packages/flutter3d_core/pubspec.yaml index a98fc1430..31d9944ee 100644 --- a/packages/flutter3d_core/pubspec.yaml +++ b/packages/flutter3d_core/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_core description: "The engine's rendering core with no Flutter SDK behind it: scene graph, animation, the render graph, and model/material loading down to the one call each still needs an injected reader or decoder for." -version: 0.8.3 +version: 0.8.3+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -11,14 +11,14 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter3d_hardware: ^0.8.0 # The typed uniform blocks the renderer fills, generated from the compiled # bundle's own layout — `H1`. Pure Dart: the shader sources and two tables. flutter3d_shaders: ^0.8.2 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: test: ^1.25.0 diff --git a/packages/flutter3d_cpu/CHANGELOG.md b/packages/flutter3d_cpu/CHANGELOG.md index dd68ed307..6715f67a3 100644 --- a/packages/flutter3d_cpu/CHANGELOG.md +++ b/packages/flutter3d_cpu/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.2+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.2 **The PCSS receiver-plane bias, as the GLSL has it.** The directional diff --git a/packages/flutter3d_cpu/pubspec.yaml b/packages/flutter3d_cpu/pubspec.yaml index 0688e9d5f..3378438f8 100644 --- a/packages/flutter3d_cpu/pubspec.yaml +++ b/packages/flutter3d_cpu/pubspec.yaml @@ -2,7 +2,7 @@ name: flutter3d_cpu description: >- A software backend for flutter3d_hardware: no GPU, no shading language, and therefore the sharpest test of whether the interface is an interface. -version: 0.8.2 +version: 0.8.2+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -13,7 +13,7 @@ topics: - testing environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter3d_hardware: ^0.8.0 @@ -21,7 +21,7 @@ dependencies: # the library hands every stage as `ShaderHandle.kept` and the encoder # refuses binds against — `gfx-92n`. A table of names and nothing else. flutter3d_shaders: ^0.8.2 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: test: ^1.25.0 diff --git a/packages/flutter3d_editor_core/CHANGELOG.md b/packages/flutter3d_editor_core/CHANGELOG.md index b264f8e93..0ed464793 100644 --- a/packages/flutter3d_editor_core/CHANGELOG.md +++ b/packages/flutter3d_editor_core/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.0+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.0 **Breaking for an exhaustive `switch` over `EditorCommand`: `SetLights` is a diff --git a/packages/flutter3d_editor_core/pubspec.yaml b/packages/flutter3d_editor_core/pubspec.yaml index fabefa1e8..b6d79cd57 100644 --- a/packages/flutter3d_editor_core/pubspec.yaml +++ b/packages/flutter3d_editor_core/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_editor_core description: "The headless half of a level editor: a document you can nudge, undo and write back, the handles a pointer hits, and the project a template turns into." -version: 0.8.0 +version: 0.8.0+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # The document and everything it is made of: `Level`, `Brush`, `LevelLight`, @@ -32,7 +32,7 @@ dependencies: # in. Plain Dart like everything else here, so the boundary below holds. flutter3d_cpu: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: test: ^1.25.0 diff --git a/packages/flutter3d_editor_mcp/pubspec.yaml b/packages/flutter3d_editor_mcp/pubspec.yaml index 42e7335df..23442b6c6 100644 --- a/packages/flutter3d_editor_mcp/pubspec.yaml +++ b/packages/flutter3d_editor_mcp/pubspec.yaml @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # The document and everything you can do to one. `EditorCommand` is what makes @@ -45,7 +45,7 @@ dependencies: # every server here shares. flutter3d_mcp_kit: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: test: ^1.25.0 diff --git a/packages/flutter3d_editor_widgets/pubspec.yaml b/packages/flutter3d_editor_widgets/pubspec.yaml index 1d04a7975..9de5b7092 100644 --- a/packages/flutter3d_editor_widgets/pubspec.yaml +++ b/packages/flutter3d_editor_widgets/pubspec.yaml @@ -11,7 +11,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: diff --git a/packages/flutter3d_game/CHANGELOG.md b/packages/flutter3d_game/CHANGELOG.md index 7466d2686..b7c2b2121 100644 --- a/packages/flutter3d_game/CHANGELOG.md +++ b/packages/flutter3d_game/CHANGELOG.md @@ -1,3 +1,17 @@ +## 0.8.1 + +**Volumes without SoLoud.** The settings panel names buses and nothing else of +audio, and it reached them through `flutter3d_audio`, which brought +`flutter_soloud` and a native build that needs a newer Flutter than 3.44. It +now depends on `flutter3d_audio_core`, the same `Mixer`, `AudioBus` and +`SoundDef` without a backend; `flutter3d_audio` re-exports them, so a game +that plays sound passes its mixer in as before. + +**Either `flutter_bloc`.** It takes 8.1.2 as well as 9, which the settings +cubit compiles and passes its tests against, so a workspace that still has a +package on 8 resolves. The Dart and `vector_math` constraints are relaxed as +for the rest of the stack. + ## 0.8.0 **Moves with the stack to 0.8.0**, whose `flutter3d_hardware` changes diff --git a/packages/flutter3d_game/example/pubspec.yaml b/packages/flutter3d_game/example/pubspec.yaml index 877d3894b..6c34040bb 100644 --- a/packages/flutter3d_game/example/pubspec.yaml +++ b/packages/flutter3d_game/example/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.4.0+1 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -32,7 +32,7 @@ dependencies: flutter3d_sim: path: ../../flutter3d_sim - vector_math: ^2.4.3 + vector_math: ^2.2.0 # Screen state — loading, the error panel — kept in a Cubit rather than # spread across `setState` calls. See `RunSession`'s doc comment in diff --git a/packages/flutter3d_game/lib/src/screens/settings_overlay.dart b/packages/flutter3d_game/lib/src/screens/settings_overlay.dart index 2d2063318..97cf9c5ad 100644 --- a/packages/flutter3d_game/lib/src/screens/settings_overlay.dart +++ b/packages/flutter3d_game/lib/src/screens/settings_overlay.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter3d_sim/flutter3d_sim.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/packages/flutter3d_game/lib/src/screens/settings_panel.dart b/packages/flutter3d_game/lib/src/screens/settings_panel.dart index 61cb89f1a..cc68c0c66 100644 --- a/packages/flutter3d_game/lib/src/screens/settings_panel.dart +++ b/packages/flutter3d_game/lib/src/screens/settings_panel.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter3d_sim/flutter3d_sim.dart'; import 'package:pad_input/pad_input.dart' show Deadzone; diff --git a/packages/flutter3d_game/lib/src/screens/volumes.dart b/packages/flutter3d_game/lib/src/screens/volumes.dart index cdd94da6a..38a7dd14e 100644 --- a/packages/flutter3d_game/lib/src/screens/volumes.dart +++ b/packages/flutter3d_game/lib/src/screens/volumes.dart @@ -1,4 +1,4 @@ -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import '../config/game_config.dart'; /// The buses a player is offered, in the order the panel shows them. diff --git a/packages/flutter3d_game/pubspec.yaml b/packages/flutter3d_game/pubspec.yaml index 4611bde1d..bf8be4a67 100644 --- a/packages/flutter3d_game/pubspec.yaml +++ b/packages/flutter3d_game/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_game description: "What a game on flutter3d adds to an application: touch, keyboard, mouse and gamepad input, the run being played, the screens that are not the game, and the actors and fixtures a simulation moves, drawn." -version: 0.8.0 +version: 0.8.1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -42,7 +42,11 @@ dependencies: flutter3d_sim: ^0.8.0 # Volumes are a mixer's, and the settings panel is where they are turned. - flutter3d_audio: ^0.8.0 + # The core and not `flutter3d_audio`: the panel names buses and nothing + # else, and the SoLoud backend would bring a native build that Flutter 3.44 + # cannot resolve. A game that plays sound depends on `flutter3d_audio` + # itself, whose types are these. + flutter3d_audio_core: ^0.8.0 # A torch's flame, which is the particles its light is measured from. flutter3d_particles: ^0.8.0 @@ -56,9 +60,9 @@ dependencies: # The exception to `ARCHITECTURE.md` §11.3, and a narrow one: pure Dart, no FFI, # so it does not break the web build — which is what that section's argument # is actually about. - flutter_bloc: ^9.1.1 + flutter_bloc: ">=8.1.2 <10.0.0" - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/packages/flutter3d_game/test/settings_overlay_test.dart b/packages/flutter3d_game/test/settings_overlay_test.dart index 795a5ebc6..480ef0856 100644 --- a/packages/flutter3d_game/test/settings_overlay_test.dart +++ b/packages/flutter3d_game/test/settings_overlay_test.dart @@ -9,7 +9,7 @@ library; import 'package:flutter/material.dart'; import 'package:flutter3d_app/flutter3d_app.dart'; -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter3d_game/flutter3d_game.dart'; import 'package:flutter3d_sim/flutter3d_sim.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/packages/flutter3d_game/test/settings_panel_test.dart b/packages/flutter3d_game/test/settings_panel_test.dart index c9a669c1a..23adf0b5f 100644 --- a/packages/flutter3d_game/test/settings_panel_test.dart +++ b/packages/flutter3d_game/test/settings_panel_test.dart @@ -15,7 +15,7 @@ library; import 'package:flutter/material.dart'; -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter3d_game/flutter3d_game.dart'; import 'package:flutter3d_sim/flutter3d_sim.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/packages/flutter3d_game/test/volumes_test.dart b/packages/flutter3d_game/test/volumes_test.dart index df459c112..e5c366236 100644 --- a/packages/flutter3d_game/test/volumes_test.dart +++ b/packages/flutter3d_game/test/volumes_test.dart @@ -10,7 +10,7 @@ /// reaches for first was the one that did not exist. library; -import 'package:flutter3d_audio/flutter3d_audio.dart'; +import 'package:flutter3d_audio_core/flutter3d_audio_core.dart'; import 'package:flutter3d_game/flutter3d_game.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/packages/flutter3d_game_platformer/CHANGELOG.md b/packages/flutter3d_game_platformer/CHANGELOG.md index 7de3876c8..605e7365f 100644 --- a/packages/flutter3d_game_platformer/CHANGELOG.md +++ b/packages/flutter3d_game_platformer/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.0+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.0 **Moves with the stack to 0.8.0**, whose `flutter3d_hardware` changes diff --git a/packages/flutter3d_game_platformer/pubspec.yaml b/packages/flutter3d_game_platformer/pubspec.yaml index 35e7ff6b6..26050e929 100644 --- a/packages/flutter3d_game_platformer/pubspec.yaml +++ b/packages/flutter3d_game_platformer/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_game_platformer description: "A second genre: a runner who jumps twice and dashes, things to collect, hazards to fall into, and checkpoints to come back at." -version: 0.8.0 +version: 0.8.0+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -23,7 +23,7 @@ dependencies: # the version underneath has it. flutter3d_sim: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/packages/flutter3d_game_racing/pubspec.yaml b/packages/flutter3d_game_racing/pubspec.yaml index 0b6915138..c18d1da57 100644 --- a/packages/flutter3d_game_racing/pubspec.yaml +++ b/packages/flutter3d_game_racing/pubspec.yaml @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -27,7 +27,7 @@ dependencies: # test names. The road has to become triangles somewhere. flutter3d: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/packages/flutter3d_game_shooter/pubspec.yaml b/packages/flutter3d_game_shooter/pubspec.yaml index b5496a825..f3f76062c 100644 --- a/packages/flutter3d_game_shooter/pubspec.yaml +++ b/packages/flutter3d_game_shooter/pubspec.yaml @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -29,7 +29,7 @@ dependencies: # library imports nothing from it, and a test holds that. flutter3d: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/packages/flutter3d_game_strategy/pubspec.yaml b/packages/flutter3d_game_strategy/pubspec.yaml index 8b2d8c9e1..3ab2492f6 100644 --- a/packages/flutter3d_game_strategy/pubspec.yaml +++ b/packages/flutter3d_game_strategy/pubspec.yaml @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -32,7 +32,7 @@ dependencies: flutter3d: ^0.8.0 flutter3d_app: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/packages/flutter3d_hardware/CHANGELOG.md b/packages/flutter3d_hardware/CHANGELOG.md index fb2d8c742..36c03afec 100644 --- a/packages/flutter3d_hardware/CHANGELOG.md +++ b/packages/flutter3d_hardware/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.0+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.0 **Breaking: `PassEncoder.bindTexture` returns `bool`.** False when the stage diff --git a/packages/flutter3d_hardware/pubspec.yaml b/packages/flutter3d_hardware/pubspec.yaml index 336b9fd33..1209df4b0 100644 --- a/packages/flutter3d_hardware/pubspec.yaml +++ b/packages/flutter3d_hardware/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_hardware description: "The graphics vocabulary flutter3d is written against: formats, handles, a command encoder and a device. Names no graphics API. No Flutter, no renderer." -version: 0.8.0 +version: 0.8.0+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -23,10 +23,10 @@ resolution: workspace # naming the framework it is otherwise silent about. `present` moved to # `presentFrame` in `flutter3d_app`, and nothing here names Flutter any more. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: test: ^1.25.0 diff --git a/packages/flutter3d_impeller/CHANGELOG.md b/packages/flutter3d_impeller/CHANGELOG.md index 4dcfdea9c..4a5e62a5b 100644 --- a/packages/flutter3d_impeller/CHANGELOG.md +++ b/packages/flutter3d_impeller/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.1+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.1 **The bundle carries the contact shadow resolve stage**, which diff --git a/packages/flutter3d_impeller/pubspec.yaml b/packages/flutter3d_impeller/pubspec.yaml index fdd03c7b0..aafd4b8db 100644 --- a/packages/flutter3d_impeller/pubspec.yaml +++ b/packages/flutter3d_impeller/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_impeller description: "The flutter_gpu backend for flutter3d: one implementation of flutter3d_hardware, and the only place in the stack that names a graphics API." -version: 0.8.1 +version: 0.8.1+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -16,7 +16,7 @@ resolution: workspace # and it is the property a second backend needs: writing one means implementing # `flutter3d_hardware`, not understanding the renderer. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" # Declared rather than left to pub.dev's detector, because the answer is a # design fact: Flutter GPU is Metal and Vulkan, so this backend runs on every @@ -42,7 +42,7 @@ dependencies: # Named directly because the HAL's own signatures do: a clear value and a # blend constant are `Vector4`, and an implementation of `PassEncoder` cannot # spell them without this. - vector_math: ^2.4.3 + vector_math: ^2.2.0 # `ap-06`: `hook/build.dart`'s own contract (`package:hooks`, the same # half `ap-00`'s spike proved stable, not `package:data_assets`), and a diff --git a/packages/flutter3d_lab/pubspec.yaml b/packages/flutter3d_lab/pubspec.yaml index f3e64c879..c692db2a4 100644 --- a/packages/flutter3d_lab/pubspec.yaml +++ b/packages/flutter3d_lab/pubspec.yaml @@ -11,7 +11,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # The stepping and recording primitives a lab experiment is built on: diff --git a/packages/flutter3d_lti/pubspec.yaml b/packages/flutter3d_lti/pubspec.yaml index 234f137ac..969ccffc9 100644 --- a/packages/flutter3d_lti/pubspec.yaml +++ b/packages/flutter3d_lti/pubspec.yaml @@ -11,7 +11,7 @@ topics: - education environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # RS256 verification of a platform's `id_token` against its JWKS, and diff --git a/packages/flutter3d_mcp_kit/pubspec.yaml b/packages/flutter3d_mcp_kit/pubspec.yaml index e999f9bb4..276368e49 100644 --- a/packages/flutter3d_mcp_kit/pubspec.yaml +++ b/packages/flutter3d_mcp_kit/pubspec.yaml @@ -11,7 +11,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # The protocol, pinned to one minor for the reason every server here gives: diff --git a/packages/flutter3d_mesh/pubspec.yaml b/packages/flutter3d_mesh/pubspec.yaml index 981abeb54..828f1739f 100644 --- a/packages/flutter3d_mesh/pubspec.yaml +++ b/packages/flutter3d_mesh/pubspec.yaml @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # What an edited mesh turns into and comes from: `MeshData`, `VertexLayout`, @@ -22,7 +22,7 @@ dependencies: # library; the package is plain Dart, so this one stays that way. flutter3d_core: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: test: ^1.25.0 diff --git a/packages/flutter3d_model_core/pubspec.yaml b/packages/flutter3d_model_core/pubspec.yaml index c05d78484..353dffeef 100644 --- a/packages/flutter3d_model_core/pubspec.yaml +++ b/packages/flutter3d_model_core/pubspec.yaml @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # The mesh being edited, with the topology still in it. @@ -45,7 +45,7 @@ dependencies: # through `flutter3d_core`, already a dependency here, and name no Flutter. flutter3d_particles: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: test: ^1.25.0 diff --git a/packages/flutter3d_model_mcp/pubspec.yaml b/packages/flutter3d_model_mcp/pubspec.yaml index cc52788ad..eccc56f1a 100644 --- a/packages/flutter3d_model_mcp/pubspec.yaml +++ b/packages/flutter3d_model_mcp/pubspec.yaml @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # The project and everything you can do to one. What keeps this package small @@ -36,7 +36,7 @@ dependencies: # `paintWeights`, `bakeIk`) build these directly from a tool call's own # JSON, rather than only using them in a test the way this package once # did. - vector_math: ^2.4.3 + vector_math: ^2.2.0 # The protocol, pinned to one minor for the reason `flutter3d_editor_mcp` # gives: its own README opens with "still experimental and likely to evolve diff --git a/packages/flutter3d_net/pubspec.yaml b/packages/flutter3d_net/pubspec.yaml index 170b21dde..82e071c8d 100644 --- a/packages/flutter3d_net/pubspec.yaml +++ b/packages/flutter3d_net/pubspec.yaml @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # `PeerWire`, which `NetTransportWire` makes any transport here into: the diff --git a/packages/flutter3d_net_webrtc/pubspec.yaml b/packages/flutter3d_net_webrtc/pubspec.yaml index e7166e10f..050efe295 100644 --- a/packages/flutter3d_net_webrtc/pubspec.yaml +++ b/packages/flutter3d_net_webrtc/pubspec.yaml @@ -12,8 +12,8 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 - flutter: '>=3.47.0' + sdk: ">=3.12.0 <4.0.0" + flutter: '>=3.44.0' dependencies: flutter: diff --git a/packages/flutter3d_particles/CHANGELOG.md b/packages/flutter3d_particles/CHANGELOG.md index 5928bad77..170b3f3c9 100644 --- a/packages/flutter3d_particles/CHANGELOG.md +++ b/packages/flutter3d_particles/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.1+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.1 * **A mesh particle can take light away.** `MeshParticleContributor` takes a diff --git a/packages/flutter3d_particles/pubspec.yaml b/packages/flutter3d_particles/pubspec.yaml index 6cf771bb7..4e46bbc37 100644 --- a/packages/flutter3d_particles/pubspec.yaml +++ b/packages/flutter3d_particles/pubspec.yaml @@ -3,7 +3,7 @@ description: >- A pooled CPU particle simulation for flutter3d, and the contributor that draws it. Its particles can be a light source, which is the part no other engine on this platform has. -version: 0.8.1 +version: 0.8.1+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -14,7 +14,7 @@ topics: - effects environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # For PassContributor and ContributorFrame — a contributor is defined by the @@ -23,7 +23,7 @@ dependencies: # a pass encoder, never a widget. flutter3d_core: ^0.8.0 flutter3d_hardware: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: diff --git a/packages/flutter3d_physics/CHANGELOG.md b/packages/flutter3d_physics/CHANGELOG.md index 32fed9676..7a4e76f4e 100644 --- a/packages/flutter3d_physics/CHANGELOG.md +++ b/packages/flutter3d_physics/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.2+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.2 * **A ball no longer shows through the cloth draped over it.** A sphere and diff --git a/packages/flutter3d_physics/pubspec.yaml b/packages/flutter3d_physics/pubspec.yaml index 0385a3b2f..b24693503 100644 --- a/packages/flutter3d_physics/pubspec.yaml +++ b/packages/flutter3d_physics/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_physics description: "Collision shapes, a broadphase, queries, a character controller and an XPBD cloth solver. No Flutter, no renderer, no game." -version: 0.8.2 +version: 0.8.2+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -12,10 +12,10 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: diff --git a/packages/flutter3d_samples/pubspec.yaml b/packages/flutter3d_samples/pubspec.yaml index ded7ff0ac..7e04abb04 100644 --- a/packages/flutter3d_samples/pubspec.yaml +++ b/packages/flutter3d_samples/pubspec.yaml @@ -31,7 +31,7 @@ resolution: workspace # The models are not ours and keep their own terms — see `assets/ATTRIBUTION.md`, # which travels with them. Everything there is CC0 or public domain. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # For `flutter.assets` below, and for nothing else: there is no Dart here diff --git a/packages/flutter3d_shaders/CHANGELOG.md b/packages/flutter3d_shaders/CHANGELOG.md index b8aeed17c..db4f338c5 100644 --- a/packages/flutter3d_shaders/CHANGELOG.md +++ b/packages/flutter3d_shaders/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.2+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2`, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.2 **A PCSS tap allows for the receiver's own slope.** `ShadowFactor` in diff --git a/packages/flutter3d_shaders/pubspec.yaml b/packages/flutter3d_shaders/pubspec.yaml index 85b85b890..3f3001eb5 100644 --- a/packages/flutter3d_shaders/pubspec.yaml +++ b/packages/flutter3d_shaders/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_shaders description: The engine's shader sources, in GLSL, for every backend to compile. -version: 0.8.2 +version: 0.8.2+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -30,7 +30,7 @@ topics: # every backend's own `conformance_test.dart` — resolved the Flutter SDK # through for no reason at all. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # For `typed_blocks.dart` alone, whose generated classes extend diff --git a/packages/flutter3d_sim/CHANGELOG.md b/packages/flutter3d_sim/CHANGELOG.md index 09c73a462..3317e7358 100644 --- a/packages/flutter3d_sim/CHANGELOG.md +++ b/packages/flutter3d_sim/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.1+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.1 **Several things to chase, and one sweep to chase them by.** diff --git a/packages/flutter3d_sim/pubspec.yaml b/packages/flutter3d_sim/pubspec.yaml index 6d85e0006..fce1e8b56 100644 --- a/packages/flutter3d_sim/pubspec.yaml +++ b/packages/flutter3d_sim/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_sim description: "The simulation: a fixed step, an ECS, levels, navigation, saves and replays. Plain Dart, so it runs on a server." -version: 0.8.1 +version: 0.8.1+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -12,7 +12,7 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # Collision, queries and the character controller — already plain Dart, and @@ -23,7 +23,7 @@ dependencies: # first without the second. flutter3d_physics: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: test: ^1.25.0 diff --git a/packages/flutter3d_sim_mcp/pubspec.yaml b/packages/flutter3d_sim_mcp/pubspec.yaml index 6a5b35fe8..5511d730b 100644 --- a/packages/flutter3d_sim_mcp/pubspec.yaml +++ b/packages/flutter3d_sim_mcp/pubspec.yaml @@ -12,8 +12,8 @@ topics: resolution: workspace environment: - sdk: ^3.12.2 - flutter: '>=3.47.0' + sdk: ">=3.12.0 <4.0.0" + flutter: '>=3.44.0' dependencies: flutter: @@ -36,7 +36,7 @@ dependencies: # every server here shares. flutter3d_mcp_kit: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dart_mcp: ">=0.5.2 <0.6.0" diff --git a/packages/flutter3d_stereo/example/pubspec.yaml b/packages/flutter3d_stereo/example/pubspec.yaml index 8e1262817..d7ccf04d7 100644 --- a/packages/flutter3d_stereo/example/pubspec.yaml +++ b/packages/flutter3d_stereo/example/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -23,7 +23,7 @@ dependencies: flutter3d_stereo: path: ../ - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/packages/flutter3d_stereo/pubspec.yaml b/packages/flutter3d_stereo/pubspec.yaml index 6097eead2..d7d081400 100644 --- a/packages/flutter3d_stereo/pubspec.yaml +++ b/packages/flutter3d_stereo/pubspec.yaml @@ -12,8 +12,8 @@ topics: - game-development environment: - sdk: ^3.12.2 - flutter: '>=3.47.0' + sdk: ">=3.12.0 <4.0.0" + flutter: '>=3.44.0' dependencies: flutter: @@ -33,7 +33,7 @@ dependencies: # `flutter3d_game`. flutter3d_sim: ^0.8.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: diff --git a/packages/flutter3d_testing/pubspec.yaml b/packages/flutter3d_testing/pubspec.yaml index e32616de7..03fa338ac 100644 --- a/packages/flutter3d_testing/pubspec.yaml +++ b/packages/flutter3d_testing/pubspec.yaml @@ -13,8 +13,8 @@ topics: - graphics environment: - sdk: ^3.12.2 - flutter: '>=3.47.0' + sdk: ">=3.12.0 <4.0.0" + flutter: '>=3.44.0' dependencies: flutter: @@ -43,7 +43,7 @@ dependencies: # rather than a rendering one. flutter_test: sdk: flutter - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_lints: ^6.0.0 diff --git a/packages/flutter3d_webgl/CHANGELOG.md b/packages/flutter3d_webgl/CHANGELOG.md index 87a6bb5a3..3072daaa4 100644 --- a/packages/flutter3d_webgl/CHANGELOG.md +++ b/packages/flutter3d_webgl/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.2+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.2 **The generated tables carry the PCSS receiver-plane bias** of diff --git a/packages/flutter3d_webgl/example/pubspec.yaml b/packages/flutter3d_webgl/example/pubspec.yaml index 740355adf..78fbddb15 100644 --- a/packages/flutter3d_webgl/example/pubspec.yaml +++ b/packages/flutter3d_webgl/example/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -43,7 +43,7 @@ dependencies: flutter3d: path: ../../flutter3d - vector_math: ^2.4.3 + vector_math: ^2.2.0 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. diff --git a/packages/flutter3d_webgl/pubspec.yaml b/packages/flutter3d_webgl/pubspec.yaml index 401d4abee..fee5dbadf 100644 --- a/packages/flutter3d_webgl/pubspec.yaml +++ b/packages/flutter3d_webgl/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_webgl description: "A WebGL2 backend for flutter3d: the second implementation of flutter3d_hardware, and the one that tells us whether the HAL is a seam or a description of Impeller." -version: 0.8.2 +version: 0.8.2+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -17,7 +17,7 @@ resolution: workspace # for: writing a backend means implementing `flutter3d_hardware`, not understanding # the renderer. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -32,7 +32,7 @@ dependencies: # the legacy path and are not available under Wasm. web: ^1.1.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: # For `compareFrames` alone, in `cross_backend_test.dart`, which measures this diff --git a/packages/flutter3d_webgpu/CHANGELOG.md b/packages/flutter3d_webgpu/CHANGELOG.md index 186d20f4d..ad3ae5e31 100644 --- a/packages/flutter3d_webgpu/CHANGELOG.md +++ b/packages/flutter3d_webgpu/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.8.2+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and `vector_math` 2.4.3, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.8.2 **The generated tables carry the PCSS receiver-plane bias** of diff --git a/packages/flutter3d_webgpu/pubspec.yaml b/packages/flutter3d_webgpu/pubspec.yaml index 6b3bda8c4..4dbf7bb76 100644 --- a/packages/flutter3d_webgpu/pubspec.yaml +++ b/packages/flutter3d_webgpu/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter3d_webgpu description: "A WebGPU backend for flutter3d: the fourth implementation of flutter3d_hardware, and the first one whose API bakes per-draw state into the pipeline object." -version: 0.8.2 +version: 0.8.2+1 repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev issue_tracker: https://github.com/pleiondev/flutter3d/issues @@ -17,7 +17,7 @@ resolution: workspace # the renderer. That property is what let a spike measure this API's cost to the # contract before a package existed to hold the answer. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -30,7 +30,7 @@ dependencies: # without this — and the encoder is the next thing written here. Adding it # then would mean three parallel branches each editing this file, which is the # merge this package was created early to avoid. - vector_math: ^2.4.3 + vector_math: ^2.2.0 # `stageBindings`: what each of the engine's compiled stages keeps, which # the library hands every stage as `ShaderHandle.kept` and the encoder diff --git a/packages/pad_input/CHANGELOG.md b/packages/pad_input/CHANGELOG.md index 5ab7c8560..52771ff4c 100644 --- a/packages/pad_input/CHANGELOG.md +++ b/packages/pad_input/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.4.3+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and Flutter 3.47.0, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.4.3 * **A second player holds a second controller.** `Gamepad(index: 1)` reads diff --git a/packages/pad_input/example/pubspec.yaml b/packages/pad_input/example/pubspec.yaml index c0fb7579c..5af59d080 100644 --- a/packages/pad_input/example/pubspec.yaml +++ b/packages/pad_input/example/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0 resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: diff --git a/packages/pad_input/pubspec.yaml b/packages/pad_input/pubspec.yaml index 623916a4b..0b33e27e0 100644 --- a/packages/pad_input/pubspec.yaml +++ b/packages/pad_input/pubspec.yaml @@ -1,6 +1,6 @@ name: pad_input description: "Reads a gamepad's sticks, triggers and buttons as a snapshot the caller asks for, with a dead zone applied and no opinion about what any button means." -version: 0.4.3 +version: 0.4.3+1 resolution: workspace repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev @@ -12,8 +12,8 @@ topics: - game-development environment: - sdk: ^3.12.2 - flutter: '>=3.47.0' + sdk: ">=3.12.0 <4.0.0" + flutter: '>=3.44.0' dependencies: flutter: diff --git a/packages/pointer_lock/CHANGELOG.md b/packages/pointer_lock/CHANGELOG.md index 67176338e..17bc53bef 100644 --- a/packages/pointer_lock/CHANGELOG.md +++ b/packages/pointer_lock/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.4.2+1 + +**Resolves on Flutter 3.44 and Dart 3.12.0.** The constraints asked for Dart +`^3.12.2` and Flutter 3.47.0, which were what this repository is built with rather than +what the package needs. A workspace that supports Flutter 3.44, Flame's among +them, could not depend on it. Nothing else changed. + ## 0.4.2 * **The package ships a skill** under `skills/` for an agent that has to diff --git a/packages/pointer_lock/example/pubspec.yaml b/packages/pointer_lock/example/pubspec.yaml index e7abcfe38..8005482fa 100644 --- a/packages/pointer_lock/example/pubspec.yaml +++ b/packages/pointer_lock/example/pubspec.yaml @@ -6,7 +6,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev resolution: workspace environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/packages/pointer_lock/pubspec.yaml b/packages/pointer_lock/pubspec.yaml index d51d98153..06c3a1def 100644 --- a/packages/pointer_lock/pubspec.yaml +++ b/packages/pointer_lock/pubspec.yaml @@ -1,6 +1,6 @@ name: pointer_lock description: "Locks the mouse pointer in place and reports its motion as relative deltas, which Flutter offers on no desktop platform and does not surface in a browser." -version: 0.4.2 +version: 0.4.2+1 resolution: workspace repository: https://github.com/pleiondev/flutter3d homepage: https://flutter3d.pleion.dev @@ -12,8 +12,8 @@ topics: - game-development environment: - sdk: ^3.12.2 - flutter: '>=3.47.0' + sdk: ">=3.12.0 <4.0.0" + flutter: '>=3.44.0' dependencies: flutter: diff --git a/pubspec.lock b/pubspec.lock index ea22f2b93..bae276807 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1079,5 +1079,5 @@ packages: source: hosted version: "3.1.4" sdks: - dart: ">=3.12.2 <4.0.0" - flutter: ">=3.47.0" + dart: ">=3.12.0 <4.0.0" + flutter: ">=3.44.0" diff --git a/pubspec.yaml b/pubspec.yaml index a4de2ba6f..4dbd42d98 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,7 +7,7 @@ publish_to: 'none' # drift apart at the first version bump, and the drift only shows up as an # unbuildable checkout on another machine. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" workspace: - packages/flutter3d @@ -31,6 +31,7 @@ workspace: - packages/flutter3d_webgl/example - packages/flutter3d_webgpu - packages/flutter3d/example + - packages/flutter3d_audio_core - packages/flutter3d_audio - packages/flutter3d_game - packages/flutter3d_game/example diff --git a/site/content/quickstart.md b/site/content/quickstart.md index 0e27d5493..677f2c699 100644 --- a/site/content/quickstart.md +++ b/site/content/quickstart.md @@ -91,7 +91,7 @@ tool/ci.sh # shaders, analyze, every test (cd packages/flutter3d_physics && dart test) # plain Dart, no Flutter needed ``` -There are 10786 tests across 41 packages and twelve applications, and only about thirty need a GPU: the Impeller half of the golden set. The other half renders through the software backend, so seventy-eight scenes stay checkable in a headless run. +There are 10786 tests across 42 packages and twelve applications, and only about thirty need a GPU: the Impeller half of the golden set. The other half renders through the software backend, so seventy-eight scenes stay checkable in a headless run. ## Your own application diff --git a/site/content/reference/testing.md b/site/content/reference/testing.md index aa436f1c9..303451cef 100644 --- a/site/content/reference/testing.md +++ b/site/content/reference/testing.md @@ -4,7 +4,7 @@ description: Four independent golden sets, mutation-checking every new test, det # Testing -10786 tests across 41 packages and nine applications, counted the same way the `the document says how many tests there are` rule does: a scan of every `test(`/`testWidgets(` call. The rule holds `ARCHITECTURE.md` §13, the README and this page to the answer. The README went on saying 1242 across thirteen packages for as long as nothing compared it with anything. About thirty need a GPU; the [architecture](/core/architecture/) is what keeps the number that low. +10786 tests across 42 packages and nine applications, counted the same way the `the document says how many tests there are` rule does: a scan of every `test(`/`testWidgets(` call. The rule holds `ARCHITECTURE.md` §13, the README and this page to the answer. The README went on saying 1242 across thirteen packages for as long as nothing compared it with anything. About thirty need a GPU; the [architecture](/core/architecture/) is what keeps the number that low. | Package | Tests | | Package | Tests | |---|---|---|---|---| @@ -15,7 +15,8 @@ description: Four independent golden sets, mutation-checking every new test, det | `flutter3d_lab` | 15 | | `flutter3d_core` | 735 | | `flutter3d_lti` | 26 | | `apps/flutter3d_lab_pendulum` | 7 | | | | | `apps/flutter3d_lab_incident` | 13 | -| `flutter3d_game_shooter` | 340 | | `flutter3d_audio` | 59 | +| `flutter3d_game_shooter` | 340 | | `flutter3d_audio_core` | 55 | +| | | | `flutter3d_audio` | 4 | | `flutter3d_game_racing` | 223 | | `flutter3d_webgl` | 62 | | `flutter3d_game_platformer` | 221 | | `flutter3d_hardware` | 63 | | `apps/flutter3d_demo_platformer` | 199 | | `flutter3d_impeller` | 64 | diff --git a/tool/convert_asset/pubspec.yaml b/tool/convert_asset/pubspec.yaml index 0f34cbaec..903e08014 100644 --- a/tool/convert_asset/pubspec.yaml +++ b/tool/convert_asset/pubspec.yaml @@ -9,7 +9,7 @@ resolution: workspace # "the publishing order names every package" rule, and this is never going out. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # Everything this tool does — decoding, encoding, `ExportReport` — is diff --git a/tool/godot_check/pubspec.yaml b/tool/godot_check/pubspec.yaml index 470bf288b..a9816b6b6 100644 --- a/tool/godot_check/pubspec.yaml +++ b/tool/godot_check/pubspec.yaml @@ -9,7 +9,7 @@ resolution: workspace # "the publishing order names every package" rule, and this is never going out. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # `decodeModel` and `ModelDocument` — the numbers Godot's are compared diff --git a/tool/init/pubspec.yaml b/tool/init/pubspec.yaml index e5d490266..13a29621a 100644 --- a/tool/init/pubspec.yaml +++ b/tool/init/pubspec.yaml @@ -9,7 +9,7 @@ resolution: workspace # publishing order names every package" rule, and this is never going out. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: # `Template`, `scaffold`, `projectAt`, `packageName` — the editor's own "new diff --git a/tool/release_dashboard/pubspec.yaml b/tool/release_dashboard/pubspec.yaml index d0ba05d0a..fae0ecf21 100644 --- a/tool/release_dashboard/pubspec.yaml +++ b/tool/release_dashboard/pubspec.yaml @@ -14,7 +14,7 @@ resolution: workspace # time being believed on the day it does not. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dev_dependencies: test: ^1.24.0 diff --git a/tool/skills/pubspec.yaml b/tool/skills/pubspec.yaml index e90a444bf..3c032840a 100644 --- a/tool/skills/pubspec.yaml +++ b/tool/skills/pubspec.yaml @@ -9,7 +9,7 @@ resolution: workspace # "the publishing order names every package" rule, and this is never going out. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dev_dependencies: test: ^1.24.0 diff --git a/tool/structure/repository.dart b/tool/structure/repository.dart index cab2ffa51..d13dd14d6 100644 --- a/tool/structure/repository.dart +++ b/tool/structure/repository.dart @@ -310,6 +310,7 @@ const Map notARepeatableStep = { 'chooses a device, loads a level into a scene and draws it; steps ' 'nothing', 'flutter3d_audio': 'display: a mix is recomputed once a frame', + 'flutter3d_audio_core': 'display: a mix is recomputed once a frame', 'pad_input': 'a device, read once a frame', 'pointer_lock': 'a platform channel', 'flutter3d_build': diff --git a/tool/tutorial/pubspec.yaml b/tool/tutorial/pubspec.yaml index d4ff431de..de5a01e56 100644 --- a/tool/tutorial/pubspec.yaml +++ b/tool/tutorial/pubspec.yaml @@ -9,7 +9,7 @@ resolution: workspace # publishing order names every package" rule, and this is never going out. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: args: ^2.7.0 diff --git a/tool/webgpu_spike/pubspec.yaml b/tool/webgpu_spike/pubspec.yaml index 14d68f69c..0b92dcbde 100644 --- a/tool/webgpu_spike/pubspec.yaml +++ b/tool/webgpu_spike/pubspec.yaml @@ -13,7 +13,7 @@ resolution: workspace # which is a worse outcome than the spike living beside the other programs this # repository runs on itself. `tool/ci.sh` runs its tests by name. environment: - sdk: ^3.12.2 + sdk: ">=3.12.0 <4.0.0" dependencies: flutter: @@ -27,7 +27,7 @@ dependencies: # see `webgpu_interop.dart`, which declares the slice a triangle needs. web: ^1.1.0 - vector_math: ^2.4.3 + vector_math: ^2.2.0 dev_dependencies: flutter_test: From 20a0560b781b4a2d2973d1d4ef801b3c5c45113a Mon Sep 17 00:00:00 2001 From: Dmitrii Zolotov Date: Thu, 1 Oct 2026 18:17:27 +0300 Subject: [PATCH 2/2] Dependabot leaves vector_math and clock alone flutter_test pins both exactly, vector_math 2.2.0 and clock 1.1.2 in Flutter 3.44, and a grouped bump raised our floors past them: that is how the stack stopped resolving on 3.44 before 0.8.5. The floors are what the code needs and move by hand. --- .github/dependabot.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index befa1192d..8c0629692 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -27,3 +27,12 @@ updates: groups: dart: patterns: ['*'] + # **Pinned by Flutter, so a floor raised here locks out a Flutter.** + # `flutter_test` fixes both versions exactly: vector_math 2.2.0 and + # clock 1.1.2 in Flutter 3.44. A bump that rewrote our `^` floors to the + # newest release made the whole stack unresolvable there, and Flame's + # workspace, which supports 3.44, could not depend on it. The floors are + # what we need, not what is newest, and they move by hand. + ignore: + - dependency-name: vector_math + - dependency-name: clock