Guides
Everything you need to use react-native-pose-detection in your app.
Building on the library? You're in the right place. Working on the library? See docs/.
Start here
| 1. Getting started | Install → live skeleton in five minutes |
| 2. Installation | Expo, bare RN, EAS, release builds |
| 3. Camera control | Switching, pausing, the three toggles |
| 4. Triggers | Business logic that runs natively |
| 5. Data delivery | Getting landmarks out without paying for them |
Going further
| Photos and video files | Landmarks from a file, and painted copies of one |
| What you can build | Trigger syntax, feasibility, honest limits |
| Performance | Profiles, the governor, thermal ladder, app size |
| Troubleshooting | When something doesn't work, and the log channel |
API reference
<PoseCamera> props | Every prop and its default |
| Events | Every callback, payload, and error code |
| Ref methods | switchCamera, snapshot, getState, … |
| Functions | detectOnImage, exportPose, setLogLevel, every other export |
| Types | PoseFrame, JointName, wire format |
| Trigger schema | Conditions, emit modes, validation |
| Camera permission | useCameraPermission, and why blocked is not denied |
| Config plugin | app.json options |
| CLI | fetch-model, doctor, clear-cache |
Getting the best performance
Four decisions are yours and they dominate everything else:
| Decision | Impact | Where |
|---|---|---|
Keep data.mode: 'off' and use triggers | 60 bridge crossings/sec → ~1 per event | data delivery |
| Pick the right model | lite adds ~5.5 MB, heavy ~29.2 MB | performance |
Use select to trim the payload | three joints is 48 bytes a frame, not 528 | data delivery |
Set active={isFocused} | camera off when the screen isn't visible | camera control |
Everything else, the delegate, the frame rate, the resolutions and the thermal response, is measured and chosen for you, and every one of those choices can still be overridden per axis.