# Source scope and original implementation

## User-provided design reference

https://gamifylist.com/app/plaicise

The page describes converting movement into game controls and shows selected screenshots.
It does not supply executable code, a complete current catalogue, all game rules, scoring,
exercise form definitions or accessibility adaptations. Its user counts/prices are not
used as evidence in WiraPlay.

Names visible in the referenced screenshots were GetOut, FitnessHero, Ninja, Ufo, Gravity,
FreeRunner, Pong, Billard, Outnumbered and PushOut. Selected labels mention jumping,
ducking, squats and burpees. Names alone do not establish exact mechanics. We have NOT
claimed that all current Plaicise games were reproduced or that multiplayer is implemented.
The official app listing also describes AR fitness and social/duel features, not the full
specification: https://apps.apple.com/ch/app/plaicise-ar-fitness-games/id1535050335?l=en

## What WiraPlay implements

The following are our original design decisions. Plaicise code, screenshots, branding and
artwork are not embedded in the product. The Si Wira image and brand logos were supplied
by the user. These game rules are WiraPlay rules, not reconstructed Plaicise rules.

| WiraPlay game | Implemented interaction | Observed task output |
|---|---|---|
| Arena Si Wira | Read cue, perform punch/high-low block; other moves depend on mode | Correct cue responses; response completion latency |
| Kilat Reaksi | Wait random interval; punch only after GO | False starts, valid response latency |
| Sentuh Bintang | Move wrist cursor into target and dwell | Target success and cue-to-reach latency |
| Gerbang Wira | Steer through the open lane in an approaching gate | Correct lane passages |
| Orbit Wira | Control capsule height to pass wall gaps | Gap passages |
| Larian Wira | Change lane to collect lights and avoid cones | Collection / avoidance success |
| Pantulan Wira | Steer a paddle underneath a moving ball | Successful returns |
| Sasaran Wira | Aim a guide and punch to launch a ball | Target hits |
| Tangga Wira | Steer to a platform, raise hands / lower body for virtual lift | Successful platform landings |
| Benteng Wira | Aim towards an approaching orb; punch to repel | Repelled orbs / misses |
| Irama Wira | Alternate high / low blocks at the beat | Correct blocks and timing error |
| Nombor Wira | Reach the smallest of three numbers | Correct choices / choice latency |
| Ingatan Wira | Watch a light sequence then reproduce it | Sequence-step accuracy / response latency |
| Isyarat Wira | GO: punch; STOP: withhold response | Hits, false alarms, correct rejections |

All 14 have seated, standing-half and standing-full configurations. Adapted seated control
uses hands; there are no mandatory seated kicks, ducks, jumps or burpees. A virtual platform
jump is controlled by a hand raise, not a required real jump. Movement familiarity and
comfortable range still require individual testing; this is not an accessibility or
rehabilitation certification.

## Technical primary sources checked

- Pose Landmarker web guide:
  https://developers.google.com/edge/mediapipe/solutions/vision/pose_landmarker/web_js
  Supports body landmarks, VIDEO processing and documented synchronous inference.
- Gesture Recognizer web guide:
  https://developers.google.com/edge/mediapipe/solutions/vision/gesture_recognizer/web_js
  Supports the `Thumb_Up` category and hand landmarks. WiraPlay's threshold, hold time and
  readiness state machine are our own decisions, not clinical thresholds from the source.
- Pinned package README:
  https://unpkg.com/@mediapipe/tasks-vision@0.10.21/README.md
- Browser camera security:
  https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
  Camera access needs user permission and an appropriate secure context.

Documentation supports API design choices, not WiraPlay's physical accuracy or efficacy.
Those require actual device testing and separate research validation.
