aniview 1.0.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.
Files changed (64) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/LICENSE +21 -0
  3. package/README.md +130 -0
  4. package/dist/Aniview.d.ts +63 -0
  5. package/dist/Aniview.d.ts.map +1 -0
  6. package/dist/Aniview.js +831 -0
  7. package/dist/Aniview.js.map +1 -0
  8. package/dist/AniviewPanel.d.ts +33 -0
  9. package/dist/AniviewPanel.d.ts.map +1 -0
  10. package/dist/AniviewPanel.js +66 -0
  11. package/dist/AniviewPanel.js.map +1 -0
  12. package/dist/GestureStressTest.d.ts +3 -0
  13. package/dist/GestureStressTest.d.ts.map +1 -0
  14. package/dist/GestureStressTest.js +125 -0
  15. package/dist/GestureStressTest.js.map +1 -0
  16. package/dist/aniviewConfig.d.ts +175 -0
  17. package/dist/aniviewConfig.d.ts.map +1 -0
  18. package/dist/aniviewConfig.js +568 -0
  19. package/dist/aniviewConfig.js.map +1 -0
  20. package/dist/aniviewProvider.d.ts +93 -0
  21. package/dist/aniviewProvider.d.ts.map +1 -0
  22. package/dist/aniviewProvider.js +229 -0
  23. package/dist/aniviewProvider.js.map +1 -0
  24. package/dist/core/AniviewLock.d.ts +16 -0
  25. package/dist/core/AniviewLock.d.ts.map +1 -0
  26. package/dist/core/AniviewLock.js +18 -0
  27. package/dist/core/AniviewLock.js.map +1 -0
  28. package/dist/core/AniviewMath.d.ts +41 -0
  29. package/dist/core/AniviewMath.d.ts.map +1 -0
  30. package/dist/core/AniviewMath.js +69 -0
  31. package/dist/core/AniviewMath.js.map +1 -0
  32. package/dist/index.d.ts +7 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +7 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/useAniview.d.ts +39 -0
  37. package/dist/useAniview.d.ts.map +1 -0
  38. package/dist/useAniview.js +32 -0
  39. package/dist/useAniview.js.map +1 -0
  40. package/dist/useAniviewContext.d.ts +156 -0
  41. package/dist/useAniviewContext.d.ts.map +1 -0
  42. package/dist/useAniviewContext.js +3 -0
  43. package/dist/useAniviewContext.js.map +1 -0
  44. package/dist/useAniviewLock.d.ts +20 -0
  45. package/dist/useAniviewLock.d.ts.map +1 -0
  46. package/dist/useAniviewLock.js +32 -0
  47. package/dist/useAniviewLock.js.map +1 -0
  48. package/package.json +60 -0
  49. package/src/Aniview.tsx +868 -0
  50. package/src/AniviewPanel.tsx +141 -0
  51. package/src/GestureStressTest.tsx +144 -0
  52. package/src/__tests__/AniviewLock.test.ts +58 -0
  53. package/src/__tests__/AniviewMath.test.ts +211 -0
  54. package/src/__tests__/AniviewSnapshot.test.tsx +85 -0
  55. package/src/__tests__/__snapshots__/AniviewSnapshot.test.tsx.snap +7 -0
  56. package/src/__tests__/aniviewConfig.test.ts +70 -0
  57. package/src/aniviewConfig.tsx +688 -0
  58. package/src/aniviewProvider.tsx +307 -0
  59. package/src/core/AniviewLock.ts +23 -0
  60. package/src/core/AniviewMath.ts +107 -0
  61. package/src/index.ts +6 -0
  62. package/src/useAniview.tsx +75 -0
  63. package/src/useAniviewContext.tsx +170 -0
  64. package/src/useAniviewLock.tsx +37 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Aniview.js","sourceRoot":"","sources":["../src/Aniview.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ import { ViewStyle } from 'react-native';
