lib.bend checks
raw source on the hub · import 0xab5b72f8eac09d083aa0b359ebe0a970/lib.bend as Lib
Vec2 — foundational two-dimensional vectors over Base F32.
Coordinates are F32. Constructors intentionally do not validate or normalize values. This layer avoids sqrt, trig, and all non-Base dependencies.
1 import
import Base
Types
type Vec2 source · line 7 · raw
Data
Vec2@x:F32 -> @y:F32 -> Vec2
Definitions
def Vec2.make source · line 11 · raw
@x:F32 -> @y:F32 -> Vec2
Constructors and axes.
def Vec2.zero source · line 14 · raw
Vec2
def Vec2.unit_x source · line 17 · raw
Vec2
def Vec2.unit_y source · line 20 · raw
Vec2
def Vec2.x source · line 24 · raw
@v:Vec2 -> F32
Field projections.
def Vec2.y source · line 29 · raw
@v:Vec2 -> F32
def Vec2.add source · line 35 · raw
@a:Vec2 -> @b:Vec2 -> Vec2
Component-wise arithmetic.
def Vec2.sub source · line 40 · raw
@a:Vec2 -> @b:Vec2 -> Vec2
def Vec2.scale source · line 45 · raw
@v:Vec2 -> @+s:F32 -> Vec2
def Vec2.dot source · line 51 · raw
@a:Vec2 -> @b:Vec2 -> F32
Dot product and squared length. length_sq deliberately avoids sqrt.
def Vec2.length_sq source · line 56 · raw
@+v:Vec2 -> F32
def Vec2.lerp source · line 60 · raw
@+a:Vec2 -> @b:Vec2 -> @t:F32 -> Vec2
Affine interpolation: a + (b - a) * t.