SentientAnimatedOpacity class

A reactive animated opacity widget that adapts its opacity behavior based on the user's emotional state.

SentientAnimatedOpacity functions as a drop-in replacement for Flutter's AnimatedOpacity but introduces emotion-aware timing and opacity adjustments. It automatically tunes the transition duration and curve based on the active EmotionTheme provided by the AdaptationManager.

This widget ensures that visibility changes feel consistent with the user's emotional context—for example, faster and bouncier for enjoyment, or slower and smoother for sadness.

Features

  • Emotion-aware transition duration and easing curves.
  • Subtle opacity modification based on emotion (e.g., ensuring minimum visibility for fear/anger).
  • Supports custom overrides for duration and curve.

Example Usage

SentientAnimatedOpacity(
  opacity: isVisible ? 1.0 : 0.0,
  child: Text('Now you see me'),
)
Inheritance

Constructors

SentientAnimatedOpacity({Key? key, required Widget child, required double opacity, Duration? duration, Curve? curve, VoidCallback? onEnd})
Creates a new adaptive SentientAnimatedOpacity widget.
const

Properties

child Widget
The widget to animate.
final
curve Curve?
An optional override for the animation curve.
final
duration Duration?
An optional override for the animation duration.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onEnd VoidCallback?
Called when the animation completes.
final
opacity double
The target opacity.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited