@flemo/core 1.22.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -63,7 +63,7 @@ declare class TaskManager {
63
63
  }): Promise<TaskResult<T>>;
64
64
  private gatePhases;
65
65
  markGateHeld(taskId: string): void;
66
- anchorGate(taskId: string): void;
66
+ anchorGate(taskId: string, minLifetimeMs?: number): void;
67
67
  private armBackstop;
68
68
  resolveTask(taskId: string): Promise<boolean>;
69
69
  resolveAllPending(): Promise<void>;
@@ -0,0 +1 @@
1
+ export {};
@@ -8,7 +8,7 @@ export interface DriverPolicy {
8
8
  pinnedDriver: () => "css" | "raf" | null;
9
9
  beginRun: () => void;
10
10
  reportGap: (gapMs: number) => void;
11
- endRun: () => void;
11
+ endRun: (frameIntervalMs?: number) => void;
12
12
  stats: () => {
13
13
  runGaps: number[];
14
14
  strikes: number;
@@ -0,0 +1,3 @@
1
+ export declare const isLikelyDeviceEmulation: () => boolean;
2
+ export declare const resetEmulationNoticeForTesting: () => void;
3
+ export declare const noticeDeviceEmulationOnce: () => void;
@@ -0,0 +1,4 @@
1
+ export declare const GPU_PREWARM_ATTR = "data-flemo-gpu-prewarm";
2
+ export declare const PREWARM_SPAN_MS = 450;
3
+ export declare const resetGpuPipelinePrewarmForTesting: () => void;
4
+ export default function ensureGpuPipelinePrewarm(): () => void;
@@ -0,0 +1 @@
1
+ export declare const stampAsyncImageDecode: (scope: HTMLElement) => void;
@@ -0,0 +1,2 @@
1
+ export declare const MAX_HELD_ANIMATIONS = 128;
2
+ export default function createInvisibleAnimationHold(scope: HTMLElement): () => void;
@@ -0,0 +1,5 @@
1
+ import { VariantMotion } from '../../transition/variantMotion';
2
+ import { PerceptualBox } from './perceptualSpan';
3
+ export declare const SNAP_VELOCITY_DEVICE_PX_PER_FRAME = 40;
4
+ export declare const SNAP_BAND_MAX_DEVICE_PX = 480;
5
+ export declare const snappedEasingForMotion: (motion: VariantMotion, box: PerceptualBox, devicePixelRatio: number) => string | null;
@@ -0,0 +1,5 @@
1
+ import { Transition } from '../../transition/typing';
2
+ export declare const LAYER_SETTLE_MS = 300;
3
+ export declare const resetResidentLayersForTesting: () => void;
4
+ export declare const holdScopeLayer: (scope: HTMLElement, transitionLike: Pick<Transition, "initial" | "variants">, containment?: boolean, owner?: symbol) => void;
5
+ export declare const releaseScopeLayerAfterSettle: (scope: HTMLElement, owner?: symbol) => void;
@@ -4,4 +4,4 @@ import { PerceptualBox } from './perceptualSpan';
4
4
  export declare const NATIVE_PEAK_CSS_PX_PER_FRAME = 6;
5
5
  export declare const peakTranslationPxPerFrame: (motion: VariantMotion, box: PerceptualBox) => number | null;
6
6
  export type MotionDriverKind = "native" | "player";
7
- export declare const classifyTransitionDriver: (transition: Transition, status: string, box: PerceptualBox) => MotionDriverKind;
7
+ export declare const classifyTransitionDriver: (transition: Transition, _status: string, _box: PerceptualBox) => MotionDriverKind;
@@ -1,2 +1,4 @@
1
1
  export declare const NATIVE_STALL_STEP_MS: number;
2
+ export declare function holdNativeClocksToFirstFrame(scope: HTMLElement, elements: () => (HTMLElement | null | undefined)[], onHeld?: () => void): () => void;
3
+ export declare function anchorNativeFlightStart(elements: () => (HTMLElement | null | undefined)[], onShift?: (excessMs: number) => void): () => void;
2
4
  export declare function watchNativeStalls(elements: () => (HTMLElement | null | undefined)[], onStall?: (excessMs: number) => void): () => void;
@@ -0,0 +1,3 @@
1
+ export declare function beginResponseHold(backstopMs?: number): () => void;
2
+ export declare const heldResponseCount: () => number;
3
+ export declare const responseHoldDepth: () => number;
package/dist/index.d.ts CHANGED
@@ -41,9 +41,11 @@ export { default as createSwipeController } from './core/engine/createSwipeContr
41
41
  export { type SwipeController, type SwipeControllerConfig, type SwipeControllerElements, type SharedBarPresenceLike } from './core/engine/createSwipeController';
42
42
  export { default as computeBarRiding, type BarRidingInput } from './screen/computeBarRiding';
43
43
  export { animHoldKey, scheduleAnimHoldRelease, createAnimHoldCoordinator, eagerlyDecodeImages, ANIM_HOLD_RELEASE_BACKSTOP_MS, type AnimHoldInput, type AnimHoldCoordinator } from './screen/animStartAnchor';
44
+ export { detectBlinkEngine } from './core/engine/driverPolicy';
44
45
  export { default as observeBarHeight } from './screen/observeBarHeight';
45
46
  export { default as observeViewportScrollHeight } from './screen/observeViewportScrollHeight';
46
47
  export { default as holdCompositorWarm } from './core/engine/compositorWarmUp';
48
+ export { default as ensureGpuPipelinePrewarm } from './core/engine/gpuPipelinePrewarm';
47
49
  export { default as ensureImageDecodeOffloader, createImageDecodeOffloader, shouldOffloadImage, OVERSIZE_AREA_RATIO, OFFLOADED_SRC_ATTR, type OversizeInput } from './core/engine/imageDecodeOffloader';
48
50
  export type { RegisterTransition, TransitionName, TransitionVariant, TransitionVariantValue, TransitionOptions, BaseTransition, Transition, SwipeInfo, SwipeAnimate } from './transition/typing';
49
51
  export type { RegisterDecorator, DecoratorName, DecoratorOptions, Decorator } from './transition/decorator/typing';