Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
4282e55
Bump Reanimated
j-piasecki Nov 12, 2024
58ce579
Bootstrap native detector
j-piasecki Feb 20, 2025
ee36d96
Setup custom shadow node iOS
j-piasecki Feb 20, 2025
a2348c1
Setup custom node on Android
j-piasecki Feb 20, 2025
46dba42
Setup detector to match child's size
j-piasecki Feb 20, 2025
264f45c
Add events to the spec
j-piasecki Feb 22, 2025
fe50aa3
Allow handlers to be detached without destroing them
j-piasecki Feb 22, 2025
a059f18
POC gesture lifecycle
j-piasecki Feb 22, 2025
00d7903
Simple event dispatching ios
j-piasecki Feb 22, 2025
40b1f07
Android gesture lifecycle and basic event logic
j-piasecki Feb 22, 2025
4175ce4
Update podfile lock
j-piasecki Apr 11, 2025
42aa690
Add TODO
j-piasecki Apr 11, 2025
2d1284e
Fix conflicts
j-piasecki Jul 1, 2025
6d3428b
Inject module id into the runtimes
j-piasecki Jul 1, 2025
3dbaa16
Run createGestureHandler on JS thread
j-piasecki Jul 1, 2025
9e20e8c
Create handlers in useMemo to prevent race conditions
j-piasecki Jul 1, 2025
0e3699b
Avoid handler tag conflicts between different instances of Gesture Ha…
j-piasecki Jul 1, 2025
b259c38
Send entire events on iOS
j-piasecki Jul 2, 2025
be3ce91
Align android events to the same structure as on iOS
j-piasecki Jul 2, 2025
b548b44
Format c++
j-piasecki Jul 2, 2025
fa7719e
Format iOS
j-piasecki Jul 2, 2025
b729976
Format Android
j-piasecki Jul 2, 2025
a5f069d
Fix js lint
j-piasecki Jul 2, 2025
4d63205
Fix conflicts
j-piasecki Jul 3, 2025
e4324a7
Dispatch gesture update event to native detector
j-piasecki Jul 3, 2025
0db2277
Send touch events on Android
j-piasecki Jul 3, 2025
d8f1781
Send touch events on iOS
j-piasecki Jul 4, 2025
68d6497
Support animated events
j-piasecki Jul 4, 2025
d52dfea
Remove redundant size setter
j-piasecki Jul 7, 2025
a99ed7d
Send event specific for Animated when used
j-piasecki Jul 7, 2025
7a83d79
Type global module id
j-piasecki Jul 7, 2025
b62abfb
Fix nitpicks
j-piasecki Jul 7, 2025
8ee5c0e
Remove detector manager on ios
j-piasecki Jul 7, 2025
7e73369
Simplify android detector attach logic
j-piasecki Jul 7, 2025
3b1474d
Update android
j-piasecki Jul 8, 2025
9b7d625
Apple changes
j-piasecki Jul 8, 2025
7443ef2
Remove `detachGestureHandler` method from module
j-piasecki Jul 8, 2025
95621a6
Remove commented code
j-piasecki Jul 8, 2025
56f8ba6
Clone child on detector clone, move to implementation file
j-piasecki Jul 10, 2025
6e64fba
Rename `animatedEvents` -> `dispatchAnimatedEvents`
j-piasecki Jul 11, 2025
f10ba40
Update example
j-piasecki Jul 11, 2025
d48b159
Rename gesture
j-piasecki Jul 11, 2025
d8fe0ef
Rename `setDispatchAnimatedEvents` -> `setDispatchesAnimatedEvents`
j-piasecki Jul 11, 2025
55994a0
Choose view for interaction
j-piasecki Jul 11, 2025
077f1dc
Update todo
j-piasecki Jul 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions apps/basic-example/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,28 @@ GEM
base64
nkf
rexml
activesupport (7.1.4.2)
activesupport (7.1.5.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
mutex_m
securerandom (>= 0.3)
tzinfo (~> 2.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
base64 (0.3.0)
benchmark (0.4.1)
bigdecimal (3.2.2)
claide (1.1.0)
cocoapods (1.15.2)
addressable (~> 2.8)
Expand Down Expand Up @@ -64,8 +67,8 @@ GEM
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.3.3)
connection_pool (2.5.1)
drb (2.2.1)
connection_pool (2.5.3)
drb (2.2.3)
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
Expand All @@ -77,7 +80,7 @@ GEM
mutex_m
i18n (1.14.7)
concurrent-ruby (~> 1.0)
json (2.10.2)
json (2.12.2)
logger (1.7.0)
minitest (5.25.5)
molinillo (0.8.0)
Expand All @@ -89,6 +92,7 @@ GEM
public_suffix (4.0.7)
rexml (3.4.1)
ruby-macho (2.5.1)
securerandom (0.3.2)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.6)
Expand Down
2 changes: 1 addition & 1 deletion apps/basic-example/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2678,7 +2678,7 @@ SPEC CHECKSUMS:
RNReanimated: 25060745a200605462ff56cf488411db066631ce
RNWorklets: 9bb08cb0ef718ce063f61ca18f95f57aec9b9673
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
Yoga: 0c4b7d2aacc910a1f702694fa86be830386f4ceb
Yoga: 395b5d614cd7cbbfd76b05d01bd67230a6ad004e

