open-index/open-npm huggingface dataset:
npm package: @renderform/cli
Description: Render images via command line
Author: Jakub Pomykała
Latest version: 1.1.1

## Usage

![How to render image](/readme/rendering.gif)

Create a JSON file in `my-directory` folder and name it `sample.json`.

```json
{
  "renderform": true,
  "data": [
    {
      "my_title.text": "My title", // 'my_title.text' is a template property from Form Editor (Preview popup)
      "my_image.src": "https://example.com/image.png"
    }
  ]
}
```

Then run the command:

```bash
npx @renderform/cli@1.1.0 --template <YOUR_TEMPLATE> --apiKey <YOUR_API_KEY> ./my-directory
```

The CLI will look for all JSON files in the directory and will create a new image or PDF file for each JSON file with the same name but with the corresponding extension.

![Sample output](/readme/my-blog-post.jpg)

## Options

### `--template`

The template ID to use. You can find the template ID in the URL of the template page.

### `--apiKey`

Your API key. You can find it in your RenderForm account.

### `--overwrite`

Overwrite existing files. By default, the CLI skips rendering for already rendered files. Use this option to force the CLI to request the
render and overwrite the existing file.

### `--debug`

Enable debug mode. It will print the API response in the console.

### `--no-cache`

Disable cache. It will force the CLI to re-render image from the API.
npm package: @renderful/openclaw-renderful
Description: OpenClaw plugin toolset for Renderful's agent-native generation API.
Latest version: 0.2.0

# @renderful/openclaw-renderful

OpenClaw plugin toolset for Renderful's agent-native API.

## Install

```bash
openclaw plugins install @renderful/openclaw-renderful
```

This package ships:
- `openclaw.plugin.json` metadata
- plugin extension entry via `package.json > openclaw.extensions`
- bundled skill directory: `skills/renderful-generation`
- standalone public skill source at `/skills/renderful-generation` for ClawHub publishing

## Tools

- Required/read-only:
  - `renderful_list_models`
  - `renderful_quote`
  - `renderful_get_generation`
  - `renderful_get_balance`
- Optional/side-effectful:
  - `renderful_register_agent`
  - `renderful_generate`
  - `renderful_set_webhook`

## OpenClaw Config Examples

Global allowlist with required tools only:

```json
{
  "tools": {
    "allow": [
      "renderful_list_models",
      "renderful_quote",
      "renderful_get_generation",
      "renderful_get_balance"
    ]
  }
}
```

Per-agent allowlist adding side-effect tools:

```json
{
  "agents": {
    "list": [
      {
        "id": "renderful-operator",
        "tools": {
          "allow": [
            "renderful_list_models",
            "renderful_quote",
            "renderful_get_generation",
            "renderful_get_balance",
            "renderful_register_agent",
            "renderful_generate",
            "renderful_set_webhook"
          ]
        }
      }
    ]
  }
}
```

## Workflow Guidance

Shipped skill `renderful-generation` enforces:
1. Call `renderful_list_models` when model choice is unknown.
2. Quote with `renderful_quote` before `renderful_generate`.
3. Poll status with `renderful_get_generation`.
4. Handle insufficient funds and x402 fallback deterministically.

## Auth Fallback

`renderful_generate` supports:
1. `api_key` -> bearer auth flow
2. `x_payment` -> x402 flow
3. No `api_key` and no `x_payment` -> challenge-first x402 flow (returns payment requirements)

If generation returns 402, the tool returns normalized `needs_funds`, `payment_requirements`, and `deposit_addresses` fields.

## ClawHub Skill Publish

Publish the standalone skill from this repo:

```bash
clawhub publish ./skills/renderful-generation
```
npm package: @renderify/cli
Description: A CLI for Renderify
Author: unadlib
Latest version: 0.6.0

# @renderify/cli

