Impeller Scene
Matan Lurey edited this page Aug 10, 2023
·
4 revisions
We are excited to have you tinker on the Impeller Scene Demo presented at Flutter Forward. While we spend time learning the use-cases and finalizing the API, the functionality for Impeller Scene is behind a compile-time flag. During this time, there are no guarantees around API stability.
Compiling the Engine
- Configure your Mac host to compile the Flutter Engine by following the guidance in wiki.
- Ensure that you are on the main branch of the Flutter Engine.
- Ensure that you are on the main branch of the Flutter Framework.
- Configure the host build:
./flutter/tools/gn --enable-impeller-3d --no-lto
- Configure the iOS build:
./flutter/tools/gn --enable-impeller-3d --no-lto --ios
- Add the
--simulator --simulator-cpu=arm64
flag to the iOS build if you are going to test on the simulator.
- Add the
- Build host artifacts (this will take a while):
ninja -C out/host_debug
- Build iOS artifacts (this will take a while):
ninja -C out/ios_debug
- If targeting the simulator:
ninja -C out/ios_debug_sim_arm64
- If targeting the simulator:
- Clone the demo repository:
git clone https://github.com/bdero/flutter-scene-example.git
and move into the directory. - Plug in your device or open
Simulator.app
, then runflutter devices
to note the device identifier. - Run the demo application:
flutter run -d [device_id] --local-engine ios_debug --local-engine-host host_debug
(orios_debug_sim_arm64
if you are running on the Simulator).- On Silicon Macs, prefer
--local-engine-host host_debug_arm64
(adjusting yourninja
command above accordingly)
- On Silicon Macs, prefer
We hope to continue evolving the API and have it available on the stable channel soon!
- Home of the Wiki
- Roadmap
- API Reference (stable)
- API Reference (main)
- Glossary
- Contributor Guide
- Chat on Discord
- Design documents
- Code of Conduct
- Issue triage reports (latest)
- Our Values
- Tree hygiene
- Issue hygiene and Triage
- Style guide for Flutter repo
- Project teams
- Contributor access
- What should I work on?
- Popular issues
- Running and writing tests
- Release process
- Flutter Framework Gardener Rotation
- Rolling Dart
- Manual Engine Roll with Breaking Commits
- Updating Material Design Fonts & Icons
- Postmortems and Retrospectives
- Hotfix Documentation Best Practices
- In case of emergency
- Landing Changes With Autosubmit
- Setting up the Framework development environment
- The Framework architecture
- API Docs code block generation
- Running examples
- Using the Dart analyzer
- The flutter run variants
- Test coverage for package:flutter
- Writing a golden-file test for package:flutter
- Managing template image assets
- Setting up the Engine development environment
- Compiling the engine
- Debugging the engine
- Using Sanitizers with the Flutter Engine
- Testing the engine
- The Engine architecture
- Flutter's modes
- Crashes
- more...
- Setting up the Packages development environment
- Plugins and Packages repository structure
- Contributing to Plugins and Packages
- Understanding Packages tests
- Plugin Tests
- Releasing a Plugin or Package
- more...