# Function: litness()

[**lifecycle-kit**](https://jonbogaty.com/lifecycle-kit/api/readme/index.md)

***

[lifecycle-kit](https://jonbogaty.com/lifecycle-kit/api/readme/index.md) / [assemblage](https://jonbogaty.com/lifecycle-kit/api/assemblage/readme/index.md) / litness


# Function: litness() {#function-litness}


> **litness**(`point`, `light`): `number`

Defined in: [assemblage/light.ts:70](https://github.com/jbcom/lifecycle-kit/blob/074e4e7b8038d3e2de9eb44c4b5b5aee0ef02b48/src/assemblage/light.ts#L70)

How much light a point catches, 0..1.

The dot product of the point's offset against the light direction, which is
the flat-shading approximation: a point on the side facing the light is
brighter, and the falloff is smooth so nothing bands.

There are no surface normals here because there is no surface — these are
outlines in a plane. Position against the light is the honest amount of
information available, and it is enough to make a limb sit in front of a
body rather than on it. What it CANNOT do is know that one part covers
another; that is `occlusion`'s job, and the two compose.


## Parameters {#parameters}



### point {#point}


[`Vec2`](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/vec2/index.md)


### light {#light}


[`Light`](https://jonbogaty.com/lifecycle-kit/api/assemblage/interfaces/light/index.md)


## Returns {#returns}


`number`
