WalkLog class Diagnostics
Everything one pass observed. A fresh instance per pass on purpose: two passes over the same tree are two measurements, not one accumulated.
Read off the host's published frame, GlassProxyHandle.frame?.log, for
a report or a test. What the pass handed to the engine is named in
fellBack; a layer still counted in unhandledLayers or a filter in
opacityFoldedIntoFilter is one it drew as it drew it, because the
subtree held something the engine must not draw for it (glass, a marker,
what the policy took out) or is a backdrop filter, which reads what lies
below it.
Constructors
- WalkLog()
Properties
-
addedLayers
→ List<
String> -
Reached through
addLayer, i.e. content that never goes through a canvas.final - boundariesCrossed ↔ int
-
Repaint boundaries the pass walked through instead of compositing.
getter/setter pair
-
childContextsRequested
→ List<
String> -
createChildContextcalls, which should be none: every branch that would have asked for one is overridden to stay on this context's canvas.final - compositedEffectsApplied ↔ int
-
Opacities and image filters the pass applied — the two effects a repaint
boundary carries in
updateCompositedLayer, where a directpaint()call cannot see them. Zero here on a tree containing anOpacitymeans the pass dropped its transparency.getter/setter pair -
errors
→ List<
String> -
Nodes whose
paintthrew. We run foreign code; this is the budget for it.final -
fellBack
→ List<
String> -
Subtrees recorded as the engine draws them rather than as the pass did,
by the type of the layer handed to the engine: an
OpacityLayerover a filter it folds into, aShaderMaskLayerthat paints past its children. Only with a fallback ratio, which the host's pipeline gives; seeProxyWalkContext.fallbackPixelRatio.final - hashCode → int
-
The hash code for this object.
no setterinherited
- layersMinted ↔ int
-
Layers this pass had to create because a
push*return type is non-nullable and the caller had none to reuse. Each one is parked in somebody else's field, which is a mutation of the live tree even though nothing is lost. The invariant is that this stays at zero.getter/setter pair - opacityFoldedIntoFilter ↔ int
-
Colour and image filters flattened while an alpha layer was open above
them.
getter/setter pair
-
proxyRoles
→ Map<
GlassProxyRole, int> -
GlassProxy markers the pass actually reached, by role.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
skipped
→ List<
String> -
Nodes the policy skipped, by type.
final
-
substituted
→ List<
String> -
Nodes the policy replaced with a placeholder, by type.
final
-
unhandledLayers
→ List<
String> -
Layer types with no canvas equivalent, so their effect is missing from the
recording. Named rather than counted: which type it is is the finding.
final
- visited ↔ int
-
Render objects the pass reached.
getter/setter pair
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
summary(
) → Map< String, Object> - Every counter, keyed for a report.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited