surface 0.4.3 surface: ^0.4.3 copied to clipboard
Shapeable, layered, intrinsincally animated container with convenient access to blurry ImageFilters, InkResponse, and HapticFeedback.
๐ Surface #
[0.4.3] - 30 APR 21 #
- Beginning doc/readme cleanup for new
Shape
ing and naming schemes - Investigating performance degradation.
- ๐ props for ๐
TapSpec
- โ
useThemeSplashFactory
- Custom
splashFactory
Surface
falls back to ๐BouncyBall
- โ
- Renamed ๐ฒ
Peek.peekAlignment
->Peek.alignment
&Peek.peekRatio
->Peek.ratio
- Renamed ๐ฌ
Filter.baseRadius
, et al. ->Filter.radiusBase
, et al. & made all forms ofradius
input _private with public getters - A
radius
, orCorner
BorderRadius
, may be specified inShape
as well as individualCornerSpec
CornerSpec.radius
will win if available
[0.4.2] - 30 APR 21 #
- Fixing
null
checks, especially bylerp
s.
[0.4.1] - 29 APR 21 #
- Imports correction.
[0.4.0] - 29 APR 21 #
- Overhaul in progress. Developing...
- โ
Newly added:
- Manual (or pre-configured) custom
Shape
ing- Easy
Shape
scaling and differedShape
by ๐SurfaceLayer
- Customize
Shape
by configuring fourCorner
s andradius
- Easy
BorderSide
support, by ๐SurfaceLayer
- ๐
copyWith
methods - Renamed classes:
FilterSpec
->Filter
,PeekSpec
->Peek
- & more
- Manual (or pre-configured) custom
- ๐ณ Todo:
- Improve transitioning/animating/lerping
- & more
[0.3.0] - 25 APR 21 #
- Divided package into several bite-size
src
files - Reverted names of
Spec
classes to drop preceding'Surface'
CustomInk
->BouncyBall
, forked as ๐package:ball
, with LOTS of ๐ features!- New
const splashFactory
s: ๐BouncyBall.splashFactory2
,3,
&4
with different bounce animations - ๐ฎ
BouncyBall.marbleFactory
which uses differentPaint
and one of the new curves InteractiveInkFeatureFactory
designer method, ๐ชBouncyBall.mold(Paint rubber)
- New
Blur.ry
-> ๐งFX.blurry
and becomes default for ๐FilterSpec.effect
parameter- ๐คนโโ๏ธ
FX
class linked to ๐คนโโ๏ธSurfaceFX typedef
- ๐ง
FX.blurry
is the default ๐คนโโ๏ธSurfaceFX Function
that ignores the current ๐SurfaceLayer layerForRender
and opts to handle only the ๐specRadius
which comes from ๐ฌFilterSpec
according to ๐layerForRender
- Passes ๐
specRadius
to ๐งFX.b
(the true oldBlur.ry
)
- Passes ๐
- ๐คนโโ๏ธ
- Core of ๐
Surface
cleaned up, with with is hopefully now zero changes to Widget tree depth by altering parameters like removing filters & disabling ink response and handlingClip
s differently- Still need to work on ๐ฐ
SurfaceShape
andDecoration lerp
ing
- Still need to work on ๐ฐ
[0.2.0] & [0.2.0+7] - 12 APR 21 #
- Migrated package to sound null safety.
- Cleaned up internal
Filter
code a bit while adding relevantconstants
- One
DEFAULT_SPEC
is used by anew
๐Surface
- And several more that are
const
options for ๐filteredLayers
:Set<SurfaceLayer>
that resemble oldenum SurfaceFilter
- One
- ๐ฐ
BiBeveledShape.build
becomes ๐ฐSurfaceShape.biBeveledRectangle
for growth potential - Removed
fullPrint
andscaleAxis
.
[0.1.0] - 04 APR 21 #
- Added
Surface.baseRadius
.- ๐
baseRadius
may be specified separately from ๐radius
, but is optional and will only impact the ๐SurfaceLayer.BASE
. - If not provided, uses ๐
Surface.radius
, which itself defaults to ๐Surface._RADIUS == 3.0
.
- ๐
- Added
Filter.extendBaseFilter
boolean which will apply the ๐BASE
blurry filter to theSurface.margin
.
[0.0.5] - 02 APR 21 #
- Further modification to initialization parameters for Surface constructor.
- Filter strength and the
SurfaceLayer
s on which they are enabled are now set and mapped with a bespokeFilter
Object.- Enable blurry filters by passing the desired
SurfaceLayer
s intoFilter.filteredLayers
as aSet
. - Strength radii can be initialized formally or with a
Map<SurfaceLayer, double>
calledFilter.radiusMap
. SurfaceFilter
enum removed, as it redundantly represented the idea ofSurfaceLayer
s in aSet
- Enable blurry filters by passing the desired
[0.0.4] - 01 APR 21 #
- Reduction in initialization parameters for Surface constructor. This is achieved:
- in one instance by joining three similar values in a Map (
filterRadius
) - by introducing
Peek
andTapSpec
classes to encapsulate other related parameters
- in one instance by joining three similar values in a Map (
- Renamed
SurfaceLayer.BASE
from BORDER.- Changed or removed any references to "border"
- Now refer to "base inset" or
peek
.- Consider the old
Surface.borderRatio
is the newPeek.ratio
.
- Consider the old
- Altered default
Color
handling.InkResponse
splashes and highlights now defer toTheme
.- Without passing a
Surface.color
, deafult toColorScheme.surface
- Without passing a
Surface.baseColor
, deafult toColorScheme.primaryVariant
- Organized documentation. Added iconography through emoji.
[0.0.3] - 23 FEB 21 #
- Improving layout and comments for pub.dev listing
- Touchup on example application
[0.0.2] - 22 FEB 21 #
- Prepared for pub.dev
- Updated comments and documentation; fixed Mโฌ; ran
dartdoc
. - Cleaned and linked READMEs; added hyperlinks to Surface Example.
- Updated comments and documentation; fixed Mโฌ; ran
- Removed Color and Duration constants from goodies.
- Goodie
scaleAxis
simplified
[0.0.1] - 22 FEB 21 #
- Work in progress transfer from an Android application on which I am primarily focused.