2d-inc / Flare-Flutter

Load and get full control of your Rive files in a Flutter project using this library.
https://rive.app/
MIT License
2.55k stars 469 forks source link

[ Web ] The following UnimplementedError was thrown during paint(): UnimplementedError #218

Open gabber235 opened 4 years ago

gabber235 commented 4 years ago

On the latest version running in chrome, there is a UnimplementedError the stock success-check. https://rive.app/a/pollux/files/flare/success-check/preview

            SizedBox(
              key: UniqueKey(),
              width: 200,
              height: 200,
              child: FlareActor(
                'assets/success-check.flr',
                animation: 'Untitled',
              ),
            ),

══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ The following UnimplementedError was thrown during paint(): UnimplementedError

The relevant error-causing widget was: FlareActor org-dartlang-app:///packages/test_flutter/main.dart:76:22

When the exception was thrown, this was the stack: package:dart-sdk/lib/_internal/js_dev_runtime/private/ddcruntime/errors.dart 196:49 throw package:build_web_compilers/lib/_engine/engine/surface/path_metrics.dart 131:7 extractPath package:flare_flutter/trim_path.dart 12:30 _appendPathSegmentSequential package:flare_flutter/trim_path.dart 66:16 _trimPathSequential package:flare_flutter/trim_path.dart 102:12 trimPath package:flare_flutter/flare.dart 199:26 paint package:flare_flutter/flare.dart 296:15 draw package:flare_flutter/flare.dart 826:20 draw package:flare_flutter/flare_actor.dart 416:15 paintFlare package:flare_flutter/flare_render_box.dart 226:7 paint package:flutter/src/rendering/object.dart 2262:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 128:14 paint package:flutter/src/rendering/object.dart 2262:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/box.dart 2512:14 defaultPaint package:flutter/src/rendering/flex.dart 948:7 paint package:flutter/src/rendering/object.dart 2262:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/shifted_box.dart 70:14 paint package:flutter/src/rendering/object.dart 2262:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/box.dart 2512:14 defaultPaint package:flutter/src/rendering/custom_layout.dart 396:5 paint package:flutter/src/rendering/object.dart 2262:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 128:14 paint package:flutter/src/material/material.dart 531:11 paint package:flutter/src/rendering/object.dart 2262:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 128:14 paint package:flutter/src/rendering/object.dart 391:12 pushLayer package:flutter/src/rendering/proxy_box.dart 1792:14 paint package:flutter/src/rendering/object.dart 2262:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 128:14 paint package:flutter/src/rendering/object.dart 2262:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 128:14 paint package:flutter/src/rendering/object.dart 2262:7 [_paintWithContext] package:flutter/src/rendering/object.dart 135:10 _repaintCompositedChild package:flutter/src/rendering/object.dart 95:5 repaintCompositedChild package:flutter/src/rendering/object.dart 981:29 flushPaint package:flutter/src/rendering/binding.dart 403:19 drawFrame package:flutter/src/widgets/binding.dart 797:13 drawFrame package:flutter/src/rendering/binding.dart 283:5 [_handlePersistentFrameCallback] package:flutter/src/scheduler/binding.dart 1108:15 [_invokeFrameCallback] package:flutter/src/scheduler/binding.dart 1047:9 handleDrawFrame package:flutter/src/scheduler/binding.dart 963:5 [_handleDrawFrame] package:build_web_compilers/lib/_engine/engine.dart 188:21

The following RenderObject was being processed when the exception was fired: FlareActorRenderObject#e052a: creator: FlareActor ← SizedBox-[#88407] ← Column ← Center ← _BodyBuilder ← MediaQuery ← LayoutId-[<_ScaffoldSlot.body>] ← CustomMultiChildLayout ← AnimatedBuilder ← DefaultTextStyle ← AnimatedDefaultTextStyle ← _InkFeatures-[GlobalKey#4b21a ink renderer] ← ⋯ parentData: (can use size) constraints: BoxConstraints(w=200.0, h=200.0) size: Size(200.0, 200.0) This RenderObject has no descendants. ════════════════════════════════════════════════════════════════════════════════════════════════════

Flutter 1.13.7-pre.31 • channel master • https://github.com/flutter/flutter.git Framework • revision ee7a37f1d3 (2 hours ago) • 2020-01-06 11:04:20 -0800 Engine • revision 3851981b86 Tools • Dart 2.8.0 (build 2.8.0-dev.0.0 2f57602411)

Running flutter doctor... Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel master, v1.13.7-pre.31, on Mac OS X 10.13.6 17G10021, locale nl-NL) [!] Android toolchain - develop for Android devices currently missing SDK components. [✓] Xcode - develop for iOS and macOS (Xcode 10.2.1) [✓] Chrome - develop for the web [!] Android Studio (version 3.3) ✗ Flutter plugin not installed; this adds Flutter specific functionality. [!] Android Studio (version 3.5) ✗ Flutter plugin not installed; this adds Flutter specific functionality. [✓] VS Code (version 1.41.1) [✓] Connected device (3 available)

aragonet commented 4 years ago

The same happening here.

(It's a shame not to be able to use any flare animations because this stills failing)

Flutter doctor [✓] Flutter (Channel beta, v1.14.6, on Linux, locale es_ES.utf8) • Flutter version 1.14.6 at /flutter • Framework revision fabeb2a16f (2 weeks ago), 2020-01-28 07:56:51 -0800 • Engine revision c4229bfbba • Dart version 2.8.0 (build 2.8.0-dev.5.0 fc3af737c7) [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2) • Android SDK at /development/android-sdk • Android NDK location not configured (optional; useful for native profiling support) • Platform android-29, build-tools 29.0.2 • ANDROID_HOME = /development/android-sdk • Java binary at: /opt/android-studio/jre/bin/java • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405) • All Android licenses accepted. [✓] Chrome - develop for the web • Chrome at google-chrome [✓] Android Studio (version 3.5) • Android Studio at /opt/android-studio • Flutter plugin version 39.0.3 • Dart plugin version 191.8423 • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405) [✓] VS Code (version 1.42.0) • VS Code at /usr/share/code • Flutter extension version 3.8.1 [✓] Connected device (3 available) • Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.1.0 (API 27) (emulator) • Chrome • chrome • web-javascript • Google Chrome 80.0.3987.100 • Web Server • web-server • web-javascript • Flutter Tools • No issues found!
crystaldonut commented 4 years ago

Was able to get stuff working on Flutter Master Channel 👍

aragonet commented 4 years ago

This is an issue of flutter web, and we do not use master, we use beta channel (https://flutter.dev/docs/get-started/web#set-up) as you can see on our flutter doctor logs

mohammadne commented 4 years ago

same issue

kiaxseventh commented 4 years ago

same issue

i have very simple animation it work on android but it do not work on flutter web ! flutter web Nothing show about my animation 😃

i use flutter 1.14.6 beta and flare_flutter 2.0.1

camillo777 commented 4 years ago

Same here! I guess it is due to method "Canvas.drawPicture" still not implemented for Flutter web?

Flutter 1.20.0-7.4.pre • channel beta • https://github.com/flutter/flutter.git Framework • revision 916c3ac648 (4 days ago) • 2020-08-01 09:01:12 -0700 Engine • revision d6ee1499c2 Tools • Dart 2.9.0 (build 2.9.0-21.10.beta)