build_hooks library

Build-hook helpers for flutter_scene.

Call these from your app's hook/build.dart at build time: buildModels converts glTF (.glb) source assets into flutter_scene's .model format, and buildMaterials compiles .fmat custom-material files into a Flutter GPU shader bundle plus a parameter sidecar.

import 'package:hooks/hooks.dart';
import 'package:flutter_scene/build_hooks.dart';

void main(List<String> args) {
  build(args, (config, output) async {
    buildModels(buildInput: config, inputFilePaths: ['assets/dash.glb']);
    await buildMaterials(
      buildInput: config,
      buildOutput: output,
      materials: ['materials/toon.fmat'],
    );
  });
}

Functions

buildMaterials({required BuildInput buildInput, required BuildOutputBuilder buildOutput, required List<String> materials, String bundleName = 'materials'}) Future<void>
Compiles .fmat custom-material files into a Flutter GPU shader bundle plus a parameter-metadata sidecar, for use with ShaderMaterial / PreprocessedMaterial at runtime.
buildModels({required BuildInput buildInput, required List<String> inputFilePaths, String outputDirectory = 'build/models/'}) → void
Converts each .glb file in inputFilePaths to the Flutter Scene .model format and writes the result into outputDirectory (resolved relative to BuildInput.packageRoot).