# liftRenderableToFx

Converts any Renderable into an Fx while preserving its nested errors and
service requirements.

## Signatures

```ts
export declare function liftRenderableToFx<const T extends Renderable.Any>(renderable: T): Fx.Fx<Renderable.Success<T>, Renderable.Error<T>, Renderable.Services<T>>;
```

```ts
export declare function liftRenderableToFx<E = never, R = never>(renderable: Renderable<unknown, E, R>): Fx.Fx<any, E, R>;
```

## Why

Effect, Stream, Fx, Option, arrays, object structures, primitives, and
existing RenderEvents all enter rendering through one push-based substrate.
This is the compositional bridge that keeps Effect v4 foundational rather
than replacing it with a component-specific runtime.

## Ownership and lifetime

Lifting is lazy. The Scope running the returned Fx owns upstream acquisition,
interruption, and finalizers; existing DOM/HTML events retain their producer's
ownership contract.

## Examples

```ts
import { Effect } from "effect"
import { liftRenderableToFx } from "@typed/template/Render"

const output = liftRenderableToFx(Effect.succeed("ready"))
```
