open-index/open-npm huggingface dataset:
npm package: @olduvai-jp/comine-san
Description: run comfy-ui on the command line
Latest version: 1.0.1

# Comine San

Comine San は ComfyUI でエクスポートした `workflow_api.json` を読み込み、CLI からワークフローを実行する TypeScript 製ツールです。

## 特徴

- ワークフロー内の入力/出力ノードを解析し、`--<ノードタイトル>.<入力名>` 形式の CLI オプションを自動生成
- 指定した ComfyUI サーバーに対して `POST /prompt` を発行し、WebSocket で進行状況を監視
- SaveImage / ShowText / Show Any to JSON などの出力をファイル保存と JSON で集約

## 必要環境

- Node.js 18 以上（`fetch` API を利用）
- Yarn もしくは npm
- 実行中の ComfyUI サーバー（デフォルトは `http://127.0.0.1:8188`）

## セットアップ

```shell
yarn install
```

## 使い方

1. ComfyUI から対象フローを `workflow_api.json` としてエクスポートする。
2. ComfyUI サーバーを起動する（例: `python main.py --listen 0.0.0.0 --port 8188`）。
3. 下記のように `--help` を実行し、利用可能なオプションを確認する。

```shell
yarn start ./path/to/workflow_api.json --help
```

`Result types` として、取得できる出力ノードとフィールド型が末尾に表示されます。

4. 必要なオプションを確認したら、実際の実行コマンドを組み立てて実行する。

```shell
yarn start ./path/to/workflow_api.json \
  --output-json ./results/output.json \
  --server http://127.0.0.1:8188 \
  --Prompt_Text.string "test prompt" \
  --SaveImage.filename output/result.png
```

- 第 1 引数: ワークフロー JSON のパス
- `--output-json`: 実行結果を保存する JSON のパス（省略時は `metadata.json` が作成される）
- `--server`: ComfyUI のベース URL（省略時は `http://127.0.0.1:8188`）
- その他のオプションは、ComfyUI 上で設定したノードタイトル（英数字・`_-` に正規化）と入力キーを組み合わせた形式で自動生成される

> 例: ComfyUI のノードタイトルが `Prompt Text`、入力キーが `string` の場合、CLI オプションは `--Prompt_Text.string` になります。

### 実行結果

- 画像出力ノード (`SaveImage`) は指定したパスに画像ファイルを保存します。
- テキスト出力ノード (`ShowText|pysssss`, `Show any to JSON [Crystools]`) は JSON の `text` フィールドに格納されます。
- CLI の `--output-json` オプションで指定した JSON ファイルには、各出力ノードの結果が連想配列形式でまとめられます。

### 対応ノード

- **Input** `Primitive string multiline [Crystools]`（文字列のプロンプトなど）
- **Input** `Primitive integer [Crystools]`（シード値などの整数入力）
- **Input** `Primitive float [Crystools]`（ガイダンススケールなどの小数入力）
- **Input** `ETN_LoadImageBase64`（ファイルパス/既存の Base64 文字列から画像を読込）
- **Output** `SaveImage`（画像をファイルに保存しパスを返却）
- **Output** `SaveAnimatedWEBP`（アニメーションWebPをファイルに保存しパスを返却）
- **Output** `Show any to JSON [Crystools]`（任意の値を JSON テキストとして取得）
- **Output** `ShowText|pysssss`（テキスト出力を改行付き文字列として取得）

## ドキュメント

- CLI の詳細な利用手順は `docs/cli-guide.md`（ドラフト）を参照してください。
- ライブラリ API の使い方は `docs/library-guide.md`（ドラフト）で概要をまとめています。

## ライブラリ利用のヒント

```ts
// CommonJS
const { ComfyUiWorkflow } = require('@olduvai-jp/comine-san');

// ES Modules (tree-shakeable)
import { ComfyUiWorkflow } from '@olduvai-jp/comine-san';

// サブパス例
import { ComfyAPIClient } from '@olduvai-jp/comine-san/lib';
import { PrimitiveStringCrystools } from '@olduvai-jp/comine-san/nodes/input/primitiveString';
```

