* Use new MediaPipe packages and update version
* Apply updates from MediaPipeUnityPlugin
All while keeping C pointers like `void*` instead of `IntPtr`
and various other practices.
* Add VSCode task to debug tests
* Fix unset freeHGlobal delegate
This can happen because the static code of the NativeMethods class
could have not run, for some reason...
* Fix all examples
* Fix import reordering
* Add paths for Linux in BlazePose example
* Add BlazePose example to VSCode debug launchers
* Use `pose_landmark` instead of `pose_tracking_*`
* Pluralize `SidePacket`
The correct way to call it is actually `SidePackets`,
as it is internally a `map<string, Packet>`.
* Little XML doc
* Consolidate `StartRun` method parameters
* Add `SidePackets` property to `Calculator`
* Add side packet arguments to `BlazePose`
* Use the `pose_tracking` graph
Let's try specifying side packets there instead.
* Use asynchronous SeeShark frame input
Looks like that doesn't fix the FPS...
* Remove unnecessary `unsafe`
* Better error handling in example program
* Uncomment additional SidePacket
* Implement new Packet API
* Rename `Packet` namespace to `OldPacket`
* Rename `NewPacket` namespace to `Packet`
* Actually, `Packets` is better...
* Delete old Packet API
* Replace Calculators with Solutions
Solutions are written in a way to imitate the
MediaPipe Python API as much as possible.
* Remove Old Packet API tests
* Fix remaining tests
* No more `SignalAbort` :0
* Revert "No more `SignalAbort` :0"
This reverts commit dd63b53fb53590560188d652346130ff31c74c62.
* Create `FaceMeshCpuSolution`
* Add interface
* Temporarily remove non-compiling example projects
* This solution produces segfaults...
* Create `PacketType` enum
Store packet outputs instead of packets in solution
No segfault now :D
* Use an `IDictionary` for outputs
* Create a `Hands` example
* Hand tracking is 10 times slower...
* No threading T-T
* Add `FaceMeshGpu` solution
* Avoid `free(): invalid pointer` error
* Implement `HandsGpu` solution
It works perfectly fine :D
* Start reimplementing Pose example
* Pose landmarks CPU (it's very slow)
* Just correcting some things in the examples
* Implement `PoseGpuSolution` (it's decently fast)
* `OsuFrameworkVisualTests` example works too
Though we need a way to make solutions multithreaded.
* Attempt at thread-safe `Solution` implementation
* There is no thread-safe solution. :')
This reverts commit 6e9ccca3deebf3ca74ed25c41e619c07c5febd94.
* Fix duplicate project in solution
How the fuck did that happen???
* yep
* yep fix namespaces
* add gpu face mesh
* include path
* add example
* Configure VSCode debugging for the example
* Runtime arguments are overkill it seems
* Fix linting
* Fix linting (and my brain)
* fix issue
* yeppers
* You think it's funny to take screenshots of people's NFTs, huh?
Property theft is a joke to you? I'll have you know that the blockchain doesn't lie. I own it. Even if you save it, it's my property. You are mad that you don't own the art that I own. Delete that screenshot.
* add BlazePose
* fix tiny skill issue
* fix using issue
* add hand and holistic calculators
* fix hand graph issue
* stuff
* Format all the stuff
* Create `CpuCalculator`
While leaving a kind of mess lol
* Create `GpuCalculator`
Poggers, but in parallel
* More graphs
* yep example
* Create new o!f visual tests example project
* Use the Superior target framework
* questioning the use of a questionable question mark
* pls halp
* Ignore `mediapipe/` folder for tests and examples
* Add GPU example to VSCode
* property
* change null frame exception message
Co-authored-by: Ayane <ayane@vignetteapp.org>
* `SupportedOSPlatform`: Case consistency
* Fix file encoding
* visual test
* Actuall close the graphs when disposing
* Fix `.csproj` file consistency
* Fix formatting and linting on `MediapipeDrawable`
* Fix `MediapipeDrawable` not showing
* Use a span instead of copying
* At least it disposes now...
* Round the corners of `MediapipeDrawable`
* remove unnecessary check
* increase drawable size and fill mode
* use consistent spacing
* oops
* Just a bit of formatting
and use `using` for the output image frame
* GPU WORKSWITH THIS ONE SIMPLE TRICK
LEARN HOW HE MADE BILLIONS OF DOLLARS WITH ONLY ONE LINE OF CODE
* dispose everywhere then
* add basic xmldoc
* fix lagnguage
* remove unnecessary nullable
* fix issue
* add new constructor
* Cleanup constructors
* fix xmldoc
* This is a better way to do it
* Create base `Calculator` class
* Delete `ICalculator` interface
* Polish XML doc
Also fix the stupid 💀
* Make all child calculators sealed
* Add `SupportedOSPlatform`
Can't add "Android" because some `Console` methods are unsupported
* Remove tmate debug from CI
* Polish examples more
I'm a perfectionist...?
Co-authored-by: Speykious <speykious@gmail.com>
Co-authored-by: Ayane <ayane@vignetteapp.org>