Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
10 changes: 6 additions & 4 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down Expand Up @@ -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 |

Expand Down Expand Up @@ -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`
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_demo_arcade/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ version: 0.7.0
resolution: workspace

environment:
sdk: ^3.12.2
sdk: ">=3.12.0 <4.0.0"

dependencies:
flutter:
Expand All @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_demo_dungeon/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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,
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_demo_platformer/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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,
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_demo_racing/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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`.
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_demo_river/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ version: 0.1.0
resolution: workspace

environment:
sdk: ^3.12.2
sdk: ">=3.12.0 <4.0.0"

dependencies:
flutter:
Expand Down Expand Up @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_demo_strategy/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ version: 0.5.1
resolution: workspace

environment:
sdk: ^3.12.2
sdk: ">=3.12.0 <4.0.0"

dependencies:
flutter:
Expand All @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_editor/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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",
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_lab_incident/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ version: 0.1.0
resolution: workspace

environment:
sdk: ^3.12.2
sdk: ">=3.12.0 <4.0.0"

dependencies:
flutter:
Expand All @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_lab_pendulum/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ version: 0.1.0
resolution: workspace

environment:
sdk: ^3.12.2
sdk: ">=3.12.0 <4.0.0"

dependencies:
flutter:
Expand Down Expand Up @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_lesson_viewer/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ version: 0.1.0
resolution: workspace

environment:
sdk: ^3.12.2
sdk: ">=3.12.0 <4.0.0"

dependencies:
flutter:
Expand All @@ -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

Expand Down
6 changes: 3 additions & 3 deletions apps/flutter3d_modeler/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand All @@ -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 —
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_showcase/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions apps/flutter3d_stereo_lesson_viewer/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ version: 0.1.0
resolution: workspace

environment:
sdk: ^3.12.2
sdk: ">=3.12.0 <4.0.0"

dependencies:
flutter:
Expand All @@ -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

Expand Down
2 changes: 1 addition & 1 deletion cloud/lti/server/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_flutter3d/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions packages/flame_flutter3d/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ topics:
resolution: workspace

environment:
sdk: ^3.12.2
sdk: ">=3.12.0 <4.0.0"

dependencies:
flutter:
Expand Down Expand Up @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions packages/flame_flutter3d_audio/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ topics:
resolution: workspace

environment:
sdk: ^3.12.2
sdk: ">=3.12.0 <4.0.0"

dependencies:
flutter:
Expand All @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_multiplayer/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_multiplayer_dashwire/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
7 changes: 7 additions & 0 deletions packages/flutter3d/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions packages/flutter3d/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ publish_to: 'none'
resolution: workspace

environment:
sdk: ^3.12.2
sdk: ">=3.12.0 <4.0.0"

dependencies:
flutter:
Expand Down Expand Up @@ -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

Expand Down
Loading
Loading