# DolphinLightTriangle

A triangle is an affine image of (-1,-.5,0), (1,-.5,0), (0,.5,0). It shares the existing BVH and inverse-transpose normal path. There is no scene-specific visibility shortcut or heightfield march budget.

Last updated: 2026-09-09

Package: dolphin.lightlab | Status: source-declared

Tags: cpu, dolphin, dolphin.lightlab, function, lightlab, source-example

Build bounded lighting experiments with geometry, visibility, transport, film, and GPU/CPU contracts.

```yh
external DolphinLightTriangle(dolphinLightWorld world,int id,int material,int components,Vector3 a,Vector3 b,Vector3 c) returns bool
```


## Use DolphinLightTriangle

A complete small caller. Values are illustrative; check the returned result and package requirements before connecting live resources.

Verification: type checked

```yh
using dolphin.lightlab

// Build bounded lighting experiments with geometry, visibility, transport, film, and GPU/CPU contracts.
dolphinLightWorld world = dolphinLightWorld()
int id = 1
int material = 1
int components = 1
Vector3 a = Vector3(1.0, 1.0, 1.0)
Vector3 b = Vector3(1.0, 1.0, 1.0)
Vector3 c = Vector3(1.0, 1.0, 1.0)
bool result = DolphinLightTriangle(world, id, material, components, a, b, c)
Console.Log(Text.From(result))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.dolphin_lightlab__dolphinlighttriangle"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "dolphin.lightlab"
version = "0.1.0"
path = "../../../dolphin/packages/lightlab"

[[dependencies]]
package = "dolphin.materials"
version = "0.1.0"
path = "../../../dolphin/packages/materials"

[[dependencies]]
package = "dolphin.math"
version = "0.1.0"
path = "../../../dolphin/packages/math"

[[dependencies]]
package = "dolphin.spatial3d"
version = "0.1.0"
path = "../../../dolphin/packages/spatial3d"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/dolphin.lightlab--DolphinLightTriangle/usage --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


Package presence and a declaration do not establish support on every host. Host services need their platform and lifecycle setup.

Source: dolphin/packages/lightlab/src/triangles.yh

AI training permission: https://demonhunterlabs.com/ai-use
