Hooks

Prev Next

Hooks

Hooks are bridge layer only.

They map manager capability into React consumption without becoming capability owners.

useVideoTrimManager

Responsibilities:

  • Instantiate manager from player contract
  • Subscribe/unsubscribe manager events
  • Project manager state into React updates
  • Destroy manager on lifecycle cleanup

Must not:

  • Re-implement validation rules
  • Own authoritative trim state separate from manager

useTrimSelection

Responsibilities:

  • Expose selection actions for components
  • Surface read-only selection values derived from manager state

Must not:

  • duplicate selection transition logic

useTrimPlayerAdapter

Responsibilities:

  • Adapt concrete player to VideoTrimPlayerContract
  • Normalize time values to seconds
  • Provide stable subscribe/unsubscribe behavior

Must not:

  • include manager business rules

useTrimSubmission

v1.1 scope:

  • hook-level mock workflow state machine
  • submission lifecycle states (idle/submitting/processing/completed/failed)

Must not in v1.1:

  • call backend service layer
  • encode transport contracts as final production API

Hook Boundary Summary

Hooks bridge capability into React.
Hooks do not own capability.