Metadata-Version: 2.4
Name: tissu-cli
Version: 1.0.0
Summary: A command line interface for Tissu
Author: Evan Miranda
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/evanrock520-ciencias/tissu-cli
Project-URL: Repository, https://github.com/evanrock520-ciencias/tissu-cli.git
Project-URL: Issues, https://github.com/evanrock520-ciencias/tissu-cli/issues
Keywords: cloth,simulation,tissu,cli
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Artistic Software
Classifier: Topic :: Multimedia :: Graphics :: 3D Modeling
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pytissu
Requires-Dist: typer
Requires-Dist: rich
Requires-Dist: tqdm
Dynamic: license-file

[![CI](https://github.com/evanrock520-ciencias/tissu-cli/actions/workflows/ci.yaml/badge.svg)](https://github.com/evanrock520-ciencias/tissu-cli/actions/workflows/ci.yaml)
![Python](https://img.shields.io/badge/python-3.12%2B-blue)
![CLI](https://img.shields.io/badge/CLI-Reference-blue)

# Tissu CLI

A command-line interface for [Tissu](https://github.com/evanrock520-ciencias/Tissu), letting you run cloth simulations directly from your terminal without writing Python scripts.

---

## Requirements

- Python >= 3.8
- [Tissu](https://github.com/evanrock520-ciencias/Tissu) >= 1.0.0

---

## Installation

```bash
pip install tissu-cli
```

Or from source:

```bash
git clone https://github.com/evanrock520-ciencias/tissu-cli.git
cd tissu-cli
pip install .
```

Enable shell completion (optional):

```bash
tissu-cli --install-completion
```

---

## Usage

```bash
tissu-cli [COMMAND] [OPTIONS]
```

### `info`

Show information about a scene (`.json`) or state (`.tissu`) file.

```bash
tissu-cli info <path>
```

### `bake`

Bake a cloth simulation and export it to Alembic (`.abc`).

```bash
tissu-cli bake <scene_path> [OPTIONS]
```

| Option          | Default       | Description          |
|-----------------|---------------|----------------------|
| `--out`, `-o`   | `output.abc`  | Output Alembic path  |
| `--start`       | `1`           | Start frame          |
| `--end`         | `120`         | End frame            |
| `--fps`         | `24.0`        | Frames per second    |
| `--state`, `-s` | —             | Load initial state   |

### `view`

View a cloth simulation in a 3D viewer.

```bash
tissu-cli view <scene_path> [--state, -s <path>]
```

### `snapshots`

Export OBJ mesh snapshots for each frame of a simulation.

```bash
tissu-cli snapshots <scene_path> <out_dir> <cloth> [OPTIONS]
```

| Option          | Default       | Description          |
|-----------------|---------------|----------------------|
| `--start`       | `1`           | Start frame          |
| `--end`         | `120`         | End frame            |
| `--state`, `-s` | —             | Load initial state   |

---

## Example

Sample scenes and assets are included under `data/`:

```bash
tissu-cli info data/scenes/curtain.json
tissu-cli bake data/scenes/curtain.json -o curtain.abc
tissu-cli snapshots data/scenes/curtain.json ./frames curtain
```
