drip_flutter 0.2.0-alpha
drip_flutter: ^0.2.0-alpha copied to clipboard
Flutter render layer for DRIP — direct RenderObject binding with zero widget rebuilds.
0.2.0-alpha - 2026-05-13 #
First release of drip_flutter — the Flutter direct render binding layer.
Added #
DripBinding<T>— live RenderObject subscriber: applies state changes directly to render properties, bypassing the widget/element rebuild cycle.DripText— zero-rebuild text widget bindingDripState<String>toRenderParagraph.textviamarkNeedsLayout().DripOpacity— zero-rebuild opacity widget bindingDripState<double>to opacity viamarkNeedsPaint(); clamps to[0.0, 1.0].DripColor— zero-rebuild background color widget bindingDripState<Color>viamarkNeedsPaint().DripTransform— zero-rebuild matrix transform widget bindingDripState<Matrix4>viamarkNeedsPaint().DripImage— ImageProvider binding with async image resolution.DripCustomBinding<T>— abstract base class for custom RenderObject bindings.DripFrame<T>— structural state boundary (controlled rebuild trigger).DripFrameBuilder<T>— StatefulWidget that rebuilds whenDripFrameupdates.
Performance #
- Verified: 1000 simultaneous
DripStatewrites → 0 widgetbuild()calls. - Demo app
demo_grid: 1000-cell live grid, zero rebuilds at 60fps.
Architecture #
- Invariant 2 enforced: zero
setState()calls in binding code path. - Invariant 7 enforced: all bindings deregistered in
didUnmountRenderObject. DripFrameis the only intentionalsetState()path, documented explicitly.