2d-inc/Flare-Flutter

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

gabber235 opened this issue · 6 comments

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/ddc_runtime/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)

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!

Was able to get stuff working on Flutter Master Channel 👍

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

same issue

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

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)