3
+ import { AniviewProps, AniviewFrame } from './useAniviewContext';
4
+ /**
5
+ * PANEL FRAME (Visual Only)
6
+ */
7
+ interface PanelFrameProps {
8
+ width?: number | string;
9
+ height?: number | string;
10
+ backgroundColor?: string;
11
+ children?: React.ReactNode;
12
+ style?: ViewStyle;
13
+ clipContent?: boolean;
14
+ }
15
+ export declare const PanelFrame: ({ width, height, backgroundColor, children, style, clipContent }: PanelFrameProps) => React.JSX.Element;
16
+ /**
17
+ * ANIVIEW PANEL (Animated component)
18
+ */
19
+ export interface AniviewPanelProps extends AniviewProps {
20
+ pageId: number | string;
21
+ width: number;
22
+ height: number;
23
+ marginTop?: number;
24
+ marginLeft?: number;
25
+ backgroundColor?: string;
26
+ frames?: Record<string, AniviewFrame> | AniviewFrame[];
27
+ style?: ViewStyle;
28
+ children?: React.ReactNode;
29
+ clipContent?: boolean;
30
+ }
31
+ export declare const AniviewPanel: (props: AniviewPanelProps) => React.JSX.Element;
32
+ export {};
33
+ //# sourceMappingURL=AniviewPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AniviewPanel.d.ts","sourceRoot":"","sources":["../src/AniviewPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAYjE;;GAEG;AACH,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,UAAU,qEAOpB,eAAe,sBA0CjB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,YAAY,EAAE,CAAC;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,UAAW,iBAAiB,sBA8CpD,CAAC"}
@@ -0,0 +1,66 @@
1
+ import * as React from 'react';
2
+ import { View } from 'react-native';
3
+ import Aniview from './Aniview';
4
+ const DEFAULT_LAYOUT = {
5
+ CONTENT_BG: '#FFFFFF',
6
+ FRAME_INK: '#2D2D2D',
7
+ FRAME_WOOD: '#C19A6B',
8
+ BORR: 8,
9
+ FRAME_WIDTH: 2,
10
+ OUTLINE_WIDTH: 1,
11
+ GUTTER_H: 16
12
+ };
13
+ export const PanelFrame = ({ width, height, backgroundColor = DEFAULT_LAYOUT.CONTENT_BG, children, style, clipContent = true }) => {
14
+ const frameWidth = DEFAULT_LAYOUT.FRAME_WIDTH;
15
+ const inkWidth = DEFAULT_LAYOUT.OUTLINE_WIDTH;
16
+ return (<View style={{
17
+ width: width,
18
+ height: height,
19
+ borderWidth: inkWidth,
20
+ borderColor: DEFAULT_LAYOUT.FRAME_INK,
21
+ borderRadius: DEFAULT_LAYOUT.BORR,
22
+ backgroundColor: 'transparent',
23
+ overflow: clipContent ? 'hidden' : 'visible',
24
+ ...style
25
+ }}>
26
+ <View style={{
27
+ flex: 1,
28
+ borderWidth: frameWidth,
29
+ borderColor: DEFAULT_LAYOUT.FRAME_WOOD,
30
+ backgroundColor: 'transparent',
31
+ overflow: clipContent ? 'hidden' : 'visible'
32
+ }}>
33
+ <View style={{
34
+ flex: 1,
35
+ backgroundColor: 'transparent',
36
+ borderWidth: inkWidth,
37
+ borderColor: DEFAULT_LAYOUT.FRAME_INK,
38
+ borderRadius: Math.max(0, DEFAULT_LAYOUT.BORR - frameWidth - inkWidth),
39
+ overflow: clipContent ? 'hidden' : 'visible'
40
+ }}>
41
+ {children}
42
+ </View>
43
+ </View>
44
+ </View>);
45
+ };
46
+ export const AniviewPanel = (props) => {
47
+ const { pageId, width, height, marginTop = 0, marginLeft = 0, backgroundColor, frames, children, style, clipContent = true, ...rest } = props;
48
+ const hasExternalBg = !!style?.backgroundColor ||
49
+ (frames && (Array.isArray(frames)
50
+ ? frames.some(f => f.style?.backgroundColor)
51
+ : Object.values(frames).some(f => f.style?.backgroundColor)));
52
+ const innerBg = hasExternalBg ? 'transparent' : (backgroundColor || 'transparent');
53
+ return (<Aniview pageId={pageId} frames={frames} style={{
54
+ width,
55
+ height,
56
+ marginTop,
57
+ marginLeft,
58
+ backgroundColor: backgroundColor || style?.backgroundColor,
59
+ ...style
60
+ }} {...rest}>
61
+ <PanelFrame width="100%" height="100%" backgroundColor={innerBg} clipContent={clipContent}>
62
+ {children}
63
+ </PanelFrame>
64
+ </Aniview>);
65
+ };
66
+ //# sourceMappingURL=AniviewPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AniviewPanel.js","sourceRoot":"","sources":["../src/AniviewPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ export default function GestureStressTest(): React.JSX.Element;
3
+ //# sourceMappingURL=GestureStressTest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GestureStressTest.d.ts","sourceRoot":"","sources":["../src/GestureStressTest.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,MAAM,CAAC,OAAO,UAAU,iBAAiB,sBA4ExC"}
@@ -0,0 +1,125 @@
1
+ import * as React from 'react';
2
+ import { StyleSheet, View, Text } from 'react-native';
3
+ import { GestureDetector, Gesture, } from 'react-native-gesture-handler';
4
+ import Animated, { useAnimatedStyle, useSharedValue, withSpring, runOnJS } from 'react-native-reanimated';
5
+ import { useAniview } from './useAniview';
6
+ export default function GestureStressTest() {
7
+ const { lock } = useAniview();
8
+ const translateX = useSharedValue(0);
9
+ const translateY = useSharedValue(0);
10
+ const scale = useSharedValue(1);
11
+ const opacity = useSharedValue(1);
12
+ // LOGGING UTILITY
13
+ const logGesture = (name, state, x, y) => {
14
+ console.log(`[GESTURE: ${name}] State: ${state} | X: ${Math.round(x || 0)} Y: ${Math.round(y || 0)}`);
15
+ };
16
+ const panGesture = Gesture.Pan()
17
+ .onStart((event) => {
18
+ runOnJS(lock)(1); // 1 = Horizontal Lock
19
+ runOnJS(logGesture)('PAN', 'START', event.x, event.y);
20
+ opacity.value = 0.8;
21
+ })
22
+ .onUpdate((event) => {
23
+ translateX.value = event.translationX;
24
+ translateY.value = event.translationY;
25
+ })
26
+ .onEnd((event) => {
27
+ runOnJS(lock)(0); // Unlock
28
+ runOnJS(logGesture)('PAN', 'END', event.x, event.y);
29
+ translateX.value = withSpring(0);
30
+ translateY.value = withSpring(0);
31
+ opacity.value = withSpring(1);
32
+ });
33
+ const tapGesture = Gesture.Tap()
34
+ .numberOfTaps(2)
35
+ .onEnd((event) => {
36
+ runOnJS(logGesture)('DOUBLE_TAP', 'END', event.x, event.y);
37
+ scale.value = withSpring(1.5, {}, () => {
38
+ scale.value = withSpring(1);
39
+ });
40
+ });
41
+ const longPressGesture = Gesture.LongPress()
42
+ .onEnd((event, success) => {
43
+ if (success) {
44
+ runOnJS(logGesture)('LONG_PRESS', 'SUCCESS', event.x, event.y);
45
+ opacity.value = withSpring(0.3, {}, () => {
46
+ opacity.value = withSpring(1);
47
+ });
48
+ }
49
+ });
50
+ const composed = Gesture.Simultaneous(panGesture, tapGesture, longPressGesture);
51
+ const animatedStyle = useAnimatedStyle(() => ({
52
+ transform: [
53
+ { translateX: translateX.value },
54
+ { translateY: translateY.value },
55
+ { scale: scale.value }
56
+ ],
57
+ opacity: opacity.value
58
+ }));
59
+ return (<View style={styles.container}>
60
+ <Text style={styles.title}>GESTURE ORCHESTRATION 2.0</Text>
61
+
62
+ <GestureDetector gesture={composed}>
63
+ <Animated.View style={[styles.box, animatedStyle]}>
64
+ <Text style={styles.boxText}>PAN / DOUBLE-TAP / LONG-PRESS</Text>
65
+ <Text style={styles.hint}>Testing Parallel Dispatch (Simultaneous)</Text>
66
+ </Animated.View>
67
+ </GestureDetector>
68
+
69
+ <View style={styles.logIndicator}>
70
+ <Text style={styles.logText}>Check Console for Orchestration Traces</Text>
71
+ </View>
72
+ </View>);
73
+ }
74
+ const styles = StyleSheet.create({
75
+ container: {
76
+ padding: 20,
77
+ alignItems: 'center',
78
+ justifyContent: 'center',
79
+ },
80
+ title: {
81
+ color: '#fff',
82
+ fontSize: 14,
83
+ fontWeight: 'bold',
84
+ marginBottom: 20,
85
+ opacity: 0.6,
86
+ },
87
+ box: {
88
+ width: 300,
89
+ height: 300,
90
+ backgroundColor: '#1c1c1e',
91
+ borderRadius: 30,
92
+ borderWidth: 1,
93
+ borderColor: '#38383a',
94
+ justifyContent: 'center',
95
+ alignItems: 'center',
96
+ padding: 20,
97
+ elevation: 10,
98
+ shadowColor: '#000',
99
+ shadowOffset: { width: 0, height: 10 },
100
+ shadowOpacity: 0.5,
101
+ shadowRadius: 15,
102
+ },
103
+ boxText: {
104
+ color: '#0a84ff',
105
+ fontSize: 18,
106
+ fontWeight: '800',
107
+ textAlign: 'center',
108
+ },
109
+ hint: {
110
+ color: '#8e8e93',
111
+ marginTop: 10,
112
+ fontSize: 12,
113
+ },
114
+ logIndicator: {
115
+ marginTop: 30,
116
+ padding: 10,
117
+ backgroundColor: 'rgba(255,255,255,0.05)',
118
+ borderRadius: 10,
119
+ },
120
+ logText: {
121
+ color: '#636366',
122
+ fontSize: 11,
123
+ }
124
+ });
125
+ //# sourceMappingURL=GestureStressTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GestureStressTest.js","sourceRoot":"","sources":["../src/GestureStressTest.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ import { AniviewContextType, AniviewFrame, BakedFrame, IAniviewConfig } from "./useAniviewContext";
2
+ import { SharedValue } from "react-native-reanimated";
3
+ import * as AniviewMath from './core/AniviewMath';
4
+ export type AdjacencyMap = Record<number, Record<number, number>>;
5
+ /**
6
+ * **AniviewConfig** — Layout Engine & Gesture Orchestrator
7
+ *
8
+ * Holds the page grid definition, overlap ratios, spring physics, and
9
+ * adjacency rules. It provides two critical pipelines:
10
+ *
11
+ * ### 1. Coordinate Mapping (`getPageOffset`, `register`)
12
+ * Converts a `pageId` into (x, y) world coordinates by walking the layout
13
+ * matrix and accumulating page widths/heights minus overlap ratios. The
14
+ * `register()` method is called during the Aniview bake phase to pre-compute
15
+ * keyframe target positions in world space.
16
+ *
17
+ * ### 2. Gesture Generation (`generateGesture`)
18
+ * Produces a RNGH Pan gesture with:
19
+ * - Axis locking (first-movement direction wins)
20
+ * - Bitmask-based directional locks (1=left, 2=right, 4=up, 8=down)
21
+ * - Edge resistance at world boundaries
22
+ * - Velocity-sensitive neighbor snapping with configurable thresholds
23
+ * - Spring-based snap animation with boundary dampening
24
+ *
25
+ * ### Overlaps
26
+ * The `overlaps` parameter reduces the gap between adjacent pages by a
27
+ * fraction of the viewport size. `{ cols: [0.5] }` means the first and
28
+ * second columns share 50% of the screen width, creating a drawer effect.
29
+ * Each element in the array corresponds to the gap between adjacent
30
+ * rows/columns (so `cols` needs `numCols - 1` values).
31
+ *
32
+ * ### Layout Cache
33
+ * Components can unmount and remount without losing their measured position
34
+ * thanks to `registerLayout()`/`getLayout()`. This enables true virtualization.
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * // 3 horizontal pages with the middle one as default
39
+ * const config = new AniviewConfig(
40
+ * [[1, 1, 1]],
41
+ * 1,
42
+ * { LEFT: 0, CENTER: 1, RIGHT: 2 },
43
+ * {},
44
+ * { cols: [0, 0] }, // no overlap
45
+ * );
46
+ * ```
47
+ *
48
+ * @see {@link AniviewProvider} which consumes this config
49
+ */
50
+ export declare class AniviewConfig implements IAniviewConfig {
51
+ /** The grid layout matrix. `1` = valid page, `0` = empty slot. Rows are vertical, columns are horizontal. */
52
+ readonly layout: number[][];
53
+ /** Current viewport dimensions */
54
+ /** The numeric page ID that serves as the world origin (camera starts here) */
55
+ readonly defaultPage: number;
56
+ /** Optional custom adjacency rules for snapping (overrides grid-based neighbors) */
57
+ readonly adjacencyGraph: AdjacencyMap;
58
+ /** Map of semantic names to numeric page IDs (e.g., `{ HOME: 0 }`) */
59
+ readonly pageMap: Record<string, number>;
60
+ /**
61
+ * Overlap ratios between adjacent rows, expressed as fractions of viewport height (0–1).
62
+ * Length should be `numRows - 1`. A value of 0.3 means 30% vertical overlap.
63
+ * @internal
64
+ */
65
+ private readonly rowOverlaps;
66
+ /**
67
+ * Overlap ratios between adjacent columns, expressed as fractions of viewport width (0–1).
68
+ * Length should be `numCols - 1`. A value of 0.5 means 50% horizontal overlap.
69
+ * @internal
70
+ */
71
+ private readonly colOverlaps;
72
+ /** Standard physics for snapping animations */
73
+ private springConfig;
74
+ /** Internal dimension state - mutable for onLayout updates */
75
+ private _contextDims;
76
+ /**
77
+ * CACHE: Stores measured positions of components.
78
+ * This is critical for TRUE VIRTUALIZATION (unmounting).
79
+ * Key: pageId_componentIndex (or similar unique key)
80
+ */
81
+ private layoutCache;
82
+ /**
83
+ * @param layout - Grid matrix defining page positions (e.g., `[[1, 1]]` for 2 horizontal pages)
84
+ * @param defaultPage - Initial page (numeric ID or semantic name). Defaults to `0`.
85
+ * @param pageMap - Semantic name → numeric ID mapping
86
+ * @param initialDims - Initial viewport dimensions (usually set later via `onLayout`)
87
+ * @param overlaps - Ratio-based overlaps between adjacent pages: `{ cols?: number[], rows?: number[] }`
88
+ * @param providedGraph - Custom adjacency graph for non-grid snapping behavior
89
+ */
90
+ constructor(layout: number[][], defaultPage?: number | string | null, pageMap?: Record<string, number>, initialDims?: Partial<AniviewContextType['dimensions']>, overlaps?: {
91
+ cols?: number[];
92
+ rows?: number[];
93
+ }, providedGraph?: AdjacencyMap | null);
94
+ registerLayout(componentId: string, layout: {
95
+ x: number;
96
+ y: number;
97
+ }): void;
98
+ getLayout(componentId: string): {
99
+ x: number;
100
+ y: number;
101
+ };
102
+ get contextDims(): {
103
+ width: number;
104
+ height: number;
105
+ offsetX: number;
106
+ offsetY: number;
107
+ };
108
+ updateDimensions(dims: AniviewContextType['dimensions']): void;
109
+ updateSpringConfig(config: any): void;
110
+ /**
111
+ * Returns the shared physics configuration for snap animations.
112
+ */
113
+ getSpringConfig(): {
114
+ damping: number;
115
+ stiffness: number;
116
+ mass: number;
117
+ overshootClamping: boolean;
118
+ restDisplacementThreshold: number;
119
+ restSpeedThreshold: number;
120
+ };
121
+ /** Gets the global (x, y) offset for a specific page relative to origin. */
122
+ getPageOffset(pageId: number | string, dims: AniviewContextType['dimensions']): {
123
+ x: number;
124
+ y: number;
125
+ };
126
+ resolvePageId(pageId: number | string): number;
127
+ private _currentPageSV;
128
+ getCurrentPage(): SharedValue<number | string>;
129
+ _setCurrentPageSV(sv: SharedValue<number | string>): void;
130
+ /**
131
+ * Pre-calculates absolute coordinates for a component's keyframes.
132
+ * Segregates Spatial (X/Y) frames from Event-based (1D) frames.
133
+ */
134
+ register(pageId: number | string, dims: AniviewContextType['dimensions'], keyframes?: AniviewFrame[] | Record<string, AniviewFrame>, localLayout?: {
135
+ x: number;
136
+ y: number;
137
+ }): {
138
+ homeOffset: {
139
+ x: number;
140
+ y: number;
141
+ };
142
+ bakedFrames: Record<string, BakedFrame>;
143
+ eventLanes: Record<string, BakedFrame[]>;
144
+ localLayout: {
145
+ x: number;
146
+ y: number;
147
+ };
148
+ };
149
+ /** Minimal offset context for direct page references */
150
+ registerPage(pageId: number | string, dims: AniviewContextType['dimensions']): {
151
+ offset: {
152
+ x: number;
153
+ y: number;
154
+ };
155
+ dimensions: {
156
+ width: number;
157
+ height: number;
158
+ };
159
+ };
160
+ /** Returns all valid page IDs defined in the layout matrix */
161
+ getPages(): number[];
162
+ /** Map of PageID -> (x, y) coordinates */
163
+ getPagesMap(dims: AniviewContextType['dimensions']): Record<number, {
164
+ x: number;
165
+ y: number;
166
+ }>;
167
+ /** Returns calculated min/max world boundaries for gesture clamping */
168
+ getWorldBounds(dims: AniviewContextType['dimensions']): AniviewMath.WorldBounds;
169
+ /**
170
+ * Generates the core Pan Gesture logic.
171
+ * Uses local closures to ensure UI-thread safety and prevent context loss.
172
+ */
173
+ generateGesture(x: SharedValue<number>, y: SharedValue<number>, onPageChange?: (pageId: number | string) => void, lockMask?: SharedValue<number>, simultaneousHandlers?: any, gestureEnabled?: SharedValue<boolean>, dims?: AniviewContextType['dimensions'], isSnapping?: SharedValue<boolean>, lastTargetId?: SharedValue<number | string>): import("react-native-gesture-handler/lib/typescript/handlers/gestures/panGesture").PanGesture;
174
+ }
175
+ //# sourceMappingURL=aniviewConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aniviewConfig.d.ts","sourceRoot":"","sources":["../src/aniviewConfig.tsx"],"names":[],"mappings":"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"}