zoom_in
Apply a linear zoom-in effect to a Video.
Call shape
zoom_in(video: Video, by?: Number) -> Video
This is call-shape notation for lookup, not ClipAsm declaration syntax.
Graph inputs
| Name | Type | Cardinality |
|---|---|---|
video | Video | exactly one |
Parameters and defaults
| Name | Type | Requirement | Default or omission behavior |
|---|---|---|---|
by | Number | optional | 8% |
Result and stack behavior
Outputs: Video.
Default stack access is owned. See stack binding for ownership and visibility rules.
Timeline and markers
The program keeps the duration and addressable markers from video.
Example
clipasm 1
config {
video {
fps = 30
}
}
image("assets/card.png", 2s)
zoom_in(12%)
Expected validation result: Video with exactly 60 project frames at the example’s explicit fps = 30.
The reference checks parse and compile this exact example. Compilation does not inspect the named media files.
Behavior
- For a multi-frame Video, scale increases linearly from 100% on the first frame to exactly 100% + by on the last frame.
- Directly adjacent zoom_in calls are composed into one perspective resampling pass; their per-frame scale curves multiply in authored order.
- The program preserves the Video timeline and the attached meaningful-Audio state.
Requirements
- by must be positive.
- Adjacent zooms must fit the 24 KiB composed-filter limit.
Common diagnostics
These are the diagnostics most specific to this program.
E_INVALID_ZOOM_AMOUNT— Invalid zoom amountE_GRAPH_TOO_LARGE— Graph size limit exceeded