- CLI 実行ロジックに直接アクセスする場合は `@olduvai-jp/comine-san/cli` を import してください（`npx` 利用時は不要）。
- `exports` フィールド経由で CJS/ESM のいずれにも最適化された `dist/cjs` / `dist/esm` を提供しているため、バンドラー経由で未使用のエントリーポイント（例: `@olduvai-jp/comine-san/cli`）を除去できます。

## 開発メモ

- 型チェック: `yarn type-check`
- ビルド: `yarn build`（`dist/cjs` と `dist/esm` を生成）
- CI: `.github/workflows/ci.yml` で Node.js 20 上の `yarn type-check` / `yarn build` を実行
- ノード固有の実装は `workflow/nodes/` 配下にまとまっています。必要に応じて新しい Input / Output ノードクラスを追加してください。
npm package: @olduvai-jp/pixi-animated-webp
Description: Animated WebP Runtime for PixiJS
Author: dyamagishi
Latest version: 1.0.4

# PixiJS Animated WebP

Plugin to support playback of animated WebP images in PixiJS. Unlike normal WebP playback in the browser, this plugin allows you to stop, loop, change speed, or go to a specific frame using the modern ImageDecoder API.

## Usage

Load an animated WebP image with Assets:

```ts
import '@olduvai-jp/pixi-animated-webp';
import { Assets } from 'pixi.js';

const app = new Application();
const image = await Assets.load('image.webp');
app.stage.addChild(image);
```

To use a WebP without Assets:

```ts
import { Application } from 'pixi.js';
import { AnimatedWebP } from '@olduvai-jp/pixi-animated-webp';

const app = new Application();
fetch('image.webp')
    .then(res => res.arrayBuffer())
    .then(AnimatedWebP.fromBuffer)
    .then(image => app.stage.addChild(image));
```

### Browser Compatibility

This plugin requires the [ImageDecoder API](https://developer.mozilla.org/en-US/docs/Web/API/ImageDecoder), which is supported in:
- Chrome 94+
- Edge 94+
- Firefox 133+
- Opera 80+
- Samsung Internet 17.0+

**Note:** Safari and iOS Safari do not currently support the ImageDecoder API.

### Version Compatibility

| PixiJS | PixiJS WebP |
|--------|-------------|
| v8.x   | v1.x        |

## Acknowledgments

This library is based on [@pixi/gif](https://github.com/pixijs-userland/gif) by [Matt Karl](https://github.com/bigtimebuddy). The WebP implementation adapts the original GIF playback architecture to use the modern ImageDecoder API for efficient WebP animation support.
npm package: @olduvai-jp/pixi-apng
Description: Animated PNG (APNG) Runtime for PixiJS
Author: dyamagishi
Latest version: 0.1.1

# PixiJS Animated PNG (APNG)

[![Node.js CI](https://github.com/pixijs-userland/gif/actions/workflows/nodejs.yml/badge.svg?branch=main)](https://github.com/pixijs-userland/gif/actions/workflows/nodejs.yml)

Plugin to support playback of animated PNG (APNG) images in PixiJS. Unlike normal APNG playback in the browser, this plugin allows you to stop, loop, change speed, or go to a specific frame.

* [Demo](https://userland.pixijs.io/gif/examples/)
* [API Documentation](https://userland.pixijs.io/gif/docs/)

## Usage

Load an animated PNG (APNG) image with Assets:

```ts
import '@olduvai-jp/pixi-apng';
import { Assets } from 'pixi.js';

const app = new Application();
const apng = await Assets.load('image.apng');
app.stage.addChild(apng);
```

To use an APNG without Assets:

```ts
import { Application } from 'pixi.js';
import { AnimatedAPNG } from '@olduvai-jp/pixi-apng';

const app = new Application();
fetch('image.apng')
    .then(res => res.arrayBuffer())
    .then(AnimatedAPNG.fromBuffer)
    .then(apng => app.stage.addChild(apng));
```

### Version Compatiblity

| PixiJS | PixiJS APNG |
|--------|-------------|
| v8.x   | v0.x        |

## Acknowledgments

This library is based on [@pixi/gif](https://github.com/pixijs-userland/gif) by [Matt Karl](https://github.com/bigtimebuddy). The WebP implementation adapts the original GIF playback architecture to use the modern ImageDecoder API for efficient WebP animation support.