Description
I decided to port /camera command from Minecraft Bedrock

Syntax:
/camera <players:target> clear - Clears your camera settings
/camera <players:target> fade time <fadeInSeconds: time> <holdSeconds: time> <fadeOutSecond:time> color <red: int> <green: int> <blue: int> - Color fade effect
/camera <players:target> set <mode:string> - Set your camera mode
/camera <players:target> set <mode:string> pos <position:vec3> - Set your camera position
/camera <players:target> set <mode:string> rot <rotation:vec2> - Set your camera rotation
/camera <players:target> set <mode:string> facing <lookAtEntity:entity> - Set your camera look at entity
/camera <players:target> set <mode:string> facing <lookAtPos:vec3> - Set your camera look at pos
/camera <players:target> set <mode:string> ease <easeTime:float> <easingType:easing> - Set your camera look at pos
List of all easings
linear, spring, in_quad, out_quad, in_out_quad, in_cubic, out_cubic, in_out_cubic, in_quart, out_quart, in_out_quart, in_quint, out_quint,
in_out_quint, in_sine, out_sine, in_out_sine, in_expo, out_expo, in_out_expo, in_circ, out_circ, in_out_circ, in_bounce, out_bounce, in_out_bounce,
in_back, out_back, in_out_back, in_elastic, out_elastic, in_out_elastic
You can add your own camera presets with datapacks and change them.
You can change this properties inside of presets json files:
"inherits_from" - Default camera preset as parent, can be set to ("minecraft:first_person","minecraft:third_person","minecraft:third_person_back","minecraft:free"),
"detached" - Property to make your camera preset detached, like in third person (true, false)
"mirrored" - Property to make your camera preset mirrored, like third person front (true, false)
"bobView" - Property to make your camera bob while moving (true, false)
"free" - Makes your camera unattached to player entity (true, false)
"zoomOut" - Zoom value is used in detached camera modes (Default is 4.0)
"rotation" - Camera mode default rotation (Default is [0, 0])
"position" - Camera mode default position (Default is [0, 0, 0])
"offset" - Camera mode default offset, can't be used in free camera modes (Default is [0, 0, 0])



