Skip to content

Using new feather feature throws RangeError #480

@ngoc-quoc-huynh

Description

@ngoc-quoc-huynh

Description

Using the new feather feature in rive throws a RangeError. See error log below.

======= Exception caught by rendering library =====================================================
The following RangeError was thrown during paint():
RangeError (length): Invalid value: Not in inclusive range 0..1: 2

The relevant error-causing widget was: 
  Rive Rive:file:///Users/huynh/.pub-cache/hosted/pub.dev/rive-0.13.20/lib/src/widgets/rive_animation.dart:361:9
When the exception was thrown, this was the stack: 
#0      _Array.[] (dart:core-patch/array.dart)
#1      Fill.fillType (package:rive/src/rive_core/shapes/paint/fill.dart:14:51)
#2      Fill.draw (package:rive/src/rive_core/shapes/paint/fill.dart:40:21)
#3      Shape.draw (package:rive/src/rive_core/shapes/shape.dart:254:12)
#4      Artboard.draw (package:rive/src/rive_core/artboard.dart:520:16)
#5      RiveRenderObject.draw (package:rive/src/rive.dart:400:14)
#6      RiveRenderBox.paint (package:rive/src/rive_render_box.dart:412:5)
#7      RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3371:7)
#8      PaintingContext.paintChild (package:flutter/src/rendering/object.dart:260:13)
#9      RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#10     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3371:7)
#11     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:260:13)
#12     RenderShiftedBox.paint (package:flutter/src/rendering/shifted_box.dart:81:15)
#13     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3371:7)
#14     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:260:13)
#15     RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:3360:15)
#16     RenderCustomMultiChildLayoutBox.paint (package:flutter/src/rendering/custom_layout.dart:424:5)
#17     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3371:7)
#18     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:260:13)
#19     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#20     _RenderInkFeatures.paint (package:flutter/src/material/material.dart:632:11)
#21     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3371:7)
#22     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:260:13)
#23     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#24     RenderPhysicalModel.paint.<anonymous closure> (package:flutter/src/rendering/proxy_box.dart:2083:15)
#25     PaintingContext.pushClipRRect (package:flutter/src/rendering/object.dart:610:14)
#26     RenderPhysicalModel.paint (package:flutter/src/rendering/proxy_box.dart:2070:21)
#27     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3371:7)
#28     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:260:13)
#29     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#30     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3371:7)
#31     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:260:13)
#32     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#33     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3371:7)
#34     PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:175:11)
#35     PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:120:5)
#36     PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:1251:31)
#37     PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:1261:15)
#38     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:618:23)
#39     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1231:13)
#40     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:482:5)
#41     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1442:15)
#42     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1355:9)
#43     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1208:5)
#44     _invoke (dart:ui/hooks.dart:316:13)
#45     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:428:5)
#46     _drawFrame (dart:ui/hooks.dart:288:31)
The following RenderObject was being processed when the exception was fired: RiveRenderObject#a1e33
...  parentData: <none>
...  constraints: BoxConstraints(w=402.0, h=714.7)
...  size: Size(402.0, 714.7)
RenderObject: RiveRenderObject#a1e33
  parentData: <none>
  constraints: BoxConstraints(w=402.0, h=714.7)
  size: Size(402.0, 714.7)

Steps To Reproduce

Steps to reproduce the behavior:

  1. Create a new artboard
  2. Create a rectangle
  3. Add a new fill color and enable feather
  4. See error ⚠️ and red glow is not rendered

Source .riv/.rev file

untitled.zip

Expected behavior

No error should be thrown and a red glow should be displayed.

Screenshots

Output:
Image

Expected:
Image

Device & Versions (please complete the following information)

  • Device: iOS Simulator
  • OS: iOS 18.4
  • Flutter Version:
Flutter 3.29.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision ea121f8859 (4 weeks ago) • 2025-04-11 19:10:07 +0000
Engine • revision cf56914b32
Tools • Dart 3.7.2 • DevTools 2.42.3

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions