Forestry Pixi UX 1.2 Release Notes
1.2.x standardizes drag behavior across the package set by moving to @wonderlandlabs-pixi-ux/observe-drag.
1.2.1 follows with a ticker compatibility fix and coordinated package version bumps.
Highlights
- Added
dragObserverFactoryin@wonderlandlabs-pixi-ux/observe-dragwith:- module-level singleton pointer lock by default
- optional custom
activePointer$injection at factory creation - configurable inactivity failsafe (
abortTime,0disables) - optional drag render throttle via
renderThrottleMs(default30ms)
- Migrated window dragging to observer-based drag subscriptions coordinated through
WindowsManager. - Kept compatibility aliases where needed (
observeDrag,dragTargetDecorator) while moving new usage towarddragObserverFactory+dragDecorator.
Deprecations
@wonderlandlabs-pixi-ux/dragis now deprecated for1.2.x.- Migration target:
@wonderlandlabs-pixi-ux/observe-drag.
- Migration target:
trackDragis no longer exported from@wonderlandlabs-pixi-ux/resizer.- Legacy implementation remains under
_deprecatedinternally, but public API consumers should migrate to observer-based drag flows.
- Legacy implementation remains under
Migration Direction
For direct container dragging, use dragDecorator() with dragObserverFactory.
Prefer:
import dragObserverFactory, {dragDecorator} from '@wonderlandlabs-pixi-ux/observe-drag';
const observeDown = dragObserverFactory({
stage: app.stage,
app,
renderThrottleMs: 30,
});
const subscription = observeDown(target, dragDecorator(), {
dragTarget: container,
abortTime: 1000,
});
Over legacy DragStore or trackDrag entrypoint usage.
More advanced side effects can be managed with custom hooks:
{ onStart, onMove, onUp, onBlocked, onError }.
1.2.1 Patch
1.2.1 includes a ticker-forest fix for environments that provide minimal ticker mocks (for example, tests with addOnce/remove but without add/remove):
- Scale observer binding now validates ticker capabilities before subscribing.
- This prevents unhandled
binding.ticker.add is not a functionerrors.
To keep dependency metadata aligned, the primary ticker consumers were also bumped to 1.2.1:
@wonderlandlabs-pixi-ux/button@wonderlandlabs-pixi-ux/caption@wonderlandlabs-pixi-ux/grid@wonderlandlabs-pixi-ux/resizer@wonderlandlabs-pixi-ux/toolbar@wonderlandlabs-pixi-ux/window