react-native-nitro-pose-exercises 1.0.2 → 1.0.4
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.
- package/README.md +0 -23
- package/android/gradle.properties +5 -0
- package/nitrogen/generated/android/nitroposeexercises+autolinking.cmake +1 -0
- package/nitrogen/generated/shared/c++/HybridWorkletQueueFactorySpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridWorkletQueueFactorySpec.hpp +66 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -56,7 +56,6 @@ cd ios && pod install
|
|
|
56
56
|
<tr>
|
|
57
57
|
<th align="center">🍏 iOS Normal Mode</th>
|
|
58
58
|
<th align="center">🍏 iOS Skia Mode</th>
|
|
59
|
-
<th align="center">🤖 Android Demo</th>
|
|
60
59
|
</tr>
|
|
61
60
|
<tr>
|
|
62
61
|
<td align="center">
|
|
@@ -65,9 +64,6 @@ cd ios && pod install
|
|
|
65
64
|
<td align="center">
|
|
66
65
|
<img alt="android" src="./docs/img/skia-iOS.png" height="650" width="300"/>
|
|
67
66
|
</td>
|
|
68
|
-
<td align="center">
|
|
69
|
-
<div>Screenshot Coming Soon!</div>
|
|
70
|
-
</td>
|
|
71
67
|
</tr>
|
|
72
68
|
</table>
|
|
73
69
|
|
|
@@ -131,25 +127,6 @@ module.exports = {
|
|
|
131
127
|
|
|
132
128
|
---
|
|
133
129
|
|
|
134
|
-
# GIF Demo
|
|
135
|
-
|
|
136
|
-
<table>
|
|
137
|
-
<tr>
|
|
138
|
-
<th align="center">📸 Normal Mode</th>
|
|
139
|
-
<th align="center">💀 Skeleton Mode</th>
|
|
140
|
-
</tr>
|
|
141
|
-
<tr>
|
|
142
|
-
<td align="center">
|
|
143
|
-
<img alt="normal-mode" src="https://github.gauthamvijay.com/normal-iOS.gif" height="650" width="300"/>
|
|
144
|
-
</td>
|
|
145
|
-
<td align="center">
|
|
146
|
-
<img alt="skeleton-mode" src="https://github.gauthamvijay.com/skia-iOS.gif" height="650" width="300"/>
|
|
147
|
-
</td>
|
|
148
|
-
</tr>
|
|
149
|
-
</table>
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
130
|
## ⚙️ Usage
|
|
154
131
|
|
|
155
132
|
### Basic — Normal Camera (No Skeleton)
|
|
@@ -34,6 +34,7 @@ target_sources(
|
|
|
34
34
|
../nitrogen/generated/android/nitroposeexercisesOnLoad.cpp
|
|
35
35
|
# Shared Nitrogen C++ sources
|
|
36
36
|
../nitrogen/generated/shared/c++/HybridNitroPoseExercisesSpec.cpp
|
|
37
|
+
../nitrogen/generated/shared/c++/HybridWorkletQueueFactorySpec.cpp
|
|
37
38
|
# Android-specific Nitrogen C++ sources
|
|
38
39
|
../nitrogen/generated/android/c++/JHybridNitroPoseExercisesSpec.cpp
|
|
39
40
|
)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridWorkletQueueFactorySpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "HybridWorkletQueueFactorySpec.hpp"
|
|
9
|
+
|
|
10
|
+
namespace margelo::nitro::camera::worklets {
|
|
11
|
+
|
|
12
|
+
void HybridWorkletQueueFactorySpec::loadHybridMethods() {
|
|
13
|
+
// load base methods/properties
|
|
14
|
+
HybridObject::loadHybridMethods();
|
|
15
|
+
// load custom methods/properties
|
|
16
|
+
registerHybrids(this, [](Prototype& prototype) {
|
|
17
|
+
prototype.registerHybridMethod("wrapThreadInQueue", &HybridWorkletQueueFactorySpec::wrapThreadInQueue);
|
|
18
|
+
prototype.registerHybridMethod("getCurrentThreadMarker", &HybridWorkletQueueFactorySpec::getCurrentThreadMarker);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
} // namespace margelo::nitro::camera::worklets
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridWorkletQueueFactorySpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/HybridObject.hpp>)
|
|
11
|
+
#include <NitroModules/HybridObject.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
// Forward declaration of `HybridNativeThreadSpec` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::camera { class HybridNativeThreadSpec; }
|
|
18
|
+
|
|
19
|
+
#include "JSIConverter+AsyncQueue.hpp"
|
|
20
|
+
#include <memory>
|
|
21
|
+
#include <VisionCamera/HybridNativeThreadSpec.hpp>
|
|
22
|
+
|
|
23
|
+
namespace margelo::nitro::camera::worklets {
|
|
24
|
+
|
|
25
|
+
using namespace margelo::nitro;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* An abstract base class for `WorkletQueueFactory`
|
|
29
|
+
* Inherit this class to create instances of `HybridWorkletQueueFactorySpec` in C++.
|
|
30
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
|
31
|
+
* @example
|
|
32
|
+
* ```cpp
|
|
33
|
+
* class HybridWorkletQueueFactory: public HybridWorkletQueueFactorySpec {
|
|
34
|
+
* public:
|
|
35
|
+
* HybridWorkletQueueFactory(...): HybridObject(TAG) { ... }
|
|
36
|
+
* // ...
|
|
37
|
+
* };
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
class HybridWorkletQueueFactorySpec: public virtual HybridObject {
|
|
41
|
+
public:
|
|
42
|
+
// Constructor
|
|
43
|
+
explicit HybridWorkletQueueFactorySpec(): HybridObject(TAG) { }
|
|
44
|
+
|
|
45
|
+
// Destructor
|
|
46
|
+
~HybridWorkletQueueFactorySpec() override = default;
|
|
47
|
+
|
|
48
|
+
public:
|
|
49
|
+
// Properties
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
public:
|
|
53
|
+
// Methods
|
|
54
|
+
virtual std::shared_ptr<::worklets::AsyncQueue> wrapThreadInQueue(const std::shared_ptr<margelo::nitro::camera::HybridNativeThreadSpec>& thread) = 0;
|
|
55
|
+
virtual double getCurrentThreadMarker() = 0;
|
|
56
|
+
|
|
57
|
+
protected:
|
|
58
|
+
// Hybrid Setup
|
|
59
|
+
void loadHybridMethods() override;
|
|
60
|
+
|
|
61
|
+
protected:
|
|
62
|
+
// Tag for logging
|
|
63
|
+
static constexpr auto TAG = "WorkletQueueFactory";
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
} // namespace margelo::nitro::camera::worklets
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nitro-pose-exercises",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Real-time on-device exercise tracking for React Native. Rep counting, form validation, and skeleton overlay powered by MediaPipe Pose Landmarker and VisionCamera v5 via Nitro Modules.",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|