Like any other visible object, movies can be masked. Here’s how:
movie.mask = mask
let color = Movie("halo.mp4")!
let gray = Movie("haloGray.mp4")!
color.frame = canvas.frame
color.play()
gray.frame = canvas.frame
gray.muted = true
gray.play()
let g = Gradient(frame: gray.bounds)
g.colors = [clear, white]
g.locations = [0, 0.5]
g.endPoint = Point(1, 1)
gray.mask = g
canvas.add(color)
canvas.add(gray)