![Thermion Logo](docs/logo.png)

Quickstart (Flutter)DocumentationShowcasePlaygroundDiscord

## Cross-platform 3D toolkit for Dart and Flutter. pub github discord contributors https://github.com/user-attachments/assets/b0c07b5a-6156-4e42-a09b-5f9bd85fbf32 ### Features - Supports iOS (arm64), MacOS (arm64/x64), Android (arm64), Windows (x64) (>= 10), Web/WASM - glTF, KTX, PNG & JPEG texture support - camera/entity manipulation with mouse (desktop) and gestures (mobile) - skinning + morph animations Uses the Filament PBR engine (currently v1.56.4). ### Quickstart (Flutter) From the command line: ```bash flutter channel master flutter upgrade flutter config --enable-native-assets ``` In your Flutter app: ```dart @override Widget build(BuildContext context) { return Scaffold( body: Stack(children: [ Positioned.fill( child: ViewerWidget( assetPath: "assets/cube.glb", skyboxPath: "assets/default_env_skybox.ktx", iblPath: "assets/default_env_ibl.ktx", transformToUnitCube: true, initialCameraPosition: Vector3(0, 0, 6), background: Colors.blue, manipulatorType: ManipulatorType.ORBIT, onViewerAvailable: (viewer) async { await Future.delayed(const Duration(seconds: 5)); await viewer.removeSkybox(); }, initial: Container( color: Colors.red, ), ))])); } ``` > the first time you build an app that consumes this package, the Dart native-assets build system will download static binaries from Cloudflare. This may take a few minutes (depending on which platform you are compiling for). These will be cached, so subsequent builds will be much faster. ### Sponsors, Contributors & Acknowledgments Thermion uses the [Filament](https://github.com/google/filament) Physically Based Rendering engine under the hood. Special thanks to [odd-io](https://github.com/odd-io/) for sponsoring work on supporting Windows, raycasting, testing and documentation. Thank you to the following people: - @Hannnes1 for help migrating to `native-assets` - @jarrodcolburn for documentation contributions - @daverin for MacOS library contributions - @LukasPoque for CI/refactoring work - @alexmercerind for his work on integrating ANGLE textures on Flutter Windows - @BrutalCoding for documentation fixes - @chenriji for testing and bug fixes