![Node CI](https://github.com/webllm/renderify/workflows/CI/badge.svg)
![npm](https://img.shields.io/npm/v/@renderify/cli.svg)
![license](https://img.shields.io/npm/l/@renderify/cli)

CLI utilities for Renderify.

`@renderify/cli` is the fastest way to run prompts, inspect generated RuntimePlan JSON, probe plan dependencies, execute plan files, and open the browser playground.

## Install

```bash
pnpm add -D @renderify/cli
# or
npm i -D @renderify/cli
```

Run directly from your project:

```bash
npx renderify help
```

## Commands

```bash
renderify run <prompt>          # Render prompt and print HTML
renderify plan <prompt>         # Print RuntimePlan JSON
renderify probe-plan <file>     # Probe plan dependencies and policy compatibility
renderify render-plan <file>    # Execute RuntimePlan JSON file and print HTML
renderify playground [port] [--debug] [--no-llm-log]  # Start browser playground server
```

## Quick Start

```bash
# Generate and render HTML from a prompt
renderify run "build a KPI dashboard with a chart"

# Generate RuntimePlan JSON
renderify plan "build a todo app"

# Probe and execute a local plan file
renderify probe-plan ./examples/runtime/recharts-dashboard-plan.json
renderify render-plan ./examples/runtime/recharts-dashboard-plan.json
```

## Useful Environment Variables

- `RENDERIFY_LLM_API_KEY`
- `RENDERIFY_LLM_PROVIDER` (`openai`, `anthropic`, `google`)
- `RENDERIFY_LLM_MODEL`
- `RENDERIFY_LLM_BASE_URL`
- `RENDERIFY_LLM_MAX_RETRIES` (e.g. `0` for single-attempt HTTP calls)
- `RENDERIFY_LLM_STRUCTURED_RETRY` (`true`, `false`)
- `RENDERIFY_LLM_STRUCTURED_FALLBACK_TEXT` (`true`, `false`)
- `RENDERIFY_SECURITY_PROFILE` (`strict`, `balanced`, `relaxed`)
- `RENDERIFY_PLAYGROUND_DEBUG` (`1`, `true`, `yes`, `on`)
- `RENDERIFY_PLAYGROUND_LLM_LOG` (`true`, `false`, default `true`)

Playground prints outbound LLM request/response payload logs to terminal by default (`[playground-llm]`) with sensitive values redacted.

When debug mode is enabled, playground also prints key inbound/outbound request summaries, exposes `/api/debug/stats`, and renders an in-page **Debug Stats** panel with manual/auto refresh.

See `../../docs/getting-started.md` and `../../docs/security.md` for runtime and policy options.

## Notes

- Node.js `>=22` is required.
- The CLI composes `@renderify/core`, `@renderify/runtime`, `@renderify/security`, `@renderify/llm`, and `@renderify/ir`.
npm package: @renderify/core
Description: The core module for Renderify
Author: unadlib
Latest version: 0.6.0

# @renderify/core

![Node CI](https://github.com/webllm/renderify/workflows/CI/badge.svg)
![npm](https://img.shields.io/npm/v/@renderify/core.svg)
![license](https://img.shields.io/npm/l/@renderify/core)

Core orchestration layer for Renderify.

`@renderify/core` wires together config, context, LLM, code generation, runtime execution, security checks, and UI rendering via `RenderifyApp`.

## Install

```bash
pnpm add @renderify/core @renderify/runtime @renderify/security @renderify/llm
# or
npm i @renderify/core @renderify/runtime @renderify/security @renderify/llm
```

## Main API

- `createRenderifyApp(deps)`
- `RenderifyApp`
- `PolicyRejectionError`
- `renderPrompt()` / `renderPromptStream()` / `renderPlan()`

The package also re-exports core interfaces from `api-integration`, `codegen`, `config`, `context`, `customization`, `llm-interpreter`, `performance`, `security`, and `ui`.

## Quick Start

```ts
import {
  createRenderifyApp,
  DefaultApiIntegration,
  DefaultCodeGenerator,
  DefaultContextManager,
  DefaultCustomizationEngine,
  DefaultPerformanceOptimizer,
  DefaultRenderifyConfig,
  DefaultUIRenderer,
} from "@renderify/core";
import { createLLMInterpreter } from "@renderify/llm";
import { DefaultRuntimeManager, JspmModuleLoader } from "@renderify/runtime";
import { DefaultSecurityChecker } from "@renderify/security";

const app = createRenderifyApp({
  config: new DefaultRenderifyConfig(),
  context: new DefaultContextManager(),
  llm: createLLMInterpreter({ provider: "openai" }),
  codegen: new DefaultCodeGenerator(),
  runtime: new DefaultRuntimeManager({ moduleLoader: new JspmModuleLoader() }),
  security: new DefaultSecurityChecker(),
  performance: new DefaultPerformanceOptimizer(),
  ui: new DefaultUIRenderer(),
  apiIntegration: new DefaultApiIntegration(),
  customization: new DefaultCustomizationEngine(),
});

await app.start();
const result = await app.renderPrompt("build a small dashboard");
console.log(result.html);
await app.stop();
```

## Streaming

Use `renderPromptStream()` for progressive updates from LLM output to UI preview chunks.

## Framework Adapter Plugins

`@renderify/core` now exports framework adapter plugins for Vue/Svelte/Solid:

- `createVueAdapterPlugin()`
- `createSvelteAdapterPlugin()`
- `createSolidAdapterPlugin()`

They do three things in the pipeline:

1. Enrich `beforeLLM` prompt instructions with framework-specific adapter hints.
2. Normalize framework code fences (`vue`, `svelte`, `solid-js`) to `tsx` in `beforeCodeGen`.
3. Annotate plan metadata and force JSX source runtime to `preact` in `afterCodeGen`.

```ts
import {
  DefaultCustomizationEngine,
  createVueAdapterPlugin,
} from "@renderify/core";

const customization = new DefaultCustomizationEngine();
customization.registerPlugin(createVueAdapterPlugin());
```

## Docs

- `../../docs/architecture.md`
- `../../docs/runtime-execution.md`
- `../../docs/browser-integration.md`
npm package: @renderify/ir
Description: Runtime IR contracts for Renderify
Author: unadlib
Latest version: 0.6.0

# @renderify/ir

![Node CI](https://github.com/webllm/renderify/workflows/CI/badge.svg)
![npm](https://img.shields.io/npm/v/@renderify/ir.svg)
![license](https://img.shields.io/npm/l/@renderify/ir)

Runtime IR contracts and utilities for Renderify.

`@renderify/ir` defines the RuntimePlan schema, node/state/action types, guards, path helpers, import parsing, and shared constants used across all other packages.

## Install

```bash
pnpm add @renderify/ir
# or
npm i @renderify/ir
```

## Main Exports

- Types: `RuntimePlan`, `RuntimeNode`, `RuntimeCapabilities`, `RuntimeExecutionResult`, `RuntimeSourceModule`
- Guards: `isRuntimePlan`, `isRuntimeNode`, `isJsonValue`
- Builders: `createTextNode`, `createElementNode`, `createComponentNode`
- Path utils: `getValueByPath`, `setValueByPath`, `isSafePath`
- Import parsing: `collectRuntimeSourceImports`, `parseRuntimeSourceImportRanges`
- Hash utils: `hashStringFNV1a32`, `createFnv1a64Hasher`
- Shared constants: `DEFAULT_RUNTIME_PLAN_SPEC_VERSION`, `DEFAULT_JSPM_SPECIFIER_OVERRIDES`

## Quick Start

```ts
import {
  createElementNode,
  createTextNode,
  isRuntimePlan,
  type RuntimePlan,
} from "@renderify/ir";

const plan: RuntimePlan = {
  specVersion: "runtime-plan/v1",
  id: "demo",
  version: 1,
  capabilities: { domWrite: true },
  root: createElementNode("div", {}, [createTextNode("Hello Renderify")]),
};

if (!isRuntimePlan(plan)) {
  throw new Error("Invalid RuntimePlan");
}
```

## Notes

- This package is framework-agnostic.
- All other Renderify packages depend on these contracts.
npm package: @renderify/runtime
Description: A runtime for Renderify
Author: unadlib
Latest version: 0.6.0

# @renderify/runtime

![Node CI](https://github.com/webllm/renderify/workflows/CI/badge.svg)
![npm](https://img.shields.io/npm/v/@renderify/runtime.svg)
![license](https://img.shields.io/npm/l/@renderify/runtime)

Runtime execution engine for Renderify.

`@renderify/runtime` executes RuntimePlan trees, resolves JSPM modules, supports runtime source modules (TSX/JSX/TS/JS), and renders output to HTML or browser targets.

## Install

```bash
pnpm add @renderify/runtime @renderify/ir @renderify/security
# or
npm i @renderify/runtime @renderify/ir @renderify/security
```

## Main Exports

- `DefaultRuntimeManager`
- `DefaultUIRenderer`
- `JspmModuleLoader`
- `renderPlanInBrowser`
- `BabelRuntimeSourceTranspiler`
- Types from `runtime-manager.types.ts` and `ui-renderer.ts`

## Framework Adapter Components

Runtime exports preact bridge components for mounting framework-native components inside Renderify trees:

- `VueAdapter`
- `SvelteAdapter`
- `SolidAdapter`

```tsx
import { VueAdapter } from "@renderify/runtime";
import Counter from "vue-counter-component";

export default function App() {
  return <VueAdapter component={Counter} props={{ initial: 1 }} />;
}
```

These adapters lazy-load framework runtimes via ESM `import()` and expose fallback text on mount failures.

## Themes & Layout Primitives

Runtime also exports pre-built theme tokens and layout primitives:

- `renderifyThemes`, `resolveRenderifyTheme`, `ThemeProvider`
- `Stack`, `Inline`, `Grid`, `Surface`, `MetricTile`

```tsx
import { ThemeProvider, Grid, MetricTile } from "@renderify/runtime";

export default function Dashboard() {
  return (
    <ThemeProvider theme="aurora">
      <Grid columns={3}>
        <MetricTile label="Requests" value="12.3k" delta="+8.2%" tone="success" />
      </Grid>
    </ThemeProvider>
  );
}
```

## Quick Start (Browser)

```ts
import { renderPlanInBrowser } from "@renderify/runtime";
import type { RuntimePlan } from "@renderify/ir";

const plan: RuntimePlan = {
  specVersion: "runtime-plan/v1",
  id: "demo",
  version: 1,
  capabilities: { domWrite: true },
  root: { type: "element", tag: "div", children: [{ type: "text", value: "Hello" }] },
};

await renderPlanInBrowser(plan, { target: "#app" });
```

## Quick Start (Manual Runtime)

```ts
import { DefaultRuntimeManager, JspmModuleLoader, DefaultUIRenderer } from "@renderify/runtime";

const runtime = new DefaultRuntimeManager({ moduleLoader: new JspmModuleLoader() });
const ui = new DefaultUIRenderer();

await runtime.initialize();
const execution = await runtime.execute({ plan });
const html = await ui.render(execution);
await runtime.terminate();
```

## Notes

- `renderPlanInBrowser` includes security checks by default (`DefaultSecurityChecker`).
- Runtime source modules can run with browser sandbox modes (`worker` / `iframe`) via runtime options.
npm package: @renderify/security
Description: Security policy engine for Renderify
Author: unadlib
Latest version: 0.6.0

# @renderify/security

![Node CI](https://github.com/webllm/renderify/workflows/CI/badge.svg)
![npm](https://img.shields.io/npm/v/@renderify/security.svg)
![license](https://img.shields.io/npm/l/@renderify/security)

Security policy engine for Renderify RuntimePlan execution.

`@renderify/security` validates plans, capabilities, module sources, and runtime source code before execution.

## Install

```bash
pnpm add @renderify/security @renderify/ir
# or
npm i @renderify/security @renderify/ir
```

## Main API

- `DefaultSecurityChecker`
- `listSecurityProfiles()`
- `getSecurityProfilePolicy(profile)`
- Types: `RuntimeSecurityPolicy`, `SecurityCheckResult`, `RuntimeSecurityProfile`

## Profiles

- `strict`
- `balanced` (default)
- `relaxed`

## Quick Start

```ts
import { DefaultSecurityChecker } from "@renderify/security";

const checker = new DefaultSecurityChecker();
checker.initialize({ profile: "strict" });

const result = await checker.checkPlan(plan);
if (!result.safe) {
  console.error(result.issues);
}
```

## What It Checks

- Blocked HTML tags and tree limits
- Allowed module specifiers and network hosts
- Execution profile limits and capability quotas
- Runtime source module constraints
- Spec version and module manifest requirements

## Notes

- `checkPlan()` is async.
- Use policy overrides via `initialize({ profile, overrides })` for environment-specific constraints.
npm package: @renderium/geometry
Description: Geometry assembler for renderium
Author: Vladimir Bykov
Latest version: 0.0.1

<h1 align="center">Geometry</h1>
<h4 align="center">Geometry assembler for renderium</h4>
<p align="center">
  <a href="https://www.npmjs.com/package/@renderium/geometry" target="_blank">
    <img src="https://img.shields.io/npm/v/@renderium/geometry.svg" alt="NPM version" target="_blank"></img>
  </a>
  <a href="https://github.com/feross/standard" target="_blank">
    <img src="https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat" alt="js-standard-style"/>
  </a>
</p>

## Table of Contents

- [Install](#install)
- [Usage](#usage)
- [Development](#development)

## Install

```
npm install --save @renderium/geometry
```

or download [dev](https://unpkg.com/@renderium/geometry/dist/geometry.umd.js) or [prod](https://unpkg.com/@renderium/geometry/dist/geometry.min.js) version

## Usage

```js
var geometry = new Geometry(0xff)
```

## Development

Command | Description
------- | -----------
`npm run check` | Check standard code style by [snazzy](https://www.npmjs.com/package/snazzy)
`npm run build` | Wrap source code in [UMD](https://github.com/umdjs/umd) by [rollup](http://rollupjs.org/)
`npm run min` | Minify code by [UglifyJS2](https://github.com/mishoo/UglifyJS2)
npm package: @renderium/logger
Description: Renderium logger
Author: Vladimir Bykov
Latest version: 0.4.0

<h1 align="center">Renderium Logger</h1>
<p align="center">
  <a href="https://www.npmjs.com/package/@renderium/logger" target="_blank">
    <img src="https://img.shields.io/npm/v/@renderium/logger.svg" alt="NPM version" target="_blank"></img>
  </a>
  <a href="https://github.com/feross/standard" target="_blank">
    <img src="https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat" alt="js-standard-style"/>
  </a>
</p>

## Table of Contents

- [Features](#features)
- [Install](#install)
- [Usage](#usage)
- [Development](#development)

## Features

- Designed with performance in mind
- Simple - [70 LOC](https://github.com/renderium/logger/blob/master/src/index.svelte#L88)
- Lightweight - [6 Kb](https://github.com/renderium/logger/blob/master/dist/logger.min.js)

## Install

```
npm install --save @renderium/logger
```

or download [dev](https://unpkg.com/@renderium/logger/dist/logger.umd.js) or [prod](https://unpkg.com/@renderium/logger/dist/logger.min.js) version

## Usage

```js
var logger = new Logger({
  target: document.body
})

var start = Date.now()
requestAnimationFrame(function loop (t) {
  var dt = t - start
  var memory = performance.memory.usedJSHeapSize / 1048576
  start = t

  logger.log('dt', dt.toFixed(2))
  logger.log('fps', Math.round(1000 / dt))
  logger.log('memory', memory.toFixed(2))

  requestAnimationFrame(loop)
})

navigator.getBattery().then(battery => {
  logger.log('battery', `${battery.level * 100}%`)

  battery.addEventListener('levelchange', () => {
    logger.log('battery', `${battery.level * 100}%`)
  })
})
```

## Development

Command | Description
--------| -----------
`npm run build` | Wrap source code in [UMD](https://github.com/umdjs/umd) by [rollup](https://github.com/rollup/rollup)
`npm run min` | Minify code by [UglifyJS](https://github.com/mishoo/UglifyJS2)
npm package: @renderium/vertices
Description: Vertices for renderium
Author: Vladimir Bykov
Latest version: 0.0.3

<h1 align="center">Vertices</h1>
<h4 align="center">Vertices for renderium</h4>
<p align="center">
  <a href="https://www.npmjs.com/package/@renderium/vertices" target="_blank">
    <img src="https://img.shields.io/npm/v/renderium/vertices.svg" alt="NPM version" target="_blank"></img>
  </a>
  <a href="https://travis-ci.org/renderium/vertices" target="_blank">
    <img src="https://travis-ci.org/renderium/vertices.svg?branch=master" alt="Build Status" target="_blank"></img>
  </a>
  <a href='https://coveralls.io/github/renderium/vertices?branch=master'>
    <img src='https://coveralls.io/repos/github/renderium/vertices/badge.svg?branch=master' alt='Coverage Status' />
  </a>
  <a href="https://github.com/feross/standard" target="_blank">
    <img src="https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat" alt="js-standard-style"/>
  </a>
</p>

## Install

```
npm install --save @renderium/vertices
```

or download [dev](https://unpkg.com/@renderium/vertices/dist/vertices.umd.js) or [prod](https://unpkg.com/@renderium/vertices/dist/vertices.min.js) version

## Usage

```js
// create vertices
var vertices = new Vertices(0xff)

// write data
var vertex = vertices[128]
vertex.position.x = 10
vertex.color.a = 255

// push buffer to webgl
gl.bufferSubData(gl.ARRAY_BUFFER, 0, vertices.buffer)
```

## Development

Command | Description
------- | -----------
`npm run check` | Check standard code style by [snazzy](https://www.npmjs.com/package/snazzy)
`npm run build` | Wrap source code in [UMD](https://github.com/umdjs/umd) by [rollup](http://rollupjs.org/)
`npm run test` | Run tests by [tape](https://github.com/substack/tape) and compute code coverage by [nyc](https://github.com/bcoe/nyc)
`npm run min` | Minify code by [UglifyJS2](https://github.com/mishoo/UglifyJS2)
npm package: @renderlayer/animation
Description: Animation library used by @renderlayer packages.
Author: Ed Preston
Latest version: 0.0.8

# @renderlayer/animation

Animation library used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/animation
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/animation
[npm-url]: https://www.npmjs.com/package/@renderlayer/animation
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/buffers
Description: Geometry buffers used by @renderlayer packages.
Author: Ed Preston
Latest version: 0.0.8

# @renderlayer/buffers

Geometry buffers used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/buffers
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/buffers
[npm-url]: https://www.npmjs.com/package/@renderlayer/buffers
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/cameras
Description: Camera library used by @renderlayer packages
Author: Ed Preston
Latest version: 0.0.8

# @renderlayer/cameras

Camera library used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/cameras
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/cameras
[npm-url]: https://www.npmjs.com/package/@renderlayer/cameras
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/controls
Description: @renderlayer/controls
Author: Ed Preston
Latest version: 0.0.7

# @renderlayer/controls

Input controls compatible with `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/controls
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/controls
[npm-url]: https://www.npmjs.com/package/@renderlayer/controls
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/core
Description: @renderlayer/core
Author: Ed Preston
Latest version: 0.0.9

# @renderlayer/core

Core abstractions used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/core
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/core
[npm-url]: https://www.npmjs.com/package/@renderlayer/core
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/curves
Description: @renderlayer/curves
Author: Ed Preston
Latest version: 0.0.7

# @renderlayer/curves

Curve abstractions used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/curves
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/curves
[npm-url]: https://www.npmjs.com/package/@renderlayer/curves
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/draco
Description: @renderlayer/draco
Author: Ed Preston
Latest version: 0.0.8

# @renderlayer/draco

Draco wrapper library used by `@renderlayer` packages.

Draco is an open-source library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/draco
```

## Configure

Specifiy where the 'lib' files are hosted using `decoderPath`. This can be a directory relative to the root of the web site or googles dedicated CDN for these files.

```js
const decoderPath = 'https://www.gstatic.com/draco/versioned/decoders/1.5.7/';

const dracoLoader = new DRACOLoader();
dracoLoader.setDecoderPath(decoderPath);
```

## References

| Website | Reference                       |
| ------- | ------------------------------- |
| DRACO   | https://google.github.io/draco/ |
| Github  | https://github.com/google/draco |

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/draco
[npm-url]: https://www.npmjs.com/package/@renderlayer/draco
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/extras
Description: @renderlayer/extras
Author: Ed Preston
Latest version: 0.0.6

# @renderlayer/extras

Optional extras related to `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/extras
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/extras
[npm-url]: https://www.npmjs.com/package/@renderlayer/extras
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/geometries
Description: Geometry library used by @renderlayer packages.
Author: Ed Preston
Latest version: 0.0.8

# @renderlayer/geometries

Geometry library used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/geometries
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/geometries
[npm-url]: https://www.npmjs.com/package/@renderlayer/geometries
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/gltf
Description: glTF 2.0 library used by @renderlayer packages.
Author: Ed Preston
Latest version: 0.0.15

# @renderlayer/gltf

glTF 2.0 library used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/gltf
```

## References

| Website | Reference                     |
| ------- | ----------------------------- |
| glTF    | https://www.khronos.org/gltf/ |

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/gltf
[npm-url]: https://www.npmjs.com/package/@renderlayer/gltf
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/interpolants
Description: @renderlayer/interpolants
Author: Ed Preston
Latest version: 0.0.5

# @renderlayer/interpolants

Interpolant abstractions used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/interpolants
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/interpolants
[npm-url]: https://www.npmjs.com/package/@renderlayer/interpolants
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/keyframes
Description: @renderlayer/keyframes
Author: Ed Preston
Latest version: 0.0.7

# @renderlayer/keyframes

Keyframe abstractions used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/keyframes
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/keyframes
[npm-url]: https://www.npmjs.com/package/@renderlayer/keyframes
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/ktx2
Description: @renderlayer/ktx2
Author: Ed Preston
Latest version: 0.0.3

# @renderlayer/ktx2

KTX 2.0 container file support library used by `@renderlayer` packages.

KTX 2.0 is a container format for various GPU texture formats. The loader supports Basis Universal GPU textures, which can be quickly transcoded to a wide variety of GPU texture compression formats.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/ktx2
```

## References

| Website | Reference                                                                                 |
| ------- | ----------------------------------------------------------------------------------------- |
| KTX     | https://registry.khronos.org/KTX/specs/2.0/ktxspec.v2.html                                |
| Basis   | https://github.com/BinomialLLC/basis_universal                                            |
| Github  | http://github.khronos.org/KTX-Specification/                                              |
| DFD     | https://www.khronos.org/registry/DataFormat/specs/1.3/dataformat.1.3.html#basicdescriptor |

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/ktx2
[npm-url]: https://www.npmjs.com/package/@renderlayer/ktx2
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/lights
Description: @renderlayer/lights
Author: Ed Preston
Latest version: 0.0.6

# @renderlayer/lights

Light abstractions used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/lights
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/lights
[npm-url]: https://www.npmjs.com/package/@renderlayer/lights
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/loaders
Description: @renderlayer/loaders
Author: Ed Preston
Latest version: 0.0.18

# @renderlayer/loaders

Media loader library used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/loaders
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/loaders
[npm-url]: https://www.npmjs.com/package/@renderlayer/loaders
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/materials
Description: Material library used by @renderlayer packages.
Author: Ed Preston
Latest version: 0.0.15

# @renderlayer/materials

Material library used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/materials
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/materials
[npm-url]: https://www.npmjs.com/package/@renderlayer/materials
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/math
Description: Math library used by @renderlayer packages.
Author: Ed Preston
Latest version: 0.0.15

# @renderlayer/math

Math library used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/math
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/math
[npm-url]: https://www.npmjs.com/package/@renderlayer/math
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/objects
Description: @renderlayer/objects
Author: Ed Preston
Latest version: 0.0.10

# @renderlayer/objects

Render object abstractions used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/objects
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/objects
[npm-url]: https://www.npmjs.com/package/@renderlayer/objects
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/pmrem
Description: Pre-filtered, mipmapped radiance environment map generator.
Author: Ed Preston
Latest version: 0.0.4

# @renderlayer/pmrem

Pre-filtered, mipmapped radiance environment map generator used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/pmrem
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/pmrem
[npm-url]: https://www.npmjs.com/package/@renderlayer/pmrem
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/renderers
Description: @renderlayer/renderers
Author: Ed Preston
Latest version: 0.0.11

# @renderlayer/renderers

Render type abstraction used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/renderers
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/renderers
[npm-url]: https://www.npmjs.com/package/@renderlayer/renderers
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/renderlayer
Description: 3D Rendering Layer for the Web
Author: Ed Preston
Latest version: 0.0.16

# renderlayer

Light, Modern, Stable - 3D Rendering Layer for the Web

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

`renderlayer` is a number of associated packages that can be used in any combination. They define the minimum dependencies between each other for efficient builds and simple reuse. This is a convenience package to make core packages available to your project with a single dependency.

## Install

```bash
npm i renderlayer
```

## References

| Website | Reference                      |
| ------- | ------------------------------ |
| WebGL2  | https://www.khronos.org/webgl/ |
| glTF    | https://www.khronos.org/gltf/  |

## License

This project is released under the [MIT License][license-url].

[npm-badge]: https://img.shields.io/npm/v/renderlayer
[npm-url]: https://www.npmjs.com/package/renderlayer
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/rollup-shader-chunks
Description: Rollup plugin for optimising inline GLSL
Author: Ed Preston
Latest version: 1.1.1

# @renderlayer/rollup-shader-chunks

Rollup plugin for optimising inline GLSL shaders.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]
[![CI][ci-badge]][ci-url]

## Install

```sh
npm i @renderlayer/rollup-shader-chunks --save-dev
```

## Usage

```js
// rollup.config.js

import { shaderChunks } from '@renderlayer/rollup-shader-chunks';

export default {
  input: 'src/index.js',
  plugins: [
    //... other plugins, preprocessing
    shaderChunks(),
    //... other plugins, terser, etc
  ],
  //...other options
}
```

## Defaults

```js
shaderChunks({
  include: [            // Glob pattern, or array of glob patterns to include
    '**/*.js'
  ],
  exclude: undefined,   // Glob pattern, or array of glob patterns to ignore
  enabled: true         // Enable or disable the processing of files
})
```

## Scripts

| Action        | Command                 | Description                        |
| ------------- | ----------------------- | ---------------------------------- |
| lint          | `npm run lint`          | Run static code analysis           |
| format        | `npm run format`        | Check source file formatting       |
| format-fix    | `npm run format-fix`    | Format source files                |

## Tools

| Tool         | Reference                 |
| ------------ | ------------------------- |
| Node.js      | https://nodejs.org/       |
| rollup.js    | https://rollupjs.org      |
| ESLint       | https://eslint.org/       |
| Prettier     | https://prettier.io       |
| EditorConfig | https://editorconfig.org  |

## References

| Website | Reference                          |
| ------- | ---------------------------------- |
| WebGL2  | https://www.khronos.org/webgl/     |

## License

This project is released under the MIT [License](LICENSE).

[ci-badge]: https://github.com/renderlayer/rollup-shader-chunks/actions/workflows/ci.yml/badge.svg
[ci-url]: https://github.com/renderlayer/rollup-shader-chunks/actions
[npm-badge]: https://img.shields.io/npm/v/@renderlayer/rollup-shader-chunks
[npm-url]: https://www.npmjs.com/package/@renderlayer/rollup-shader-chunks
[license-badge]: https://img.shields.io/npm/l/@renderlayer/rollup-shader-chunks.svg
[license-url]: LICENSE
npm package: @renderlayer/scenes
Description: @renderlayer/scenes
Author: Ed Preston
Latest version: 0.0.6

# @renderlayer/scenes

Scene abstractions used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/scenes
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/scenes
[npm-url]: https://www.npmjs.com/package/@renderlayer/scenes
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/shaders
Description: GLSL shader library used by @renderlayer packages.
Author: Ed Preston
Latest version: 0.0.10

# @renderlayer/shaders

GLSL shader library used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/shaders
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/shaders
[npm-url]: https://www.npmjs.com/package/@renderlayer/shaders
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/shared
Description: Constants and utility functions shared across @renderlayer packages
Author: Ed Preston
Latest version: 0.0.9

# @renderlayer/shared

Constants and utility functions shared across `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/shared
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/shared
[npm-url]: https://www.npmjs.com/package/@renderlayer/shared
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/targets
Description: @renderlayer/targets
Author: Ed Preston
Latest version: 0.0.8

# @renderlayer/targets

Render target abstractions used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/targets
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/targets
[npm-url]: https://www.npmjs.com/package/@renderlayer/targets
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/textures
Description: @renderlayer/textures
Author: Ed Preston
Latest version: 0.0.14

# @renderlayer/textures

Texture abstractions used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/textures
```

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/textures
[npm-url]: https://www.npmjs.com/package/@renderlayer/textures
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderlayer/webgl
Description: WebGL2 abstractions used by @renderlayer packages.
Author: Ed Preston
Latest version: 0.0.16

# @renderlayer/webgl

Webgl2 abstractions used by `@renderlayer` packages.

[![NPM version][npm-badge]][npm-url]
[![License][license-badge]][license-url]

## Install

```bash
npm i @renderlayer/webgl
```

## References

| Website | Reference                      |
| ------- | ------------------------------ |
| WebGL2  | https://www.khronos.org/webgl/ |

## License

This package is released under the [MIT License][license-url]

[npm-badge]: https://img.shields.io/npm/v/@renderlayer/webgl
[npm-url]: https://www.npmjs.com/package/@renderlayer/webgl
[license-badge]: https://img.shields.io/npm/l/renderlayer.svg?cacheSeconds=2592000
[license-url]: https://github.com/epreston/renderlayer/blob/main/LICENSE
npm package: @renderprops/eslint-config
Description: Shareable and modular [ESlint](https://eslint.org/) config for [Render Props](https://renderprops.com) projects.
Author: Render Props
Latest version: 1.1.4

# @renderprops/eslint-config

Shareable and modular [ESlint](https://eslint.org/) config for [Render Props](https://renderprops.com) projects.

```shell
npm install @renderprops/eslint-config
```
npm package: @renderprops/lint-staged-config
Description: Shareable [lint-staged](https://github.com/okonet/lint-staged) config for [Render Props](https://renderprops.com) projects.
Author: Render Props
Latest version: 1.1.0

# @renderprops/lint-staged-config

Shareable [lint-staged](https://github.com/okonet/lint-staged) config for [Render Props](https://renderprops.com) projects.

```shell
npm install @renderprops/lint-staged-config
```
npm package: @renderprops/prettier-config
Description: Shareable [Prettier](https://prettier.io/) config for [Render Props](https://renderprops.com) projects.
Author: Render Props
Latest version: 1.1.0

# @renderprops/prettier-config

Shareable [Prettier](https://prettier.io/) config for [Render Props](https://renderprops.com) projects.

```shell
npm install @renderprops/prettier-config
```
npm package: @renderro/ui-components
Description: UI Components used by Renderro products
Author: Renderro
Latest version: 0.0.7

# Renderro UI Components

This package contains front end code shared across Renderro products and modularized into visual components.

Currently it consists of:
- RButton
- RBadge
- RInput
- RLoader
- RToggle
- RIcon

## Development

`npm run serve`

The dev server is `vue/cli-service` (and, therefore, webpack) based. We use it to summon the `dev/serve.vue` parent to display our components.

## Building

`npm run build`

We use Rollup (at `build/rollup.config.js`) to build to different targets (`ESM`, `CommonJS` and `IIFE`). To inject global color variables, we use `rollup-plugin-vue-global-styles`.

## Consuming the package

`npm install @renderro/ui-components`

To utilize the package in a TypeScript project, you need to declare it as a module, like so:
```
// in a ui-components.d.ts, put where your ts can see it
declare module 'ui-components'
```
## FAQ

### How to import the color palette?
Colors are encoded as SCSS variables. To have them available in your project, same as the package uses them, firstly you need to have SASS incorporated into your workflow, then you need to import the `variables.scss` into your styles, probably by altering the `sass-loader` configuration. This is how it looks for `vue/cli-service` / `webpack`:
```
// vue.config.js
module.exports = {
  css: {
    loaderOptions: {
      sass: {
        additionalData: `@import "~@renderro/ui-components/styles/variables.scss";`,
      },
    },
  },
}
```

### I am getting an 'eslint config missing' error
If you are using a vue-cli generated project, consider disabling webpack symlinks resolution adding the following line to your `vue.config.js`:

```
module.exports = {
  ...
  chainWebpack: config => config.resolve.symlinks(false),
	...
}
```
npm package: @rendertemplate/fetp-template-vue
Description: Vue基础模板.
Author: charles yang
Latest version: 0.0.4
Deprecated: this package has been deprecated

# fetp-template-vue

基于fetp 的Vue项目构建模板

## 全局安装 fetp

```
$ npm i -g fetp
```

## 使用

```
$ fetp i vue
```