From 6027eab1dc17f7d5fade3f32e7a6023ec0902b40 Mon Sep 17 00:00:00 2001 From: Tim Lehmann Date: Tue, 6 Oct 2026 14:44:14 +0200 Subject: [PATCH] refactor(impeeler): rename package from impeller_model Rename to impeeler (impeller + peel) for pub.dev publication: the tool peels a frame apart into render passes, and the re-implementation is a thin peel of the engine rather than the engine itself. Public API change: ImpellerModelBinding -> ImpeelerBinding. Default output dir: test/.impeller_model -> test/.impeeler. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .github/workflows/main.yaml | 18 +++++------ .../lib/slides/closing_slides.dart | 6 ++-- .../skills/impeeler-engine-upgrade}/SKILL.md | 8 ++--- .../{impeller_model => impeeler}/.gitignore | 2 +- .../FEASIBILITY.md | 8 ++--- .../MAINTAINING.md | 6 ++-- .../{impeller_model => impeeler}/README.md | 30 ++++++++++-------- .../analysis_options.yaml | 0 .../doc/hook_screen_with_the_name_dialog.html | 2 +- ..._screen_with_the_name_dialog_iPhone 16.png | Bin .../example/analysis_options.yaml | 0 .../example/lib/live_dot.dart | 0 .../example/lib/main.dart | 0 .../example/pubspec.yaml | 4 +-- .../example/test/flutter_test_config.dart | 4 +-- .../example/test/hook_screen_test.dart | 6 ++-- .../example/test/live_dot_test.dart | 4 +-- .../lib/impeeler.dart} | 2 +- .../lib/src/api/estimate_gpu.dart | 6 ++-- .../lib/src/api/frame_demand.dart | 2 +- .../lib/src/api/frame_estimate.dart | 0 .../lib/src/api/gpu_device.dart | 0 .../lib/src/api/html_report.dart | 2 +- .../lib/src/api/on_device.dart | 0 .../lib/src/capture/binding.dart | 22 ++++++------- .../lib/src/capture/creation_location.dart | 0 .../lib/src/capture/frame_requests.dart | 2 +- .../lib/src/capture/layer_walk.dart | 0 .../lib/src/capture/recorded_op.dart | 0 .../lib/src/capture/recording_canvas.dart | 2 +- .../lib/src/capture/scene_recording.dart | 0 .../lib/src/capture/tickers.dart | 0 .../lib/src/engine/canvas.dart | 0 .../lib/src/engine/capabilities.dart | 0 .../lib/src/engine/color_filter.dart | 0 .../lib/src/engine/display_list.dart | 0 .../lib/src/engine/dl_dispatcher.dart | 0 .../lib/src/engine/gaussian_blur.dart | 0 .../lib/src/engine/labels.dart | 0 .../lib/src/engine/ops.dart | 0 .../lib/src/engine/revision.dart | 0 .../lib/src/model/traffic.dart | 0 .../{impeller_model => impeeler}/pubspec.yaml | 2 +- .../skills/impeeler-frame-demand}/SKILL.md | 14 ++++---- .../skills/impeeler-gpu-cost}/SKILL.md | 24 +++++++------- .../references/engine-source.md | 0 .../references/reading-the-report.md | 4 +-- .../references/reducing-cost.md | 4 +-- .../skills/impeeler-gpu-profiling}/SKILL.md | 12 +++---- .../references/android.md | 2 +- .../references/apple.md | 0 .../references/captures.md | 2 +- .../scripts/metal_passes.py | 0 .../test/cases_test.dart | 8 ++--- .../test/custom_layer_test.dart | 4 +-- .../test/flutter_test_config.dart | 4 +-- .../test/frame_demand_test.dart | 2 +- .../test/html_report_test.dart | 2 +- .../test/memory_test.dart | 2 +- .../tool/engine_refs.dart | 0 .../validation/.gitignore | 0 .../validation/.metadata | 0 .../validation/README.md | 2 +- .../validation/analysis_options.yaml | 0 .../validation/android/.gitignore | 0 .../validation/android/app/build.gradle.kts | 0 .../android/app/src/debug/AndroidManifest.xml | 0 .../android/app/src/main/AndroidManifest.xml | 0 .../impeller_validation/MainActivity.kt | 0 .../res/drawable-v21/launch_background.xml | 0 .../main/res/drawable/launch_background.xml | 0 .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../app/src/main/res/values-night/styles.xml | 0 .../app/src/main/res/values/styles.xml | 0 .../app/src/profile/AndroidManifest.xml | 0 .../validation/android/build.gradle.kts | 0 .../validation/android/gradle.properties | 0 .../gradle/wrapper/gradle-wrapper.properties | 0 .../validation/android/settings.gradle.kts | 0 .../validation/ios/.gitignore | 0 .../ios/Flutter/AppFrameworkInfo.plist | 0 .../validation/ios/Flutter/Debug.xcconfig | 0 .../validation/ios/Flutter/Release.xcconfig | 0 .../ios/Runner.xcodeproj/project.pbxproj | 0 .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 .../xcshareddata/xcschemes/Runner.xcscheme | 0 .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 .../validation/ios/Runner/AppDelegate.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../Icon-App-1024x1024@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin .../Icon-App-83.5x83.5@2x.png | Bin .../LaunchImage.imageset/Contents.json | 0 .../LaunchImage.imageset/LaunchImage.png | Bin .../LaunchImage.imageset/LaunchImage@2x.png | Bin .../LaunchImage.imageset/LaunchImage@3x.png | Bin .../LaunchImage.imageset/README.md | 0 .../Runner/Base.lproj/LaunchScreen.storyboard | 0 .../ios/Runner/Base.lproj/Main.storyboard | 0 .../validation/ios/Runner/Info.plist | 0 .../ios/Runner/Runner-Bridging-Header.h | 0 .../validation/ios/Runner/SceneDelegate.swift | 0 .../ios/RunnerTests/RunnerTests.swift | 0 .../validation/lib/main.dart | 0 .../validation/lib/scenes.dart | 0 .../validation/macos/.gitignore | 0 .../macos/Flutter/Flutter-Debug.xcconfig | 0 .../macos/Flutter/Flutter-Release.xcconfig | 0 .../Flutter/GeneratedPluginRegistrant.swift | 0 .../macos/Runner.xcodeproj/project.pbxproj | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/xcschemes/Runner.xcscheme | 0 .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../validation/macos/Runner/AppDelegate.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/app_icon_1024.png | Bin .../AppIcon.appiconset/app_icon_128.png | Bin .../AppIcon.appiconset/app_icon_16.png | Bin .../AppIcon.appiconset/app_icon_256.png | Bin .../AppIcon.appiconset/app_icon_32.png | Bin .../AppIcon.appiconset/app_icon_512.png | Bin .../AppIcon.appiconset/app_icon_64.png | Bin .../macos/Runner/Base.lproj/MainMenu.xib | 0 .../macos/Runner/Configs/AppInfo.xcconfig | 0 .../macos/Runner/Configs/Debug.xcconfig | 0 .../macos/Runner/Configs/Release.xcconfig | 0 .../macos/Runner/Configs/Warnings.xcconfig | 0 .../macos/Runner/DebugProfile.entitlements | 0 .../validation/macos/Runner/Info.plist | 0 .../macos/Runner/MainFlutterWindow.swift | 0 .../macos/Runner/Release.entitlements | 0 .../macos/RunnerTests/RunnerTests.swift | 0 .../validation/predictions.json | 0 .../validation/pubspec.yaml | 4 +-- .../validation/results/macos.json | 0 .../validation/results/macos.md | 2 +- .../validation/results/pixel10.json | 0 .../validation/results/pixel10.md | 2 +- .../validation/test/predict_test.dart | 6 ++-- .../validation/tool/validate.dart | 4 +-- .../validation/tool/validate_android.dart | 4 +-- .../tool/vk_pass_logger/pass_logger.cpp | 0 163 files changed, 124 insertions(+), 122 deletions(-) rename packages/{impeller_model/.agents/skills/impeller_model-engine-upgrade => impeeler/.agents/skills/impeeler-engine-upgrade}/SKILL.md (88%) rename packages/{impeller_model => impeeler}/.gitignore (77%) rename packages/{impeller_model => impeeler}/FEASIBILITY.md (97%) rename packages/{impeller_model => impeeler}/MAINTAINING.md (85%) rename packages/{impeller_model => impeeler}/README.md (79%) rename packages/{impeller_model => impeeler}/analysis_options.yaml (100%) rename packages/{impeller_model => impeeler}/doc/hook_screen_with_the_name_dialog.html (99%) rename packages/{impeller_model => impeeler}/doc/hook_screen_with_the_name_dialog_iPhone 16.png (100%) rename packages/{impeller_model => impeeler}/example/analysis_options.yaml (100%) rename packages/{impeller_model => impeeler}/example/lib/live_dot.dart (100%) rename packages/{impeller_model => impeeler}/example/lib/main.dart (100%) rename packages/{impeller_model => impeeler}/example/pubspec.yaml (88%) rename packages/{impeller_model => impeeler}/example/test/flutter_test_config.dart (74%) rename packages/{impeller_model => impeeler}/example/test/hook_screen_test.dart (87%) rename packages/{impeller_model => impeeler}/example/test/live_dot_test.dart (89%) rename packages/{impeller_model/lib/impeller_model.dart => impeeler/lib/impeeler.dart} (96%) rename packages/{impeller_model => impeeler}/lib/src/api/estimate_gpu.dart (97%) rename packages/{impeller_model => impeeler}/lib/src/api/frame_demand.dart (99%) rename packages/{impeller_model => impeeler}/lib/src/api/frame_estimate.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/api/gpu_device.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/api/html_report.dart (99%) rename packages/{impeller_model => impeeler}/lib/src/api/on_device.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/capture/binding.dart (94%) rename packages/{impeller_model => impeeler}/lib/src/capture/creation_location.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/capture/frame_requests.dart (98%) rename packages/{impeller_model => impeeler}/lib/src/capture/layer_walk.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/capture/recorded_op.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/capture/recording_canvas.dart (99%) rename packages/{impeller_model => impeeler}/lib/src/capture/scene_recording.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/capture/tickers.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/engine/canvas.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/engine/capabilities.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/engine/color_filter.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/engine/display_list.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/engine/dl_dispatcher.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/engine/gaussian_blur.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/engine/labels.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/engine/ops.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/engine/revision.dart (100%) rename packages/{impeller_model => impeeler}/lib/src/model/traffic.dart (100%) rename packages/{impeller_model => impeeler}/pubspec.yaml (96%) rename packages/{impeller_model/skills/impeller_model-frame-demand => impeeler/skills/impeeler-frame-demand}/SKILL.md (91%) rename packages/{impeller_model/skills/impeller_model-gpu-cost => impeeler/skills/impeeler-gpu-cost}/SKILL.md (87%) rename packages/{impeller_model/skills/impeller_model-gpu-cost => impeeler/skills/impeeler-gpu-cost}/references/engine-source.md (100%) rename packages/{impeller_model/skills/impeller_model-gpu-cost => impeeler/skills/impeeler-gpu-cost}/references/reading-the-report.md (97%) rename packages/{impeller_model/skills/impeller_model-gpu-cost => impeeler/skills/impeeler-gpu-cost}/references/reducing-cost.md (98%) rename packages/{impeller_model/skills/impeller_model-gpu-profiling => impeeler/skills/impeeler-gpu-profiling}/SKILL.md (96%) rename packages/{impeller_model/skills/impeller_model-gpu-profiling => impeeler/skills/impeeler-gpu-profiling}/references/android.md (99%) rename packages/{impeller_model/skills/impeller_model-gpu-profiling => impeeler/skills/impeeler-gpu-profiling}/references/apple.md (100%) rename packages/{impeller_model/skills/impeller_model-gpu-profiling => impeeler/skills/impeeler-gpu-profiling}/references/captures.md (97%) rename packages/{impeller_model/skills/impeller_model-gpu-profiling => impeeler/skills/impeeler-gpu-profiling}/scripts/metal_passes.py (100%) rename packages/{impeller_model => impeeler}/test/cases_test.dart (99%) rename packages/{impeller_model => impeeler}/test/custom_layer_test.dart (98%) rename packages/{impeller_model => impeeler}/test/flutter_test_config.dart (54%) rename packages/{impeller_model => impeeler}/test/frame_demand_test.dart (98%) rename packages/{impeller_model => impeeler}/test/html_report_test.dart (93%) rename packages/{impeller_model => impeeler}/test/memory_test.dart (98%) rename packages/{impeller_model => impeeler}/tool/engine_refs.dart (100%) rename packages/{impeller_model => impeeler}/validation/.gitignore (100%) rename packages/{impeller_model => impeeler}/validation/.metadata (100%) rename packages/{impeller_model => impeeler}/validation/README.md (97%) rename packages/{impeller_model => impeeler}/validation/analysis_options.yaml (100%) rename packages/{impeller_model => impeeler}/validation/android/.gitignore (100%) rename packages/{impeller_model => impeeler}/validation/android/app/build.gradle.kts (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/debug/AndroidManifest.xml (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/main/AndroidManifest.xml (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/main/kotlin/it/whynotmake/impeller_validation/MainActivity.kt (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/main/res/drawable-v21/launch_background.xml (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/main/res/drawable/launch_background.xml (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/main/res/values-night/styles.xml (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/main/res/values/styles.xml (100%) rename packages/{impeller_model => impeeler}/validation/android/app/src/profile/AndroidManifest.xml (100%) rename packages/{impeller_model => impeeler}/validation/android/build.gradle.kts (100%) rename packages/{impeller_model => impeeler}/validation/android/gradle.properties (100%) rename packages/{impeller_model => impeeler}/validation/android/gradle/wrapper/gradle-wrapper.properties (100%) rename packages/{impeller_model => impeeler}/validation/android/settings.gradle.kts (100%) rename packages/{impeller_model => impeeler}/validation/ios/.gitignore (100%) rename packages/{impeller_model => impeeler}/validation/ios/Flutter/AppFrameworkInfo.plist (100%) rename packages/{impeller_model => impeeler}/validation/ios/Flutter/Debug.xcconfig (100%) rename packages/{impeller_model => impeeler}/validation/ios/Flutter/Release.xcconfig (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner.xcodeproj/project.pbxproj (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner.xcworkspace/contents.xcworkspacedata (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/AppDelegate.swift (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Base.lproj/LaunchScreen.storyboard (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Base.lproj/Main.storyboard (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Info.plist (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/Runner-Bridging-Header.h (100%) rename packages/{impeller_model => impeeler}/validation/ios/Runner/SceneDelegate.swift (100%) rename packages/{impeller_model => impeeler}/validation/ios/RunnerTests/RunnerTests.swift (100%) rename packages/{impeller_model => impeeler}/validation/lib/main.dart (100%) rename packages/{impeller_model => impeeler}/validation/lib/scenes.dart (100%) rename packages/{impeller_model => impeeler}/validation/macos/.gitignore (100%) rename packages/{impeller_model => impeeler}/validation/macos/Flutter/Flutter-Debug.xcconfig (100%) rename packages/{impeller_model => impeeler}/validation/macos/Flutter/Flutter-Release.xcconfig (100%) rename packages/{impeller_model => impeeler}/validation/macos/Flutter/GeneratedPluginRegistrant.swift (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner.xcodeproj/project.pbxproj (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner.xcworkspace/contents.xcworkspacedata (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/AppDelegate.swift (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Base.lproj/MainMenu.xib (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Configs/AppInfo.xcconfig (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Configs/Debug.xcconfig (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Configs/Release.xcconfig (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Configs/Warnings.xcconfig (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/DebugProfile.entitlements (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Info.plist (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/MainFlutterWindow.swift (100%) rename packages/{impeller_model => impeeler}/validation/macos/Runner/Release.entitlements (100%) rename packages/{impeller_model => impeeler}/validation/macos/RunnerTests/RunnerTests.swift (100%) rename packages/{impeller_model => impeeler}/validation/predictions.json (100%) rename packages/{impeller_model => impeeler}/validation/pubspec.yaml (73%) rename packages/{impeller_model => impeeler}/validation/results/macos.json (100%) rename packages/{impeller_model => impeeler}/validation/results/macos.md (93%) rename packages/{impeller_model => impeeler}/validation/results/pixel10.json (100%) rename packages/{impeller_model => impeeler}/validation/results/pixel10.md (95%) rename packages/{impeller_model => impeeler}/validation/test/predict_test.dart (97%) rename packages/{impeller_model => impeeler}/validation/tool/validate.dart (98%) rename packages/{impeller_model => impeeler}/validation/tool/validate_android.dart (98%) rename packages/{impeller_model => impeeler}/validation/tool/vk_pass_logger/pass_logger.cpp (100%) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 1ce0ea1..6da5237 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -52,8 +52,8 @@ jobs: generate_badges: pr - impeller_model: - name: Test impeller_model + impeeler: + name: Test impeeler timeout-minutes: 10 runs-on: ubuntu-latest permissions: @@ -66,37 +66,37 @@ jobs: uses: subosito/flutter-action@v2 with: # The model depends on private engine semantics โ€” pin to the - # verified version (see packages/impeller_model/FEASIBILITY.md). + # verified version (see packages/impeeler/FEASIBILITY.md). flutter-version: '3.47.1' channel: 'stable' cache: true - name: ๐Ÿงช Test run: flutter test - working-directory: packages/impeller_model + working-directory: packages/impeeler # SwiftShader Vulkan on CI โ€” the flakiest leg; if it ever # flakes, suspect this step first. - name: ๐Ÿงช Test under Impeller run: flutter test --enable-impeller - working-directory: packages/impeller_model + working-directory: packages/impeeler - name: ๐Ÿ” Analyze run: flutter analyze - working-directory: packages/impeller_model + working-directory: packages/impeeler - name: ๐Ÿ“œ Engine quotes match the pinned SDK run: dart run tool/engine_refs.dart --flutter-root "$FLUTTER_ROOT" - working-directory: packages/impeller_model + working-directory: packages/impeeler - name: ๐Ÿงช Example run: flutter pub get && flutter analyze && flutter test - working-directory: packages/impeller_model/example + working-directory: packages/impeeler/example # Checks every prediction against the committed device traces. - name: ๐Ÿงช Predictions match the traces run: flutter pub get && flutter analyze && flutter test - working-directory: packages/impeller_model/validation + working-directory: packages/impeeler/validation check_generation: name: Check Code Generation diff --git a/apps/build_to_burn/lib/slides/closing_slides.dart b/apps/build_to_burn/lib/slides/closing_slides.dart index cb6462b..963e7a2 100644 --- a/apps/build_to_burn/lib/slides/closing_slides.dart +++ b/apps/build_to_burn/lib/slides/closing_slides.dart @@ -97,9 +97,9 @@ class SkillsSlide extends FlutterDeckSlideWidget { ), ); - /// The impeller_model skills in this repo. + /// The impeeler skills in this repo. static const _skillsUrl = - 'https://github.com/whynotmake-it/talks/tree/main/packages/impeller_model/skills'; + 'https://github.com/whynotmake-it/talks/tree/main/packages/impeeler/skills'; static const _skills = [ ('Why is this screen expensive?', 'GPU cost'), @@ -155,7 +155,7 @@ class SkillsSlide extends FlutterDeckSlideWidget { ), const Spacer(), Text( - 'Works on any app: add impeller_model, write a ' + 'Works on any app: add impeeler, write a ' 'widget test, ask your agent.', style: p.body, ), diff --git a/packages/impeller_model/.agents/skills/impeller_model-engine-upgrade/SKILL.md b/packages/impeeler/.agents/skills/impeeler-engine-upgrade/SKILL.md similarity index 88% rename from packages/impeller_model/.agents/skills/impeller_model-engine-upgrade/SKILL.md rename to packages/impeeler/.agents/skills/impeeler-engine-upgrade/SKILL.md index 9513c61..0ce947e 100644 --- a/packages/impeller_model/.agents/skills/impeller_model-engine-upgrade/SKILL.md +++ b/packages/impeeler/.agents/skills/impeeler-engine-upgrade/SKILL.md @@ -1,12 +1,12 @@ --- -name: impeller_model-engine-upgrade -description: Move impeller_model to a new Flutter release and re-verify it against the engine source and real GPU traces. +name: impeeler-engine-upgrade +description: Move impeeler to a new Flutter release and re-verify it against the engine source and real GPU traces. disable-model-invocation: true --- -# Upgrade impeller_model to a new Flutter release +# Upgrade impeeler to a new Flutter release -Run from `packages/impeller_model`. `OLD` is `pinnedFlutterVersion` in +Run from `packages/impeeler`. `OLD` is `pinnedFlutterVersion` in `lib/src/engine/revision.dart`, `NEW` the target tag (e.g. `3.48.0`). The package's conventions are in `MAINTAINING.md`. diff --git a/packages/impeller_model/.gitignore b/packages/impeeler/.gitignore similarity index 77% rename from packages/impeller_model/.gitignore rename to packages/impeeler/.gitignore index ac04421..6e0c1a0 100644 --- a/packages/impeller_model/.gitignore +++ b/packages/impeeler/.gitignore @@ -1,3 +1,3 @@ # Reports written by estimateGpu and snaptest -.impeller_model/ +.impeeler/ .snaptest/ diff --git a/packages/impeller_model/FEASIBILITY.md b/packages/impeeler/FEASIBILITY.md similarity index 97% rename from packages/impeller_model/FEASIBILITY.md rename to packages/impeeler/FEASIBILITY.md index 572a828..fe81dcc 100644 --- a/packages/impeller_model/FEASIBILITY.md +++ b/packages/impeeler/FEASIBILITY.md @@ -1,7 +1,7 @@ # Feasibility: estimating Impeller GPU work from a widget test **Status: usable for the talk and for budgets in tests.** From a plain -`flutter test`, `impeller_model` reconstructs the render passes Impeller +`flutter test`, `impeeler` reconstructs the render passes Impeller encodes for a frame, per device class, and the frames a screen requests while idle. The pass structure was checked against real GPU traces of 14 scenes on macOS Metal and on a Pixel 10 (Vulkan without framebuffer fetch): 14/14 match @@ -15,7 +15,7 @@ milliseconds or milliwatts". ## How it works -1. **Capture.** `ImpellerModelBinding` (an +1. **Capture.** `ImpeelerBinding` (an `AutomatedTestWidgetsFlutterBinding`) overrides `createPictureRecorder` and `createCanvas`, wraps every picture canvas in a recording proxy and keeps the ops per `ui.Picture` in an `Expando`. Walking `RenderView.debugLayer` @@ -127,7 +127,7 @@ MSAA storage. fetch (`pixel9`, `galaxyS25`): ported, not traced. - **Morphology and shader image filters, unusual mask blurs**: pass shapes are approximations and are flagged `approximate` in reports. -- **GPU time and energy**: not modeled. The `impeller_model-gpu-profiling` +- **GPU time and energy**: not modeled. The `impeeler-gpu-profiling` skill measures them. ## Memory @@ -174,7 +174,7 @@ For the slides: a 1179ร—2556 iPhone texture is โ‰ˆ 12 MB at 4 B/px but ## Frame demand -`ImpellerModelBinding` overrides `scheduleFrame` and `scheduleFrameCallback` +`ImpeelerBinding` overrides `scheduleFrame` and `scheduleFrameCallback` and records a stack for every request; callbacks remember who scheduled them, so a ticker's frame is attributed to the `State` that started it. `measureFrameDemand` pumps fake time in vsync steps (after a settle period) diff --git a/packages/impeller_model/MAINTAINING.md b/packages/impeeler/MAINTAINING.md similarity index 85% rename from packages/impeller_model/MAINTAINING.md rename to packages/impeeler/MAINTAINING.md index 7305ddc..cf22871 100644 --- a/packages/impeller_model/MAINTAINING.md +++ b/packages/impeeler/MAINTAINING.md @@ -1,4 +1,4 @@ -# Maintaining impeller_model +# Maintaining impeeler The model mirrors engine and framework internals that are not stable API, so it is pinned to one Flutter release (`lib/src/engine/revision.dart`) and @@ -9,7 +9,7 @@ built to make an SDK upgrade a mechanical review. | Directory | Contents | Coupled to | | --- | --- | --- | | `lib/src/engine/` | Ports of Impeller and DisplayList decisions: `canvas.dart` (`Canvas` save/restore/flip), `display_list.dart` (layer tree to ops, `dl_builder` bookkeeping), `dl_dispatcher.dart`, `gaussian_blur.dart`, `color_filter.dart`, `capabilities.dart` (formats, framebuffer fetch per backend), `labels.dart` (debug labels). | Engine source | -| `lib/src/capture/` | `ImpellerModelBinding`: canvas and scene recording, layer walk, frame-request attribution, ticker discovery, widget creation locations. | Framework internals (`createCanvas`, `createSceneBuilder`, `debugLayer`, layer fields and `engineLayer`, `Ticker` diagnostics) | +| `lib/src/capture/` | `ImpeelerBinding`: canvas and scene recording, layer walk, frame-request attribution, ticker discovery, widget creation locations. | Framework internals (`createCanvas`, `createSceneBuilder`, `debugLayer`, layer fields and `engineLayer`, `Ticker` diagnostics) | | `lib/src/model/` | Memory traffic arithmetic over the pass list. | Engine types only (`ModelPass`), no engine logic | | `lib/src/api/` | Public API: `estimateGpu`, `measureFrameDemand`, device presets, JSON/HTML report. | `flutter_test` pumping (`frame_demand.dart`), per-platform widget defaults (`on_device.dart`), both quoted | | `tool/engine_refs.dart` | Quote checker and upgrade diff. | | @@ -44,7 +44,7 @@ report all quotes found. ## Upgrading Flutter Follow the steps in -[`.agents/skills/impeller_model-engine-upgrade/SKILL.md`](.agents/skills/impeller_model-engine-upgrade/SKILL.md) +[`.agents/skills/impeeler-engine-upgrade/SKILL.md`](.agents/skills/impeeler-engine-upgrade/SKILL.md) (written so an agent can run it; it reads the same for a person). ## Validation diff --git a/packages/impeller_model/README.md b/packages/impeeler/README.md similarity index 79% rename from packages/impeller_model/README.md rename to packages/impeeler/README.md index d79ce7a..76b6ddf 100644 --- a/packages/impeller_model/README.md +++ b/packages/impeeler/README.md @@ -1,6 +1,7 @@ -# impeller_model +# impeeler -Estimates the Impeller GPU work of a Flutter screen from a widget test: +Peels a frame apart to estimate the Impeller GPU work of a Flutter screen, +from a widget test: - **Render passes per frame** and which widget caused each one (`BackdropFilter (lib/home.dart:42)`), named like Impeller labels them in a @@ -11,8 +12,9 @@ Estimates the Impeller GPU work of a Flutter screen from a widget test: (tickers, a blinking caret, timers), who requests them, and how many of them draw nothing new. -It is a model of one Flutter release (3.47.1), checked against real GPU -traces on macOS Metal and a Pixel 10 (14/14 scenes each, see +It is a thin peel of the Impeller engine โ€” a model of one Flutter release +(3.47.1) โ€” checked against real GPU traces on macOS Metal and a Pixel 10 +(14/14 scenes each, see [`validation/`](validation/README.md)). Treat it as an estimate that tells you *whether a change adds or removes passes*; measure GPU time and energy on a device. @@ -21,8 +23,8 @@ a device. ```yaml dev_dependencies: - impeller_model: - path: packages/impeller_model # not published + impeeler: + path: packages/impeeler # not published ``` Install the binding in `test/flutter_test_config.dart`: @@ -30,10 +32,10 @@ Install the binding in `test/flutter_test_config.dart`: ```dart import 'dart:async'; -import 'package:impeller_model/impeller_model.dart'; +import 'package:impeeler/impeeler.dart'; Future testExecutable(FutureOr Function() testMain) async { - ImpellerModelBinding.ensureInitialized(); + ImpeelerBinding.ensureInitialized(); await testMain(); } ``` @@ -55,7 +57,7 @@ testWidgets('name dialog', (tester) async { `estimateGpu` resizes the test view to each device, captures one frame per device, watches frame demand for a second, and writes -`test/.impeller_model/.{json,html,png}`. The HTML file shows: +`test/.impeeler/.{json,html,png}`. The HTML file shows: - a screenshot of the screen, - render passes and memory traffic per device, with a device picker, @@ -73,14 +75,14 @@ engine receives, so they count like the framework's layers. See [`example/`](example/) for the talk's hook screen and a `fixed_ticker` comparison; [`doc/hook_screen_with_the_name_dialog.html`](doc/hook_screen_with_the_name_dialog.html) -is the report it writes. Add `.impeller_model/` to `.gitignore`. +is the report it writes. Add `.impeeler/` to `.gitignore`. ### Lower-level API | Call | Gives | | --- | --- | | `estimateGpu(tester, devices: [...])` | `GpuReport`: one `FrameEstimate` per device, `FrameDemand`, written files. | -| `estimateFrame(capture, device)` | One `FrameEstimate` from a `FrameCapture` of the last drawn frame (`ImpellerModelBinding.instance.captureFrame()`). | +| `estimateFrame(capture, device)` | One `FrameEstimate` from a `FrameCapture` of the last drawn frame (`ImpeelerBinding.instance.captureFrame()`). | | `measureFrameDemand(tester)` | `FrameDemand`: verdict, frames, sources, tickers. | | `findTickers()` | Every ticker in the tree, its owner widget and creation location. | | `GpuDevice.iPhone16`, `.pixel10`, ..., `GpuDevice.custom(screen, gpu: ...)` | Device presets: a `device_frame` screen plus a `CapabilityProfile`. | @@ -120,9 +122,9 @@ skill tooling, or copy them into `.agents/skills/`): | Skill | Use it to | | --- | --- | -| [`impeller_model-gpu-cost`](skills/impeller_model-gpu-cost/SKILL.md) | Estimate a screen's passes in a widget test, read the report, and reduce costly widgets. | -| [`impeller_model-frame-demand`](skills/impeller_model-frame-demand/SKILL.md) | Find what keeps an idle screen rendering; slow decorative animations with `fixed_ticker`. | -| [`impeller_model-gpu-profiling`](skills/impeller_model-gpu-profiling/SKILL.md) | Measure on a device: Xcode/Metal captures, Metal System Trace, energy; AGI, RenderDoc, Perfetto on Android. | +| [`impeeler-gpu-cost`](skills/impeeler-gpu-cost/SKILL.md) | Estimate a screen's passes in a widget test, read the report, and reduce costly widgets. | +| [`impeeler-frame-demand`](skills/impeeler-frame-demand/SKILL.md) | Find what keeps an idle screen rendering; slow decorative animations with `fixed_ticker`. | +| [`impeeler-gpu-profiling`](skills/impeeler-gpu-profiling/SKILL.md) | Measure on a device: Xcode/Metal captures, Metal System Trace, energy; AGI, RenderDoc, Perfetto on Android. | ## Maintaining diff --git a/packages/impeller_model/analysis_options.yaml b/packages/impeeler/analysis_options.yaml similarity index 100% rename from packages/impeller_model/analysis_options.yaml rename to packages/impeeler/analysis_options.yaml diff --git a/packages/impeller_model/doc/hook_screen_with_the_name_dialog.html b/packages/impeeler/doc/hook_screen_with_the_name_dialog.html similarity index 99% rename from packages/impeller_model/doc/hook_screen_with_the_name_dialog.html rename to packages/impeeler/doc/hook_screen_with_the_name_dialog.html index e5be809..749a884 100644 --- a/packages/impeller_model/doc/hook_screen_with_the_name_dialog.html +++ b/packages/impeeler/doc/hook_screen_with_the_name_dialog.html @@ -184,7 +184,7 @@

Frames while idle

// Header document.title = report.name + ' ยท GPU estimate'; byId('name').textContent = report.name; -byId('meta').textContent = 'Estimated by impeller_model for Flutter ' + report.flutter + '. Confirm GPU time on a device.'; +byId('meta').textContent = 'Estimated by impeeler for Flutter ' + report.flutter + '. Confirm GPU time on a device.'; // Warnings: only what makes a number untrustworthy. One line per warning, // naming the devices only when it does not hold for all of them. diff --git a/packages/impeller_model/doc/hook_screen_with_the_name_dialog_iPhone 16.png b/packages/impeeler/doc/hook_screen_with_the_name_dialog_iPhone 16.png similarity index 100% rename from packages/impeller_model/doc/hook_screen_with_the_name_dialog_iPhone 16.png rename to packages/impeeler/doc/hook_screen_with_the_name_dialog_iPhone 16.png diff --git a/packages/impeller_model/example/analysis_options.yaml b/packages/impeeler/example/analysis_options.yaml similarity index 100% rename from packages/impeller_model/example/analysis_options.yaml rename to packages/impeeler/example/analysis_options.yaml diff --git a/packages/impeller_model/example/lib/live_dot.dart b/packages/impeeler/example/lib/live_dot.dart similarity index 100% rename from packages/impeller_model/example/lib/live_dot.dart rename to packages/impeeler/example/lib/live_dot.dart diff --git a/packages/impeller_model/example/lib/main.dart b/packages/impeeler/example/lib/main.dart similarity index 100% rename from packages/impeller_model/example/lib/main.dart rename to packages/impeeler/example/lib/main.dart diff --git a/packages/impeller_model/example/pubspec.yaml b/packages/impeeler/example/pubspec.yaml similarity index 88% rename from packages/impeller_model/example/pubspec.yaml rename to packages/impeeler/example/pubspec.yaml index 066c12f..acda338 100644 --- a/packages/impeller_model/example/pubspec.yaml +++ b/packages/impeeler/example/pubspec.yaml @@ -1,4 +1,4 @@ -name: impeller_model_example +name: impeeler_example description: "The build_to_burn hook screen and a widget test that estimates its GPU cost." publish_to: 'none' version: 0.1.0 @@ -15,7 +15,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - impeller_model: + impeeler: path: .. lintervention: ^0.3.1 diff --git a/packages/impeller_model/example/test/flutter_test_config.dart b/packages/impeeler/example/test/flutter_test_config.dart similarity index 74% rename from packages/impeller_model/example/test/flutter_test_config.dart rename to packages/impeeler/example/test/flutter_test_config.dart index c1d62f5..e488568 100644 --- a/packages/impeller_model/example/test/flutter_test_config.dart +++ b/packages/impeeler/example/test/flutter_test_config.dart @@ -1,11 +1,11 @@ import 'dart:async'; -import 'package:impeller_model/impeller_model.dart'; +import 'package:impeeler/impeeler.dart'; /// Installs the binding that records every picture's draw calls. It must be /// in place before the first `testWidgets`, so it lives here rather than in /// `main()`. Future testExecutable(FutureOr Function() testMain) async { - ImpellerModelBinding.ensureInitialized(); + ImpeelerBinding.ensureInitialized(); await testMain(); } diff --git a/packages/impeller_model/example/test/hook_screen_test.dart b/packages/impeeler/example/test/hook_screen_test.dart similarity index 87% rename from packages/impeller_model/example/test/hook_screen_test.dart rename to packages/impeeler/example/test/hook_screen_test.dart index 22a7e10..e6a8524 100644 --- a/packages/impeller_model/example/test/hook_screen_test.dart +++ b/packages/impeeler/example/test/hook_screen_test.dart @@ -1,13 +1,13 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:impeller_model/impeller_model.dart'; -import 'package:impeller_model_example/main.dart'; +import 'package:impeeler/impeeler.dart'; +import 'package:impeeler_example/main.dart'; void main() { testWidgets('hook screen with the name dialog', (tester) async { await tester.pumpWidget(const HookApp()); - // Writes test/.impeller_model/hook_screen_with_the_name_dialog.{json,html}. + // Writes test/.impeeler/hook_screen_with_the_name_dialog.{json,html}. final report = await estimateGpu(tester, screenshot: true); final iPhone = report.frames.first; diff --git a/packages/impeller_model/example/test/live_dot_test.dart b/packages/impeeler/example/test/live_dot_test.dart similarity index 89% rename from packages/impeller_model/example/test/live_dot_test.dart rename to packages/impeeler/example/test/live_dot_test.dart index b2e2c9a..c30956e 100644 --- a/packages/impeller_model/example/test/live_dot_test.dart +++ b/packages/impeeler/example/test/live_dot_test.dart @@ -1,7 +1,7 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:impeller_model/impeller_model.dart'; -import 'package:impeller_model_example/live_dot.dart'; +import 'package:impeeler/impeeler.dart'; +import 'package:impeeler_example/live_dot.dart'; Widget _app(double? fps) => Directionality( textDirection: TextDirection.ltr, diff --git a/packages/impeller_model/lib/impeller_model.dart b/packages/impeeler/lib/impeeler.dart similarity index 96% rename from packages/impeller_model/lib/impeller_model.dart rename to packages/impeeler/lib/impeeler.dart index 7ee8df0..009f64e 100644 --- a/packages/impeller_model/lib/impeller_model.dart +++ b/packages/impeeler/lib/impeeler.dart @@ -20,7 +20,7 @@ export 'src/api/frame_estimate.dart' show CostCenter, FrameEstimate, estimateFrame; export 'src/api/gpu_device.dart' show GpuDevice; export 'src/capture/binding.dart' - show DrawnFrame, FrameCapture, ImpellerModelBinding; + show DrawnFrame, FrameCapture, ImpeelerBinding; export 'src/capture/creation_location.dart' show WidgetOrigin; export 'src/capture/frame_requests.dart' show FrameRequestOrigin; export 'src/capture/layer_walk.dart' show CapturedLayer; diff --git a/packages/impeller_model/lib/src/api/estimate_gpu.dart b/packages/impeeler/lib/src/api/estimate_gpu.dart similarity index 97% rename from packages/impeller_model/lib/src/api/estimate_gpu.dart rename to packages/impeeler/lib/src/api/estimate_gpu.dart index 43de3f7..2ce333f 100644 --- a/packages/impeller_model/lib/src/api/estimate_gpu.dart +++ b/packages/impeeler/lib/src/api/estimate_gpu.dart @@ -70,7 +70,7 @@ class GpuReport { /// device is written next to them and shown in the report. With /// [writeFiles] false nothing is written, not even the screenshot. /// -/// Requires [ImpellerModelBinding]. Call it after the screen is in the +/// Requires [ImpeelerBinding]. Call it after the screen is in the /// state you want to measure: /// /// ```dart @@ -90,10 +90,10 @@ Future estimateGpu( Duration frameDemandSettle = const Duration(milliseconds: 500), int refreshRate = 60, bool screenshot = false, - String outputDir = '.impeller_model', + String outputDir = '.impeeler', bool writeFiles = true, }) async { - final binding = ImpellerModelBinding.instance; + final binding = ImpeelerBinding.instance; final targets = devices ?? GpuDevice.phones; if (targets.isEmpty) { throw ArgumentError.value(devices, 'devices', 'must not be empty'); diff --git a/packages/impeller_model/lib/src/api/frame_demand.dart b/packages/impeeler/lib/src/api/frame_demand.dart similarity index 99% rename from packages/impeller_model/lib/src/api/frame_demand.dart rename to packages/impeeler/lib/src/api/frame_demand.dart index 5333633..c1abc4e 100644 --- a/packages/impeller_model/lib/src/api/frame_demand.dart +++ b/packages/impeeler/lib/src/api/frame_demand.dart @@ -193,7 +193,7 @@ Future _measure( int refreshRate, GpuDevice? device, ) async { - final binding = ImpellerModelBinding.instance; + final binding = ImpeelerBinding.instance; final step = Duration( microseconds: Duration.microsecondsPerSecond ~/ refreshRate, ); diff --git a/packages/impeller_model/lib/src/api/frame_estimate.dart b/packages/impeeler/lib/src/api/frame_estimate.dart similarity index 100% rename from packages/impeller_model/lib/src/api/frame_estimate.dart rename to packages/impeeler/lib/src/api/frame_estimate.dart diff --git a/packages/impeller_model/lib/src/api/gpu_device.dart b/packages/impeeler/lib/src/api/gpu_device.dart similarity index 100% rename from packages/impeller_model/lib/src/api/gpu_device.dart rename to packages/impeeler/lib/src/api/gpu_device.dart diff --git a/packages/impeller_model/lib/src/api/html_report.dart b/packages/impeeler/lib/src/api/html_report.dart similarity index 99% rename from packages/impeller_model/lib/src/api/html_report.dart rename to packages/impeeler/lib/src/api/html_report.dart index 7844be1..7f34a49 100644 --- a/packages/impeller_model/lib/src/api/html_report.dart +++ b/packages/impeeler/lib/src/api/html_report.dart @@ -209,7 +209,7 @@ function splitLabel(label) { // Header document.title = report.name + ' ยท GPU estimate'; byId('name').textContent = report.name; -byId('meta').textContent = 'Estimated by impeller_model for Flutter ' + report.flutter + '. Confirm GPU time on a device.'; +byId('meta').textContent = 'Estimated by impeeler for Flutter ' + report.flutter + '. Confirm GPU time on a device.'; // Warnings: only what makes a number untrustworthy. One line per warning, // naming the devices only when it does not hold for all of them. diff --git a/packages/impeller_model/lib/src/api/on_device.dart b/packages/impeeler/lib/src/api/on_device.dart similarity index 100% rename from packages/impeller_model/lib/src/api/on_device.dart rename to packages/impeeler/lib/src/api/on_device.dart diff --git a/packages/impeller_model/lib/src/capture/binding.dart b/packages/impeeler/lib/src/capture/binding.dart similarity index 94% rename from packages/impeller_model/lib/src/capture/binding.dart rename to packages/impeeler/lib/src/capture/binding.dart index b7c9a02..9ebe5d3 100644 --- a/packages/impeller_model/lib/src/capture/binding.dart +++ b/packages/impeeler/lib/src/capture/binding.dart @@ -68,14 +68,14 @@ class DrawnFrame { final int picturesRecorded; } -/// The `flutter_test` binding for impeller_model. +/// The `flutter_test` binding for impeeler. /// /// Install it before the first `testWidgets`, either in the test's `main` /// or once for all tests in `test/flutter_test_config.dart`: /// /// ```dart /// Future testExecutable(FutureOr Function() testMain) async { -/// ImpellerModelBinding.ensureInitialized(); +/// ImpeelerBinding.ensureInitialized(); /// await testMain(); /// } /// ``` @@ -92,8 +92,8 @@ class DrawnFrame { /// Each finished picture is mapped to its recorded ops by identity, so a /// layer tree walk finds the exact ops of every PictureLayer, including /// retained ones painted in earlier frames. -class ImpellerModelBinding extends AutomatedTestWidgetsFlutterBinding { - ImpellerModelBinding._(); +class ImpeelerBinding extends AutomatedTestWidgetsFlutterBinding { + ImpeelerBinding._(); /// Returns the binding, creating it if no binding exists yet. /// @@ -101,7 +101,7 @@ class ImpellerModelBinding extends AutomatedTestWidgetsFlutterBinding { /// call this before any `testWidgets` runs. // Mirrors the `XBinding.ensureInitialized()` convention of Flutter bindings. // ignore: prefer_constructors_over_static_methods - static ImpellerModelBinding ensureInitialized() { + static ImpeelerBinding ensureInitialized() { if (_instance != null) { return _instance!; } @@ -109,7 +109,7 @@ class ImpellerModelBinding extends AutomatedTestWidgetsFlutterBinding { final existing = WidgetsBinding.instance; throw StateError( 'A ${existing.runtimeType} is already installed. Call ' - 'ImpellerModelBinding.ensureInitialized() before the first ' + 'ImpeelerBinding.ensureInitialized() before the first ' 'testWidgets, e.g. at the top of main() or in ' 'test/flutter_test_config.dart.', ); @@ -118,18 +118,18 @@ class ImpellerModelBinding extends AutomatedTestWidgetsFlutterBinding { } on FlutterError { // No binding yet. } - return _instance = ImpellerModelBinding._(); + return _instance = ImpeelerBinding._(); } - static ImpellerModelBinding? _instance; + static ImpeelerBinding? _instance; /// The installed binding. - static ImpellerModelBinding get instance { + static ImpeelerBinding get instance { final i = _instance; if (i == null) { throw StateError( - 'ImpellerModelBinding is not installed. Call ' - 'ImpellerModelBinding.ensureInitialized() before the first ' + 'ImpeelerBinding is not installed. Call ' + 'ImpeelerBinding.ensureInitialized() before the first ' 'testWidgets.', ); } diff --git a/packages/impeller_model/lib/src/capture/creation_location.dart b/packages/impeeler/lib/src/capture/creation_location.dart similarity index 100% rename from packages/impeller_model/lib/src/capture/creation_location.dart rename to packages/impeeler/lib/src/capture/creation_location.dart diff --git a/packages/impeller_model/lib/src/capture/frame_requests.dart b/packages/impeeler/lib/src/capture/frame_requests.dart similarity index 98% rename from packages/impeller_model/lib/src/capture/frame_requests.dart rename to packages/impeeler/lib/src/capture/frame_requests.dart index 3b8cab7..f94fddf 100644 --- a/packages/impeller_model/lib/src/capture/frame_requests.dart +++ b/packages/impeeler/lib/src/capture/frame_requests.dart @@ -38,7 +38,7 @@ class StackFrameInfo { !uri.startsWith('package:test_api/') && !uri.startsWith('package:stack_trace/') && !uri.startsWith('package:matcher/') && - !uri.startsWith('package:impeller_model/'); + !uri.startsWith('package:impeeler/'); /// Framework plumbing between "something changed" and "schedule a /// frame": skipping it leaves the frame that caused the change. diff --git a/packages/impeller_model/lib/src/capture/layer_walk.dart b/packages/impeeler/lib/src/capture/layer_walk.dart similarity index 100% rename from packages/impeller_model/lib/src/capture/layer_walk.dart rename to packages/impeeler/lib/src/capture/layer_walk.dart diff --git a/packages/impeller_model/lib/src/capture/recorded_op.dart b/packages/impeeler/lib/src/capture/recorded_op.dart similarity index 100% rename from packages/impeller_model/lib/src/capture/recorded_op.dart rename to packages/impeeler/lib/src/capture/recorded_op.dart diff --git a/packages/impeller_model/lib/src/capture/recording_canvas.dart b/packages/impeeler/lib/src/capture/recording_canvas.dart similarity index 99% rename from packages/impeller_model/lib/src/capture/recording_canvas.dart rename to packages/impeeler/lib/src/capture/recording_canvas.dart index c8b463a..53c4a95 100644 --- a/packages/impeller_model/lib/src/capture/recording_canvas.dart +++ b/packages/impeeler/lib/src/capture/recording_canvas.dart @@ -9,7 +9,7 @@ import 'recorded_op.dart'; /// A `dart:ui` [Canvas] proxy that forwards every call to a real canvas and /// records a structured description of each op. /// -/// Installed by [ImpellerModelBinding] through the framework's test hook: +/// Installed by [ImpeelerBinding] through the framework's test hook: /// /// ```framework flutter/lib/src/rendering/binding.dart /// /// This hook enables test bindings to instrument the rendering layer. diff --git a/packages/impeller_model/lib/src/capture/scene_recording.dart b/packages/impeeler/lib/src/capture/scene_recording.dart similarity index 100% rename from packages/impeller_model/lib/src/capture/scene_recording.dart rename to packages/impeeler/lib/src/capture/scene_recording.dart diff --git a/packages/impeller_model/lib/src/capture/tickers.dart b/packages/impeeler/lib/src/capture/tickers.dart similarity index 100% rename from packages/impeller_model/lib/src/capture/tickers.dart rename to packages/impeeler/lib/src/capture/tickers.dart diff --git a/packages/impeller_model/lib/src/engine/canvas.dart b/packages/impeeler/lib/src/engine/canvas.dart similarity index 100% rename from packages/impeller_model/lib/src/engine/canvas.dart rename to packages/impeeler/lib/src/engine/canvas.dart diff --git a/packages/impeller_model/lib/src/engine/capabilities.dart b/packages/impeeler/lib/src/engine/capabilities.dart similarity index 100% rename from packages/impeller_model/lib/src/engine/capabilities.dart rename to packages/impeeler/lib/src/engine/capabilities.dart diff --git a/packages/impeller_model/lib/src/engine/color_filter.dart b/packages/impeeler/lib/src/engine/color_filter.dart similarity index 100% rename from packages/impeller_model/lib/src/engine/color_filter.dart rename to packages/impeeler/lib/src/engine/color_filter.dart diff --git a/packages/impeller_model/lib/src/engine/display_list.dart b/packages/impeeler/lib/src/engine/display_list.dart similarity index 100% rename from packages/impeller_model/lib/src/engine/display_list.dart rename to packages/impeeler/lib/src/engine/display_list.dart diff --git a/packages/impeller_model/lib/src/engine/dl_dispatcher.dart b/packages/impeeler/lib/src/engine/dl_dispatcher.dart similarity index 100% rename from packages/impeller_model/lib/src/engine/dl_dispatcher.dart rename to packages/impeeler/lib/src/engine/dl_dispatcher.dart diff --git a/packages/impeller_model/lib/src/engine/gaussian_blur.dart b/packages/impeeler/lib/src/engine/gaussian_blur.dart similarity index 100% rename from packages/impeller_model/lib/src/engine/gaussian_blur.dart rename to packages/impeeler/lib/src/engine/gaussian_blur.dart diff --git a/packages/impeller_model/lib/src/engine/labels.dart b/packages/impeeler/lib/src/engine/labels.dart similarity index 100% rename from packages/impeller_model/lib/src/engine/labels.dart rename to packages/impeeler/lib/src/engine/labels.dart diff --git a/packages/impeller_model/lib/src/engine/ops.dart b/packages/impeeler/lib/src/engine/ops.dart similarity index 100% rename from packages/impeller_model/lib/src/engine/ops.dart rename to packages/impeeler/lib/src/engine/ops.dart diff --git a/packages/impeller_model/lib/src/engine/revision.dart b/packages/impeeler/lib/src/engine/revision.dart similarity index 100% rename from packages/impeller_model/lib/src/engine/revision.dart rename to packages/impeeler/lib/src/engine/revision.dart diff --git a/packages/impeller_model/lib/src/model/traffic.dart b/packages/impeeler/lib/src/model/traffic.dart similarity index 100% rename from packages/impeller_model/lib/src/model/traffic.dart rename to packages/impeeler/lib/src/model/traffic.dart diff --git a/packages/impeller_model/pubspec.yaml b/packages/impeeler/pubspec.yaml similarity index 96% rename from packages/impeller_model/pubspec.yaml rename to packages/impeeler/pubspec.yaml index 79a97e9..80623f5 100644 --- a/packages/impeller_model/pubspec.yaml +++ b/packages/impeeler/pubspec.yaml @@ -1,4 +1,4 @@ -name: impeller_model +name: impeeler description: "Estimates the Impeller GPU passes, memory traffic and idle frame requests of a Flutter screen from a widget test." publish_to: 'none' version: 0.1.0 diff --git a/packages/impeller_model/skills/impeller_model-frame-demand/SKILL.md b/packages/impeeler/skills/impeeler-frame-demand/SKILL.md similarity index 91% rename from packages/impeller_model/skills/impeller_model-frame-demand/SKILL.md rename to packages/impeeler/skills/impeeler-frame-demand/SKILL.md index 2e0e36a..c7aa782 100644 --- a/packages/impeller_model/skills/impeller_model-frame-demand/SKILL.md +++ b/packages/impeeler/skills/impeeler-frame-demand/SKILL.md @@ -1,17 +1,17 @@ --- -name: impeller_model-frame-demand +name: impeeler-frame-demand description: >- Find what keeps a Flutter screen rendering while it looks idle, from a - widget test with impeller_model: running tickers, repeating animations, a + widget test with impeeler: running tickers, repeating animations, a blinking caret, timers that call setState. Use when a static screen drains battery, runs hot or keeps the GPU busy; when asked to find running or leaked tickers or AnimationControllers; or when lowering the frame rate of a subtle, decorative or long-running animation (fixed_ticker). --- -# Find continuous frame demand with impeller_model +# Find continuous frame demand with impeeler -Every frame costs its full GPU work (see `impeller_model-gpu-cost`), so a +Every frame costs its full GPU work (see `impeeler-gpu-cost`), so a screen that requests a frame every vsync while nothing visibly changes pays that cost 60โ€“120 times a second. `measureFrameDemand` pumps fake time in vsync steps and records each frame the app requests, who requested it, and @@ -21,8 +21,8 @@ whether the frame drew anything new. ### 1. Install the binding -Install `ImpellerModelBinding` in `test/flutter_test_config.dart` as step 1 of -the `impeller_model-gpu-cost` skill shows. Frame attribution needs it. +Install `ImpeelerBinding` in `test/flutter_test_config.dart` as step 1 of +the `impeeler-gpu-cost` skill shows. Frame attribution needs it. Done when the test suite runs with the binding. @@ -114,4 +114,4 @@ Done when the test asserts the demand and passes. - On iOS, partial repaint can redraw only the caret's region, so the GPU cost of a caret frame on a device can be far below the full-frame estimate. The frame still runs build, layout, paint and raster encoding. Measure on a - device with `impeller_model-gpu-profiling` when the per-frame cost matters. + device with `impeeler-gpu-profiling` when the per-frame cost matters. diff --git a/packages/impeller_model/skills/impeller_model-gpu-cost/SKILL.md b/packages/impeeler/skills/impeeler-gpu-cost/SKILL.md similarity index 87% rename from packages/impeller_model/skills/impeller_model-gpu-cost/SKILL.md rename to packages/impeeler/skills/impeeler-gpu-cost/SKILL.md index c55b174..19aef53 100644 --- a/packages/impeller_model/skills/impeller_model-gpu-cost/SKILL.md +++ b/packages/impeeler/skills/impeeler-gpu-cost/SKILL.md @@ -1,8 +1,8 @@ --- -name: impeller_model-gpu-cost +name: impeeler-gpu-cost description: >- Estimate and reduce the Impeller GPU cost of a Flutter screen from a widget - test with impeller_model: render passes, offscreen textures and memory + test with impeeler: render passes, offscreen textures and memory traffic per device class. Use when a screen uses BackdropFilter, blur, frosted glass, Opacity, saveLayer, ShaderMask, ImageFiltered, ColorFiltered, advanced blend modes or Cupertino dialogs and sheets; when asked why a @@ -10,35 +10,35 @@ description: >- GPU budget to a test. --- -# Estimate a screen's GPU cost with impeller_model +# Estimate a screen's GPU cost with impeeler -`impeller_model` replays the frames of a widget test through a port of +`impeeler` replays the frames of a widget test through a port of Impeller's pass logic (Flutter 3.47.1) and reports, per device class, the render passes a frame splits into, which widget caused each one, and the memory traffic beyond a plain frame. It is an **estimate**: the pass structure was checked against real GPU traces on macOS Metal and a Pixel 10 (see the package's `FEASIBILITY.md`), but bytes are nominal and GPU time is not modeled. The ground truth is a device capture: the -`impeller_model-gpu-profiling` skill. +`impeeler-gpu-profiling` skill. A frame that idles at 60 or 120 Hz pays its cost on every vsync. When the -question is *how often* a screen renders, use `impeller_model-frame-demand`; +question is *how often* a screen renders, use `impeeler-frame-demand`; `estimateGpu` reports both. ## Steps ### 1. Install the binding -Add the package as a dev dependency and install `ImpellerModelBinding` in +Add the package as a dev dependency and install `ImpeelerBinding` in `test/flutter_test_config.dart`, so it is in place before the first test: ```dart import 'dart:async'; -import 'package:impeller_model/impeller_model.dart'; +import 'package:impeeler/impeeler.dart'; Future testExecutable(FutureOr Function() testMain) async { - ImpellerModelBinding.ensureInitialized(); + ImpeelerBinding.ensureInitialized(); await testMain(); } ``` @@ -47,7 +47,7 @@ It replaces `AutomatedTestWidgetsFlutterBinding`; ordinary widget tests keep working, and their own `TestWidgetsFlutterBinding.ensureInitialized()` calls return it. Only a binding installed before the config runs (for example `IntegrationTestWidgetsFlutterBinding` in an integration test) makes -`ImpellerModelBinding.ensureInitialized()` throw a `StateError` naming it. +`ImpeelerBinding.ensureInitialized()` throw a `StateError` naming it. Done when `flutter test` runs with the config file and the existing tests pass. @@ -67,7 +67,7 @@ final report = await estimateGpu(tester, screenshot: true); adaptive widgets build as on that device, captures one frame per device, then watches frame demand for one second on the first. It writes `.json`, `.html` and (with `screenshot`) `.png` to -`test/.impeller_model/`. Other presets are on `GpuDevice` (iPhone SE/Pro +`test/.impeeler/`. Other presets are on `GpuDevice` (iPhone SE/Pro Max, iPad Pro 13", iOS Simulator, Galaxy S25, an OpenGL ES phone); `GpuDevice.custom(screen, gpu: CapabilityProfile...)` pairs any `device_frame` screen with a GPU profile. @@ -122,7 +122,7 @@ Done when the test asserts the budget and passes. ### 6. Confirm on a device when it matters When a decision depends on real GPU time or energy, or the report marks a pass -`approximate`, measure with `impeller_model-gpu-profiling`. The report's +`approximate`, measure with `impeeler-gpu-profiling`. The report's "Compare with a GPU capture" panel lists what to expect per frame: encoder labels on Metal, pass sizes on Vulkan. diff --git a/packages/impeller_model/skills/impeller_model-gpu-cost/references/engine-source.md b/packages/impeeler/skills/impeeler-gpu-cost/references/engine-source.md similarity index 100% rename from packages/impeller_model/skills/impeller_model-gpu-cost/references/engine-source.md rename to packages/impeeler/skills/impeeler-gpu-cost/references/engine-source.md diff --git a/packages/impeller_model/skills/impeller_model-gpu-cost/references/reading-the-report.md b/packages/impeeler/skills/impeeler-gpu-cost/references/reading-the-report.md similarity index 97% rename from packages/impeller_model/skills/impeller_model-gpu-cost/references/reading-the-report.md rename to packages/impeeler/skills/impeeler-gpu-cost/references/reading-the-report.md index 54dc383..7d960cd 100644 --- a/packages/impeller_model/skills/impeller_model-gpu-cost/references/reading-the-report.md +++ b/packages/impeeler/skills/impeeler-gpu-cost/references/reading-the-report.md @@ -1,4 +1,4 @@ -# Reading an impeller_model report +# Reading an impeeler report ## Units @@ -26,7 +26,7 @@ report notes it where it applies. - Partial repaint is not modeled: iOS may redraw only a damaged region of the screen. The estimate is the full frame. -- **Frame demand**: see the `impeller_model-frame-demand` skill. +- **Frame demand**: see the `impeeler-frame-demand` skill. ## Pass roles diff --git a/packages/impeller_model/skills/impeller_model-gpu-cost/references/reducing-cost.md b/packages/impeeler/skills/impeeler-gpu-cost/references/reducing-cost.md similarity index 98% rename from packages/impeller_model/skills/impeller_model-gpu-cost/references/reducing-cost.md rename to packages/impeeler/skills/impeeler-gpu-cost/references/reducing-cost.md index 656bad9..c1a819d 100644 --- a/packages/impeller_model/skills/impeller_model-gpu-cost/references/reducing-cost.md +++ b/packages/impeeler/skills/impeeler-gpu-cost/references/reducing-cost.md @@ -53,7 +53,7 @@ children's paints: the "opacity peephole" and an `OpacityLayer` at full opacity adds no layer (`flow/layers/layer_state_stack.cc` applies opacity only below 1). A fade that never finishes (a pulsing badge) pays the layer on every frame; see - `impeller_model-frame-demand`. + `impeeler-frame-demand`. ## Layers (`saveLayer`) @@ -101,4 +101,4 @@ hue, saturation, color, luminosity) are *advanced blends* A frame's passes are paid every time it renders. A screen that repaints every vsync while it looks still (a caret, a looping animation) multiplies the cost by 60โ€“120 per second: find those with the -`impeller_model-frame-demand` skill. +`impeeler-frame-demand` skill. diff --git a/packages/impeller_model/skills/impeller_model-gpu-profiling/SKILL.md b/packages/impeeler/skills/impeeler-gpu-profiling/SKILL.md similarity index 96% rename from packages/impeller_model/skills/impeller_model-gpu-profiling/SKILL.md rename to packages/impeeler/skills/impeeler-gpu-profiling/SKILL.md index f5385ce..a3f1d54 100644 --- a/packages/impeller_model/skills/impeller_model-gpu-profiling/SKILL.md +++ b/packages/impeeler/skills/impeeler-gpu-profiling/SKILL.md @@ -1,12 +1,12 @@ --- -name: impeller_model-gpu-profiling +name: impeeler-gpu-profiling description: >- Measure Impeller GPU work of a Flutter app on real hardware: Metal frame captures (Xcode, gpucapture, gpudebug), Instruments Metal System Trace and Power Profiler, Android GPU Inspector, RenderDoc, Perfetto, dumpsys. Use when profiling GPU time, raster-thread jank, battery drain or thermal state on an iOS, macOS or Android device; when capturing or reading a GPU frame capture; - when finding which frame is expensive; or when checking an impeller_model + when finding which frame is expensive; or when checking an impeeler estimate against a device. --- @@ -14,14 +14,14 @@ description: >- This skill produces **ground truth**: render passes, attachments, GPU time and energy measured on a physical device running a profile build. Estimates come -from the sibling skills: `impeller_model-gpu-cost` (render passes from a widget -test) and `impeller_model-frame-demand` (continuously requested frames). Use +from the sibling skills: `impeeler-gpu-cost` (render passes from a widget +test) and `impeeler-frame-demand` (continuously requested frames). Use this skill when the answer has to come from hardware: - confirm the passes Impeller really encodes for a screen, - measure GPU time per frame and frame cadence over time, - measure energy and thermal state, or compare two variants of a screen, -- check whether an `impeller_model` estimate matches the device. +- check whether an `impeeler` estimate matches the device. Sources are linked inline. The Flutter team's capture guides ship in the Flutter SDK under `docs/engine/impeller/docs/` (pinned 3.47.1 copies: @@ -130,7 +130,7 @@ over at least three runs per variant. Map each pass to its cause with the label table in [references/captures.md](references/captures.md). When an estimate from -`impeller_model-gpu-cost` exists for the same screen, compare per frame: +`impeeler-gpu-cost` exists for the same screen, compare per frame: - pass count by label (each Gaussian blur is three passes), - offscreen texture sizes and formats, and bytes per pixel from the same diff --git a/packages/impeller_model/skills/impeller_model-gpu-profiling/references/android.md b/packages/impeeler/skills/impeeler-gpu-profiling/references/android.md similarity index 99% rename from packages/impeller_model/skills/impeller_model-gpu-profiling/references/android.md rename to packages/impeeler/skills/impeeler-gpu-profiling/references/android.md index 86bf72f..0d517e9 100644 --- a/packages/impeller_model/skills/impeller_model-gpu-profiling/references/android.md +++ b/packages/impeeler/skills/impeeler-gpu-profiling/references/android.md @@ -20,7 +20,7 @@ still describes the older Skia fallback. - Confirm the backend in logcat or the `flutter run` output: the engine logs `Using the Impeller rendering backend (Vulkan).` or `(OpenGLES).`. On - OpenGL ES, compare with `impeller_model`'s `olderAndroidGles` preset. + OpenGL ES, compare with `impeeler`'s `olderAndroidGles` preset. - Impeller is the default on API 29+ ([Impeller docs](https://docs.flutter.dev/perf/impeller)), even though the `flutter run --help` text for `--enable-impeller` still calls it opt-in. diff --git a/packages/impeller_model/skills/impeller_model-gpu-profiling/references/apple.md b/packages/impeeler/skills/impeeler-gpu-profiling/references/apple.md similarity index 100% rename from packages/impeller_model/skills/impeller_model-gpu-profiling/references/apple.md rename to packages/impeeler/skills/impeeler-gpu-profiling/references/apple.md diff --git a/packages/impeller_model/skills/impeller_model-gpu-profiling/references/captures.md b/packages/impeeler/skills/impeeler-gpu-profiling/references/captures.md similarity index 97% rename from packages/impeller_model/skills/impeller_model-gpu-profiling/references/captures.md rename to packages/impeeler/skills/impeeler-gpu-profiling/references/captures.md index cb7af3d..e8d29ba 100644 --- a/packages/impeller_model/skills/impeller_model-gpu-profiling/references/captures.md +++ b/packages/impeeler/skills/impeeler-gpu-profiling/references/captures.md @@ -1,7 +1,7 @@ # Reading Impeller in a GPU capture What engine 3.47.1 labels its GPU work, and how big its textures are. Used -by step 5 of the `impeller_model-gpu-profiling` skill. +by step 5 of the `impeeler-gpu-profiling` skill. ## Labels diff --git a/packages/impeller_model/skills/impeller_model-gpu-profiling/scripts/metal_passes.py b/packages/impeeler/skills/impeeler-gpu-profiling/scripts/metal_passes.py similarity index 100% rename from packages/impeller_model/skills/impeller_model-gpu-profiling/scripts/metal_passes.py rename to packages/impeeler/skills/impeeler-gpu-profiling/scripts/metal_passes.py diff --git a/packages/impeller_model/test/cases_test.dart b/packages/impeeler/test/cases_test.dart similarity index 99% rename from packages/impeller_model/test/cases_test.dart rename to packages/impeeler/test/cases_test.dart index eec5ed8..d4cbeb1 100644 --- a/packages/impeller_model/test/cases_test.dart +++ b/packages/impeeler/test/cases_test.dart @@ -2,9 +2,9 @@ import 'dart:ui' as ui; import 'package:flutter/cupertino.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:impeller_model/impeller_model.dart'; -import 'package:impeller_model/src/engine/display_list.dart'; -import 'package:impeller_model/src/engine/ops.dart'; +import 'package:impeeler/impeeler.dart'; +import 'package:impeeler/src/engine/display_list.dart'; +import 'package:impeeler/src/engine/ops.dart'; Widget dir(Widget child) => Directionality(textDirection: TextDirection.ltr, child: child); @@ -23,7 +23,7 @@ GpuDevice testView(CapabilityProfile profile) => GpuDevice.custom( name: profile.name, ); -FrameCapture captureNow() => ImpellerModelBinding.instance.captureFrame()!; +FrameCapture captureNow() => ImpeelerBinding.instance.captureFrame()!; PassTimeline timelineFor(FrameCapture capture, CapabilityProfile profile) => estimateFrame(capture, testView(profile)).timeline; diff --git a/packages/impeller_model/test/custom_layer_test.dart b/packages/impeeler/test/custom_layer_test.dart similarity index 98% rename from packages/impeller_model/test/custom_layer_test.dart rename to packages/impeeler/test/custom_layer_test.dart index 1a1ef1c..4383d59 100644 --- a/packages/impeller_model/test/custom_layer_test.dart +++ b/packages/impeeler/test/custom_layer_test.dart @@ -7,8 +7,8 @@ import 'dart:ui' as ui; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:impeller_model/impeller_model.dart'; -import 'package:impeller_model/src/capture/layer_walk.dart' show LayerWalker; +import 'package:impeeler/impeeler.dart'; +import 'package:impeeler/src/capture/layer_walk.dart' show LayerWalker; import 'cases_test.dart' show captureNow, dir, timelineFor; diff --git a/packages/impeller_model/test/flutter_test_config.dart b/packages/impeeler/test/flutter_test_config.dart similarity index 54% rename from packages/impeller_model/test/flutter_test_config.dart rename to packages/impeeler/test/flutter_test_config.dart index ebc6e5f..406b8f4 100644 --- a/packages/impeller_model/test/flutter_test_config.dart +++ b/packages/impeeler/test/flutter_test_config.dart @@ -1,8 +1,8 @@ import 'dart:async'; -import 'package:impeller_model/impeller_model.dart'; +import 'package:impeeler/impeeler.dart'; Future testExecutable(FutureOr Function() testMain) async { - ImpellerModelBinding.ensureInitialized(); + ImpeelerBinding.ensureInitialized(); await testMain(); } diff --git a/packages/impeller_model/test/frame_demand_test.dart b/packages/impeeler/test/frame_demand_test.dart similarity index 98% rename from packages/impeller_model/test/frame_demand_test.dart rename to packages/impeeler/test/frame_demand_test.dart index 259d86d..dbd9dcd 100644 --- a/packages/impeller_model/test/frame_demand_test.dart +++ b/packages/impeeler/test/frame_demand_test.dart @@ -1,7 +1,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:impeller_model/impeller_model.dart'; +import 'package:impeeler/impeeler.dart'; class _Pulse extends StatefulWidget { const _Pulse(); diff --git a/packages/impeller_model/test/html_report_test.dart b/packages/impeeler/test/html_report_test.dart similarity index 93% rename from packages/impeller_model/test/html_report_test.dart rename to packages/impeeler/test/html_report_test.dart index d4322d0..05543f6 100644 --- a/packages/impeller_model/test/html_report_test.dart +++ b/packages/impeeler/test/html_report_test.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'package:flutter_test/flutter_test.dart'; -import 'package:impeller_model/src/api/html_report.dart'; +import 'package:impeeler/src/api/html_report.dart'; void main() { test('embeds the report so it round-trips and cannot close the script', () { diff --git a/packages/impeller_model/test/memory_test.dart b/packages/impeeler/test/memory_test.dart similarity index 98% rename from packages/impeller_model/test/memory_test.dart rename to packages/impeeler/test/memory_test.dart index d2b70f0..3ccc0f2 100644 --- a/packages/impeller_model/test/memory_test.dart +++ b/packages/impeeler/test/memory_test.dart @@ -8,7 +8,7 @@ import 'dart:ui' show ImageFilter; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:impeller_model/impeller_model.dart'; +import 'package:impeeler/impeeler.dart'; /// A full-screen ClipRRect that must use a saveLayer: two overlapping /// children under Clip.antiAliasWithSaveLayer (validated on device by the diff --git a/packages/impeller_model/tool/engine_refs.dart b/packages/impeeler/tool/engine_refs.dart similarity index 100% rename from packages/impeller_model/tool/engine_refs.dart rename to packages/impeeler/tool/engine_refs.dart diff --git a/packages/impeller_model/validation/.gitignore b/packages/impeeler/validation/.gitignore similarity index 100% rename from packages/impeller_model/validation/.gitignore rename to packages/impeeler/validation/.gitignore diff --git a/packages/impeller_model/validation/.metadata b/packages/impeeler/validation/.metadata similarity index 100% rename from packages/impeller_model/validation/.metadata rename to packages/impeeler/validation/.metadata diff --git a/packages/impeller_model/validation/README.md b/packages/impeeler/validation/README.md similarity index 97% rename from packages/impeller_model/validation/README.md rename to packages/impeeler/validation/README.md index deac8a3..7268af8 100644 --- a/packages/impeller_model/validation/README.md +++ b/packages/impeeler/validation/README.md @@ -1,6 +1,6 @@ # impeller_validation -Checks `impeller_model`'s pass predictions against real GPU traces. Fourteen +Checks `impeeler`'s pass predictions against real GPU traces. Fourteen scenes cover the engine rules the model ports (opacity peephole, saveLayer, backdrop filters and groups, a blur dropped at sigma 0, a backdrop inside a layer, image filters, shadows, advanced blends, the `CupertinoAlertDialog` diff --git a/packages/impeller_model/validation/analysis_options.yaml b/packages/impeeler/validation/analysis_options.yaml similarity index 100% rename from packages/impeller_model/validation/analysis_options.yaml rename to packages/impeeler/validation/analysis_options.yaml diff --git a/packages/impeller_model/validation/android/.gitignore b/packages/impeeler/validation/android/.gitignore similarity index 100% rename from packages/impeller_model/validation/android/.gitignore rename to packages/impeeler/validation/android/.gitignore diff --git a/packages/impeller_model/validation/android/app/build.gradle.kts b/packages/impeeler/validation/android/app/build.gradle.kts similarity index 100% rename from packages/impeller_model/validation/android/app/build.gradle.kts rename to packages/impeeler/validation/android/app/build.gradle.kts diff --git a/packages/impeller_model/validation/android/app/src/debug/AndroidManifest.xml b/packages/impeeler/validation/android/app/src/debug/AndroidManifest.xml similarity index 100% rename from packages/impeller_model/validation/android/app/src/debug/AndroidManifest.xml rename to packages/impeeler/validation/android/app/src/debug/AndroidManifest.xml diff --git a/packages/impeller_model/validation/android/app/src/main/AndroidManifest.xml b/packages/impeeler/validation/android/app/src/main/AndroidManifest.xml similarity index 100% rename from packages/impeller_model/validation/android/app/src/main/AndroidManifest.xml rename to packages/impeeler/validation/android/app/src/main/AndroidManifest.xml diff --git a/packages/impeller_model/validation/android/app/src/main/kotlin/it/whynotmake/impeller_validation/MainActivity.kt b/packages/impeeler/validation/android/app/src/main/kotlin/it/whynotmake/impeller_validation/MainActivity.kt similarity index 100% rename from packages/impeller_model/validation/android/app/src/main/kotlin/it/whynotmake/impeller_validation/MainActivity.kt rename to packages/impeeler/validation/android/app/src/main/kotlin/it/whynotmake/impeller_validation/MainActivity.kt diff --git a/packages/impeller_model/validation/android/app/src/main/res/drawable-v21/launch_background.xml b/packages/impeeler/validation/android/app/src/main/res/drawable-v21/launch_background.xml similarity index 100% rename from packages/impeller_model/validation/android/app/src/main/res/drawable-v21/launch_background.xml rename to packages/impeeler/validation/android/app/src/main/res/drawable-v21/launch_background.xml diff --git a/packages/impeller_model/validation/android/app/src/main/res/drawable/launch_background.xml b/packages/impeeler/validation/android/app/src/main/res/drawable/launch_background.xml similarity index 100% rename from packages/impeller_model/validation/android/app/src/main/res/drawable/launch_background.xml rename to packages/impeeler/validation/android/app/src/main/res/drawable/launch_background.xml diff --git a/packages/impeller_model/validation/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/impeeler/validation/android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from packages/impeller_model/validation/android/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to packages/impeeler/validation/android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/packages/impeller_model/validation/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/impeeler/validation/android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from packages/impeller_model/validation/android/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to packages/impeeler/validation/android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/packages/impeller_model/validation/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/impeeler/validation/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from packages/impeller_model/validation/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to packages/impeeler/validation/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/packages/impeller_model/validation/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/impeeler/validation/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from packages/impeller_model/validation/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to packages/impeeler/validation/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/packages/impeller_model/validation/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/impeeler/validation/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from packages/impeller_model/validation/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to packages/impeeler/validation/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/packages/impeller_model/validation/android/app/src/main/res/values-night/styles.xml b/packages/impeeler/validation/android/app/src/main/res/values-night/styles.xml similarity index 100% rename from packages/impeller_model/validation/android/app/src/main/res/values-night/styles.xml rename to packages/impeeler/validation/android/app/src/main/res/values-night/styles.xml diff --git a/packages/impeller_model/validation/android/app/src/main/res/values/styles.xml b/packages/impeeler/validation/android/app/src/main/res/values/styles.xml similarity index 100% rename from packages/impeller_model/validation/android/app/src/main/res/values/styles.xml rename to packages/impeeler/validation/android/app/src/main/res/values/styles.xml diff --git a/packages/impeller_model/validation/android/app/src/profile/AndroidManifest.xml b/packages/impeeler/validation/android/app/src/profile/AndroidManifest.xml similarity index 100% rename from packages/impeller_model/validation/android/app/src/profile/AndroidManifest.xml rename to packages/impeeler/validation/android/app/src/profile/AndroidManifest.xml diff --git a/packages/impeller_model/validation/android/build.gradle.kts b/packages/impeeler/validation/android/build.gradle.kts similarity index 100% rename from packages/impeller_model/validation/android/build.gradle.kts rename to packages/impeeler/validation/android/build.gradle.kts diff --git a/packages/impeller_model/validation/android/gradle.properties b/packages/impeeler/validation/android/gradle.properties similarity index 100% rename from packages/impeller_model/validation/android/gradle.properties rename to packages/impeeler/validation/android/gradle.properties diff --git a/packages/impeller_model/validation/android/gradle/wrapper/gradle-wrapper.properties b/packages/impeeler/validation/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from packages/impeller_model/validation/android/gradle/wrapper/gradle-wrapper.properties rename to packages/impeeler/validation/android/gradle/wrapper/gradle-wrapper.properties diff --git a/packages/impeller_model/validation/android/settings.gradle.kts b/packages/impeeler/validation/android/settings.gradle.kts similarity index 100% rename from packages/impeller_model/validation/android/settings.gradle.kts rename to packages/impeeler/validation/android/settings.gradle.kts diff --git a/packages/impeller_model/validation/ios/.gitignore b/packages/impeeler/validation/ios/.gitignore similarity index 100% rename from packages/impeller_model/validation/ios/.gitignore rename to packages/impeeler/validation/ios/.gitignore diff --git a/packages/impeller_model/validation/ios/Flutter/AppFrameworkInfo.plist b/packages/impeeler/validation/ios/Flutter/AppFrameworkInfo.plist similarity index 100% rename from packages/impeller_model/validation/ios/Flutter/AppFrameworkInfo.plist rename to packages/impeeler/validation/ios/Flutter/AppFrameworkInfo.plist diff --git a/packages/impeller_model/validation/ios/Flutter/Debug.xcconfig b/packages/impeeler/validation/ios/Flutter/Debug.xcconfig similarity index 100% rename from packages/impeller_model/validation/ios/Flutter/Debug.xcconfig rename to packages/impeeler/validation/ios/Flutter/Debug.xcconfig diff --git a/packages/impeller_model/validation/ios/Flutter/Release.xcconfig b/packages/impeeler/validation/ios/Flutter/Release.xcconfig similarity index 100% rename from packages/impeller_model/validation/ios/Flutter/Release.xcconfig rename to packages/impeeler/validation/ios/Flutter/Release.xcconfig diff --git a/packages/impeller_model/validation/ios/Runner.xcodeproj/project.pbxproj b/packages/impeeler/validation/ios/Runner.xcodeproj/project.pbxproj similarity index 100% rename from packages/impeller_model/validation/ios/Runner.xcodeproj/project.pbxproj rename to packages/impeeler/validation/ios/Runner.xcodeproj/project.pbxproj diff --git a/packages/impeller_model/validation/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/impeeler/validation/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/impeller_model/validation/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to packages/impeeler/validation/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/packages/impeller_model/validation/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/impeeler/validation/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/impeller_model/validation/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/impeeler/validation/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/impeller_model/validation/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/impeeler/validation/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from packages/impeller_model/validation/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to packages/impeeler/validation/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/packages/impeller_model/validation/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/impeeler/validation/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 100% rename from packages/impeller_model/validation/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to packages/impeeler/validation/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme diff --git a/packages/impeller_model/validation/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/impeeler/validation/ios/Runner.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/impeller_model/validation/ios/Runner.xcworkspace/contents.xcworkspacedata rename to packages/impeeler/validation/ios/Runner.xcworkspace/contents.xcworkspacedata diff --git a/packages/impeller_model/validation/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/impeeler/validation/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/impeller_model/validation/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/impeeler/validation/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/impeller_model/validation/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/impeeler/validation/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from packages/impeller_model/validation/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to packages/impeeler/validation/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/packages/impeller_model/validation/ios/Runner/AppDelegate.swift b/packages/impeeler/validation/ios/Runner/AppDelegate.swift similarity index 100% rename from packages/impeller_model/validation/ios/Runner/AppDelegate.swift rename to packages/impeeler/validation/ios/Runner/AppDelegate.swift diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/impeeler/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/impeeler/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png diff --git a/packages/impeller_model/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/impeeler/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md rename to packages/impeeler/validation/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md diff --git a/packages/impeller_model/validation/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/impeeler/validation/ios/Runner/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Base.lproj/LaunchScreen.storyboard rename to packages/impeeler/validation/ios/Runner/Base.lproj/LaunchScreen.storyboard diff --git a/packages/impeller_model/validation/ios/Runner/Base.lproj/Main.storyboard b/packages/impeeler/validation/ios/Runner/Base.lproj/Main.storyboard similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Base.lproj/Main.storyboard rename to packages/impeeler/validation/ios/Runner/Base.lproj/Main.storyboard diff --git a/packages/impeller_model/validation/ios/Runner/Info.plist b/packages/impeeler/validation/ios/Runner/Info.plist similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Info.plist rename to packages/impeeler/validation/ios/Runner/Info.plist diff --git a/packages/impeller_model/validation/ios/Runner/Runner-Bridging-Header.h b/packages/impeeler/validation/ios/Runner/Runner-Bridging-Header.h similarity index 100% rename from packages/impeller_model/validation/ios/Runner/Runner-Bridging-Header.h rename to packages/impeeler/validation/ios/Runner/Runner-Bridging-Header.h diff --git a/packages/impeller_model/validation/ios/Runner/SceneDelegate.swift b/packages/impeeler/validation/ios/Runner/SceneDelegate.swift similarity index 100% rename from packages/impeller_model/validation/ios/Runner/SceneDelegate.swift rename to packages/impeeler/validation/ios/Runner/SceneDelegate.swift diff --git a/packages/impeller_model/validation/ios/RunnerTests/RunnerTests.swift b/packages/impeeler/validation/ios/RunnerTests/RunnerTests.swift similarity index 100% rename from packages/impeller_model/validation/ios/RunnerTests/RunnerTests.swift rename to packages/impeeler/validation/ios/RunnerTests/RunnerTests.swift diff --git a/packages/impeller_model/validation/lib/main.dart b/packages/impeeler/validation/lib/main.dart similarity index 100% rename from packages/impeller_model/validation/lib/main.dart rename to packages/impeeler/validation/lib/main.dart diff --git a/packages/impeller_model/validation/lib/scenes.dart b/packages/impeeler/validation/lib/scenes.dart similarity index 100% rename from packages/impeller_model/validation/lib/scenes.dart rename to packages/impeeler/validation/lib/scenes.dart diff --git a/packages/impeller_model/validation/macos/.gitignore b/packages/impeeler/validation/macos/.gitignore similarity index 100% rename from packages/impeller_model/validation/macos/.gitignore rename to packages/impeeler/validation/macos/.gitignore diff --git a/packages/impeller_model/validation/macos/Flutter/Flutter-Debug.xcconfig b/packages/impeeler/validation/macos/Flutter/Flutter-Debug.xcconfig similarity index 100% rename from packages/impeller_model/validation/macos/Flutter/Flutter-Debug.xcconfig rename to packages/impeeler/validation/macos/Flutter/Flutter-Debug.xcconfig diff --git a/packages/impeller_model/validation/macos/Flutter/Flutter-Release.xcconfig b/packages/impeeler/validation/macos/Flutter/Flutter-Release.xcconfig similarity index 100% rename from packages/impeller_model/validation/macos/Flutter/Flutter-Release.xcconfig rename to packages/impeeler/validation/macos/Flutter/Flutter-Release.xcconfig diff --git a/packages/impeller_model/validation/macos/Flutter/GeneratedPluginRegistrant.swift b/packages/impeeler/validation/macos/Flutter/GeneratedPluginRegistrant.swift similarity index 100% rename from packages/impeller_model/validation/macos/Flutter/GeneratedPluginRegistrant.swift rename to packages/impeeler/validation/macos/Flutter/GeneratedPluginRegistrant.swift diff --git a/packages/impeller_model/validation/macos/Runner.xcodeproj/project.pbxproj b/packages/impeeler/validation/macos/Runner.xcodeproj/project.pbxproj similarity index 100% rename from packages/impeller_model/validation/macos/Runner.xcodeproj/project.pbxproj rename to packages/impeeler/validation/macos/Runner.xcodeproj/project.pbxproj diff --git a/packages/impeller_model/validation/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/impeeler/validation/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/impeller_model/validation/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/impeeler/validation/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/impeller_model/validation/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/impeeler/validation/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 100% rename from packages/impeller_model/validation/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to packages/impeeler/validation/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme diff --git a/packages/impeller_model/validation/macos/Runner.xcworkspace/contents.xcworkspacedata b/packages/impeeler/validation/macos/Runner.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/impeller_model/validation/macos/Runner.xcworkspace/contents.xcworkspacedata rename to packages/impeeler/validation/macos/Runner.xcworkspace/contents.xcworkspacedata diff --git a/packages/impeller_model/validation/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/impeeler/validation/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/impeller_model/validation/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/impeeler/validation/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/impeller_model/validation/macos/Runner/AppDelegate.swift b/packages/impeeler/validation/macos/Runner/AppDelegate.swift similarity index 100% rename from packages/impeller_model/validation/macos/Runner/AppDelegate.swift rename to packages/impeeler/validation/macos/Runner/AppDelegate.swift diff --git a/packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png rename to packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png diff --git a/packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png rename to packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png diff --git a/packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png rename to packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png diff --git a/packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png rename to packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png diff --git a/packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png rename to packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png diff --git a/packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png rename to packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png diff --git a/packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png rename to packages/impeeler/validation/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png diff --git a/packages/impeller_model/validation/macos/Runner/Base.lproj/MainMenu.xib b/packages/impeeler/validation/macos/Runner/Base.lproj/MainMenu.xib similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Base.lproj/MainMenu.xib rename to packages/impeeler/validation/macos/Runner/Base.lproj/MainMenu.xib diff --git a/packages/impeller_model/validation/macos/Runner/Configs/AppInfo.xcconfig b/packages/impeeler/validation/macos/Runner/Configs/AppInfo.xcconfig similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Configs/AppInfo.xcconfig rename to packages/impeeler/validation/macos/Runner/Configs/AppInfo.xcconfig diff --git a/packages/impeller_model/validation/macos/Runner/Configs/Debug.xcconfig b/packages/impeeler/validation/macos/Runner/Configs/Debug.xcconfig similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Configs/Debug.xcconfig rename to packages/impeeler/validation/macos/Runner/Configs/Debug.xcconfig diff --git a/packages/impeller_model/validation/macos/Runner/Configs/Release.xcconfig b/packages/impeeler/validation/macos/Runner/Configs/Release.xcconfig similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Configs/Release.xcconfig rename to packages/impeeler/validation/macos/Runner/Configs/Release.xcconfig diff --git a/packages/impeller_model/validation/macos/Runner/Configs/Warnings.xcconfig b/packages/impeeler/validation/macos/Runner/Configs/Warnings.xcconfig similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Configs/Warnings.xcconfig rename to packages/impeeler/validation/macos/Runner/Configs/Warnings.xcconfig diff --git a/packages/impeller_model/validation/macos/Runner/DebugProfile.entitlements b/packages/impeeler/validation/macos/Runner/DebugProfile.entitlements similarity index 100% rename from packages/impeller_model/validation/macos/Runner/DebugProfile.entitlements rename to packages/impeeler/validation/macos/Runner/DebugProfile.entitlements diff --git a/packages/impeller_model/validation/macos/Runner/Info.plist b/packages/impeeler/validation/macos/Runner/Info.plist similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Info.plist rename to packages/impeeler/validation/macos/Runner/Info.plist diff --git a/packages/impeller_model/validation/macos/Runner/MainFlutterWindow.swift b/packages/impeeler/validation/macos/Runner/MainFlutterWindow.swift similarity index 100% rename from packages/impeller_model/validation/macos/Runner/MainFlutterWindow.swift rename to packages/impeeler/validation/macos/Runner/MainFlutterWindow.swift diff --git a/packages/impeller_model/validation/macos/Runner/Release.entitlements b/packages/impeeler/validation/macos/Runner/Release.entitlements similarity index 100% rename from packages/impeller_model/validation/macos/Runner/Release.entitlements rename to packages/impeeler/validation/macos/Runner/Release.entitlements diff --git a/packages/impeller_model/validation/macos/RunnerTests/RunnerTests.swift b/packages/impeeler/validation/macos/RunnerTests/RunnerTests.swift similarity index 100% rename from packages/impeller_model/validation/macos/RunnerTests/RunnerTests.swift rename to packages/impeeler/validation/macos/RunnerTests/RunnerTests.swift diff --git a/packages/impeller_model/validation/predictions.json b/packages/impeeler/validation/predictions.json similarity index 100% rename from packages/impeller_model/validation/predictions.json rename to packages/impeeler/validation/predictions.json diff --git a/packages/impeller_model/validation/pubspec.yaml b/packages/impeeler/validation/pubspec.yaml similarity index 73% rename from packages/impeller_model/validation/pubspec.yaml rename to packages/impeeler/validation/pubspec.yaml index 093d66f..1e0af0e 100644 --- a/packages/impeller_model/validation/pubspec.yaml +++ b/packages/impeeler/validation/pubspec.yaml @@ -1,5 +1,5 @@ name: impeller_validation -description: "Scenes that check impeller_model's pass predictions against real GPU traces." +description: "Scenes that check impeeler's pass predictions against real GPU traces." publish_to: 'none' version: 0.1.0 @@ -14,7 +14,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - impeller_model: + impeeler: path: .. lintervention: ^0.3.1 xml: ^6.5.0 diff --git a/packages/impeller_model/validation/results/macos.json b/packages/impeeler/validation/results/macos.json similarity index 100% rename from packages/impeller_model/validation/results/macos.json rename to packages/impeeler/validation/results/macos.json diff --git a/packages/impeller_model/validation/results/macos.md b/packages/impeeler/validation/results/macos.md similarity index 93% rename from packages/impeller_model/validation/results/macos.md rename to packages/impeeler/validation/results/macos.md index c08f157..1cff124 100644 --- a/packages/impeller_model/validation/results/macos.md +++ b/packages/impeeler/validation/results/macos.md @@ -1,6 +1,6 @@ # Validation: macos -Render passes per frame, by Impeller label: impeller_model prediction vs. Metal System Trace of the validation app (`dart run tool/validate.dart macos`). +Render passes per frame, by Impeller label: impeeler prediction vs. Metal System Trace of the validation app (`dart run tool/validate.dart macos`). | Scene | Predicted | Measured | Blit predicted / measured | Frames like this | | |---|---|---|---|---|---| diff --git a/packages/impeller_model/validation/results/pixel10.json b/packages/impeeler/validation/results/pixel10.json similarity index 100% rename from packages/impeller_model/validation/results/pixel10.json rename to packages/impeeler/validation/results/pixel10.json diff --git a/packages/impeller_model/validation/results/pixel10.md b/packages/impeeler/validation/results/pixel10.md similarity index 95% rename from packages/impeller_model/validation/results/pixel10.md rename to packages/impeeler/validation/results/pixel10.md index 22b4494..035b2d5 100644 --- a/packages/impeller_model/validation/results/pixel10.md +++ b/packages/impeeler/validation/results/pixel10.md @@ -1,6 +1,6 @@ # Validation: Pixel 10 (PowerVR DXT-48, Vulkan, no framebuffer fetch) -Render passes per frame: impeller_model prediction vs. a Vulkan layer logging `vkCmdBeginRenderPass` in the validation app (`dart run tool/validate_android.dart`). Vulkan passes carry no labels, so sizes are compared (sorted; `ร—4` = 4x MSAA). +Render passes per frame: impeeler prediction vs. a Vulkan layer logging `vkCmdBeginRenderPass` in the validation app (`dart run tool/validate_android.dart`). Vulkan passes carry no labels, so sizes are compared (sorted; `ร—4` = 4x MSAA). | Scene | Predicted | Measured | Frames like this | | |---|---|---|---|---| diff --git a/packages/impeller_model/validation/test/predict_test.dart b/packages/impeeler/validation/test/predict_test.dart similarity index 97% rename from packages/impeller_model/validation/test/predict_test.dart rename to packages/impeeler/validation/test/predict_test.dart index 1f349a1..33648d2 100644 --- a/packages/impeller_model/validation/test/predict_test.dart +++ b/packages/impeeler/validation/test/predict_test.dart @@ -10,7 +10,7 @@ import 'dart:io'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:impeller_model/impeller_model.dart'; +import 'package:impeeler/impeeler.dart'; import 'package:impeller_validation/scenes.dart'; /// A device the validation app is traced on: its exact physical size and @@ -44,7 +44,7 @@ const targets = [ ]; void main() { - ImpellerModelBinding.ensureInitialized(); + ImpeelerBinding.ensureInitialized(); final predictions = >{}; for (final target in targets) { @@ -65,7 +65,7 @@ void main() { ), ); await tester.pump(const Duration(seconds: 1)); - capture = ImpellerModelBinding.instance.captureFrame()!; + capture = ImpeelerBinding.instance.captureFrame()!; } finally { debugDefaultTargetPlatformOverride = null; } diff --git a/packages/impeller_model/validation/tool/validate.dart b/packages/impeeler/validation/tool/validate.dart similarity index 98% rename from packages/impeller_model/validation/tool/validate.dart rename to packages/impeeler/validation/tool/validate.dart index 5854e20..94766e6 100644 --- a/packages/impeller_model/validation/tool/validate.dart +++ b/packages/impeeler/validation/tool/validate.dart @@ -1,5 +1,5 @@ // Traces every validation scene on a real GPU and compares the render -// passes per frame with what impeller_model predicted. +// passes per frame with what impeeler predicted. // // flutter test test/predict_test.dart # writes predictions.json // dart run tool/validate.dart macos [--no-build] [--scene ] @@ -236,7 +236,7 @@ String _markdown(String target, Map> results) { ..writeln('# Validation: $target') ..writeln() ..writeln( - 'Render passes per frame, by Impeller label: impeller_model ' + 'Render passes per frame, by Impeller label: impeeler ' 'prediction vs. Metal System Trace of the validation app ' '(`dart run tool/validate.dart $target`).', ) diff --git a/packages/impeller_model/validation/tool/validate_android.dart b/packages/impeeler/validation/tool/validate_android.dart similarity index 98% rename from packages/impeller_model/validation/tool/validate_android.dart rename to packages/impeeler/validation/tool/validate_android.dart index 9eb4380..0f22471 100644 --- a/packages/impeller_model/validation/tool/validate_android.dart +++ b/packages/impeeler/validation/tool/validate_android.dart @@ -1,6 +1,6 @@ // Runs every validation scene on an attached Android device with a Vulkan // layer that logs each frame's render passes, and compares them with what -// impeller_model predicted for the Pixel 10 (PowerVR, no framebuffer +// impeeler predicted for the Pixel 10 (PowerVR, no framebuffer // fetch). // // flutter test test/predict_test.dart # writes predictions.json @@ -241,7 +241,7 @@ String _markdown(Map> results) { ) ..writeln() ..writeln( - 'Render passes per frame: impeller_model prediction vs. a Vulkan ' + 'Render passes per frame: impeeler prediction vs. a Vulkan ' 'layer logging `vkCmdBeginRenderPass` in the validation app ' '(`dart run tool/validate_android.dart`). Vulkan passes carry no ' 'labels, so sizes are compared (sorted; `ร—4` = 4x MSAA).', diff --git a/packages/impeller_model/validation/tool/vk_pass_logger/pass_logger.cpp b/packages/impeeler/validation/tool/vk_pass_logger/pass_logger.cpp similarity index 100% rename from packages/impeller_model/validation/tool/vk_pass_logger/pass_logger.cpp rename to packages/impeeler/validation/tool/vk_pass_logger/pass_logger.cpp