goose_vec

Source-derived package reference

Browse namespaces and declarations, or search names, types and documentation. All artifacts work offline.

Global namespace

Structs

vec2
struct vec2<T>

vec3
struct vec3<T>

vec4
struct vec4<T>

Aliass

double2
type double2 = vec2<f64>

double3
type double3 = vec3<f64>

double4
type double4 = vec4<f64>

float2
type float2 = vec2<f32>

float3
type float3 = vec3<f32>

float4
type float4 = vec4<f32>

int2
type int2 = vec2<i32>

int3
type int3 = vec3<i32>

int4
type int4 = vec4<i32>

Functions

cross
fn cross<T>(a: vec3<T>, b: vec3<T>) -> vec3<T>

distance
fn distance<T>(a: vec3<T>, b: vec3<T>) -> T

distance
fn distance<T>(a: vec4<T>, b: vec4<T>) -> T

distance
fn distance<T>(a: vec2<T>, b: vec2<T>) -> T

dot
fn dot<T>(a: vec2<T>, b: vec2<T>) -> T

dot
fn dot<T>(a: vec3<T>, b: vec3<T>) -> T

dot
fn dot<T>(a: vec4<T>, b: vec4<T>) -> T

length
fn length<T>(v: vec3<T>) -> T

length
fn length<T>(v: vec4<T>) -> T

length
fn length<T>(v: vec2<T>) -> T

Float vectors only: sqrt has f32 and f64 forms.

length_sq
fn length_sq<T>(v: vec2<T>) -> T

length_sq
fn length_sq<T>(v: vec3<T>) -> T

length_sq
fn length_sq<T>(v: vec4<T>) -> T

lerp
fn lerp<T>(a: vec4<T>, b: vec4<T>, t: T) -> vec4<T>

lerp
fn lerp<T>(a: vec2<T>, b: vec2<T>, t: T) -> vec2<T>

lerp
fn lerp<T>(a: vec3<T>, b: vec3<T>, t: T) -> vec3<T>

normalize
fn normalize<T>(v: vec3<T>) -> vec3<T>

normalize
fn normalize<T>(v: vec2<T>) -> vec2<T>

normalize
fn normalize<T>(v: vec4<T>) -> vec4<T>

xy
fn xy<T>(v: vec3<T>) -> vec2<T>

xy
fn xy<T>(v: vec4<T>) -> vec2<T>

xyz
fn xyz<T>(v: vec4<T>) -> vec3<T>

Constants

double2_0
let double2_0: vec2<f64>

double2_1
let double2_1: vec2<f64>

double3_0
let double3_0: vec3<f64>

double3_1
let double3_1: vec3<f64>

double4_0
let double4_0: vec4<f64>

double4_1
let double4_1: vec4<f64>

float2_0
let float2_0: vec2<f32>

float2_1
let float2_1: vec2<f32>

float3_0
let float3_0: vec3<f32>

float3_1
let float3_1: vec3<f32>

float4_0
let float4_0: vec4<f32>

float4_1
let float4_1: vec4<f32>

int2_0
let int2_0: vec2<i32>

int2_1
let int2_1: vec2<i32>

int3_0
let int3_0: vec3<i32>

int3_1
let int3_1: vec3<i32>

int4_0
let int4_0: vec4<i32>

int4_1
let int4_1: vec4<i32>

Documentation scope

Global namespaces; no Rust-style package visibility. export fn marks a native interface.

  • Only top-level functions, structs, enums, aliases, globals and named fields/variants are indexed. Nested functions, padding and compiler builtins are omitted.
  • Namespaces are grouping metadata; namespace documentation and import aliases are not declaration items.
  • Signatures use the LSP type renderer: resolved alias uses may expand and parameter/field defaults render as '= ...'. Linked source retains original spelling.
  • Missing result annotations remain unspecified, untyped parameters have null types. No inferred lifetimes, visibility or constraints are invented.
  • Markdown renders paragraphs, headings, fenced code, unordered lists, emphasis, inline code and explicit links. Raw HTML, tables and automatic reference links are not rendered.
  • Search is lexical substring matching with AND filters, not fuzzy matching, type unification, signature solving or semantic search.