# Portfolio reconstructions

These are newly written explanatory examples, not production code from the original projects. No confidential protocols, data or device SDKs are included. Unity compilation and play-mode validation have not been performed in this environment.

## GhostReplay.cs
Source: Notion 낙하산 어트랙션. Attach to a ghost GameObject; assign ghost-sample.csv as TextAsset and optionally the player Transform. Uses timestamps and interpolation; exceeding catchUpDistance seeks the nearest recorded position. Only numeric CSV is accepted. Invalid input disables playback in Start. A looping/crossing route may need route-progress constraints; nearest-position search alone is deliberately a minimal example. If no recorded point is within range, repositioning cannot guarantee proximity.
Manual checks: verify interpolated motion; test malformed CSV and duplicate timestamps; move player near the later path; confirm end-of-file hold.

## RotationSensorSelector.cs
Source: Notion 특전교 낙하산 시뮬레이터. Create three pose Transforms calibrated into the same world coordinates; configure preferred yaw 0/120/240; assign rig and output. New example design adds switch hysteresis and exponential blending. It does not implement Kinect calibration, skeleton merge or device I/O. Sensor adapters must update tracked including a timeout for stale data.
Manual checks: rotate through 359/0; cross boundaries repeatedly; disable one/all sources; verify hold on complete tracking loss. Avoid using output as an input pose.
