close

open override fun close()

Release all resources.

Ownership

  • CalibraLiveEval owns the detector and closes it here

  • LiveEvaluator owns refDetector (duplicate) and HPCP handles, closed via destroy()

  • studentDetector is passed to LiveEvaluator but NOT owned by it

  • LiveSession is owned by CalibraLiveEval, stopped here

  • Player and recorder are NOT owned - caller manages their lifecycle