<itemvalue="To make sure that listeners removed during this iteration are not called, we set them to null, but we don't shrink the list right away. By doing this, we can continue to iterate on our list until it reaches the last listener added before the call to this method. To allow potential listeners to recursively call notifyListener, we track the number of times this method is called in _notificationCallStackDepth. Once every recursive iteration is finished (i.e. when _notificationCallStackDepth == 0), we can safely shrink our list so that it will only contain not null listeners."/>
<itemvalue="Call all the registered listeners. Call this method whenever the object changes, to notify any clients the object may have changed. Listeners that are added during this iteration will not be visited. Listeners that are removed during this iteration will not be visited after they are removed. Exceptions thrown by listeners will be caught and reported using [FlutterError.reportError]. This method must not be called after [dispose] has been called. Surprising behavior can result when reentrantly removing a listener (e.g. in response to a notification) that has been registered multiple times. See the discussion at [removeListener]."/>
<itemvalue="Because this class only notifies listeners when the [value]'s _identity_ changes, listeners will not be notified when mutable state within the value itself changes. For example, a `ValueNotifier<List<int>>` will not notify its listeners when the _contents_ of the list are changed. As a result, this class is best used with only immutable data types. For mutable data types, consider extending [ChangeNotifier] directly."/>
<itemvalue="A [ChangeNotifier] that holds a single value. When [value] is replaced with something that is not equal to the old value as evaluated by the equality operator ==, this class notifies its listeners. Limitations Because this class only notifies listeners when the [value]'s _identity_ changes, listeners will not be notified when mutable state within the value itself changes. For example, a `ValueNotifier<List<int>>` will not notify its listeners when the _contents_ of the list are changed. As a result, this class is best used with only immutable data types. For mutable data types, consider extending [ChangeNotifier] directly."/>
<itemvalue="The current value stored in this notifier. When the value is replaced with something that is not equal to the old value as evaluated by the equality operator ==, this class notifies its listeners."/>
<itemvalue="QOS Level 0 - Message is not guaranteed delivery. No retries are made to ensure delivery is successful."/>
<itemvalue="Sleep for the duration specified in [duration]. Use this with care, as no asynchronous operations can be processed in a isolate while it is blocked in a [sleep] call. ```dart var duration = const Duration(seconds: 5); print('Start sleeping'); sleep(duration); print('5 seconds has passed'); ```"/>
<itemvalue="Creates an image-tiling shader. The first argument specifies the image to render. The [decodeImageFromList] function can be used to decode an image from bytes into the form expected here. (In production code, starting from [instantiateImageCodec] may be preferable.)"/>
<itemvalue="texture"/>
<itemvalue="view projection matrix"/>
<itemvalue="Translates a 2D point from NDC to a THREE.Ray that can be used for picking. @vector - THREE.Vector3 that represents 2D point @camera - THREE.Camera"/>
<itemvalue="The global transform of the object. If the Object3d has no parent, then it's identical to the local transform."/>
<itemvalue="This is the inverse of matrixWorld. MatrixWorld contains the Matrix which has the world transform of the Camera."/>