PODFILE CHECKSUM: d05778d3a61b8d49242579ea0aa864580fbb1f64

Expand Down
72 changes: 32 additions & 40 deletions apps/basic-example/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,55 +4,47 @@ import { GestureHandlerRootView } from 'react-native-gesture-handler';

import Navigator from './Navigator';

import ComponentsScreen from './ComponentsScreen';
import FinalScreen from './FinalScreen';
import GestureCompositionScreen from './GestureCompositionScreen';
import HomeScreen from './HomeScreen';
import ViewFlatteningScreen from './ViewFlatteningScreen';
import NativeDetector from './NativeDetector';
import RuntimeDecoration from './RuntimeDecoration';

const Stack = Navigator.create();

Stack.setRoutes({
home: {
component: HomeScreen,
title: 'RNGH FabricExample',
rightButtonAction: () => {
Stack.navigateTo('gestureComposition');
},
},
gestureComposition: {
component: GestureCompositionScreen,
title: 'Gesture Composition',
rightButtonAction: () => {
Stack.navigateTo('components');
},
},
components: {
component: ComponentsScreen,
title: 'Components',
rightButtonAction: () => {
Stack.navigateTo('viewFlattening');
},
const EXAMPLES = [
{
name: 'Runtime Decoration',
component: RuntimeDecoration,
},
viewFlattening: {
component: ViewFlatteningScreen,
title: 'View Flattening',
rightButtonAction: () => {
Stack.navigateTo('final');
},
{
name: 'Native Detector',
component: NativeDetector,
},
final: {
component: FinalScreen,
title: 'Final Screen',
},
});
];

const Stack = Navigator.create();
Stack.setRoutes(
Object.fromEntries(
EXAMPLES.map((example, index) => [
example.name.toLowerCase().replace(/\s+/g, ''),
{
component: example.component,
title: example.name,
rightButtonAction:
index === EXAMPLES.length - 1
? undefined
: () => {
Stack.navigateTo(
EXAMPLES[index + 1].name.toLowerCase().replace(/\s+/g, '')
);
},
},
])
)
);

export default function App() {
return (
<GestureHandlerRootView style={{ flex: 1 }}>
<SafeAreaView
style={[{ flex: 1 }, Platform.OS === 'android' && { paddingTop: 50 }]}>
<Stack.Navigator initialRouteName="home" />
<Stack.Navigator />
</SafeAreaView>
</GestureHandlerRootView>
);
Expand Down
193 changes: 0 additions & 193 deletions apps/basic-example/src/ComponentsScreen.tsx

This file was deleted.

Loading
Loading