The probe carries the same real navigation and quality math as the 2D original, now driving genuine positions and a texture-mapped screen in 3D space, not screen-space canvas drawing:
probe.pos += (target.pos - probe.pos) * speed speed = 0.015 + experience*0.012
quality = min(1, quality + 0.0025*(1 + experience*0.5)) per animation frame, once window acquired
match% = clamp(quality*105 - 8, 0, 99) nearest-neighbor score vs. reference views
dist = |target.pos - probe.pos| real 3D Euclidean distance, world units
Stage 1 drags the probe toward the real 3D target window for the selected protocol (RUQ for FAST, subxiphoid for cardiac, lateral thorax for lung), with jitter that shrinks as operator experience rises — a novice's hand is less steady than a trained sonographer's. Stage 2 grows the image-quality score and renders it directly onto the ultrasound screen plane as blur, exactly mirroring the coaching loop in the 2D version. Stage 3 snaps the matched reference view among six view planes arranged around the screen. Stage 4 surfaces the protocol's flagged finding as a pulsing 3D marker on the torso. Stage 5 fires an escalation beam from the screen to the remote-physician node.
- Operator experience — raises probe speed and quality gain, and shrinks jitter (same formula as the 2D sim).
- Exam protocol — moves the real 3D target window and swaps the flagged finding.
- Drag the background to orbit the camera; scroll to zoom.