Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .agents/skills/chrome-trace/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Use Playwright with Chromium and the Chrome DevTools Protocol `Tracing` domain t

Do not draw conclusions from FPS alone. Use FPS/frame-time summaries only as the symptom; use trace groups and top events as the explanation.

## Polycss Trace Runners
## PolyCSS Trace Runners

Use `scripts/trace.mjs` as the front door:

Expand All @@ -46,7 +46,7 @@ Use `trace.mjs drag` for real `PolyOrbitControls` pointer-drag traces on `nonvox

Use `trace.mjs generic` for arbitrary pages and interactions that are not covered by a polycss bench page.

When interpreting polycss traces, map the result back to the render model:
When interpreting PolyCSS traces, map the result back to the render model:

- `FunctionCall`, `EventDispatch`, `FireAnimationFrame`: JS/input work. Unexpected sustained per-frame work is suspicious outside imported skeletal animation.
- `UpdateLayoutTree`, `RecalculateStyles`: style recalculation, often CSS variable or selector invalidation cost.
Expand Down
97 changes: 97 additions & 0 deletions .agents/skills/compat-hunter/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
name: compat-hunter
description: Use when hunting for OBJ/GLB/glTF/VOX parser compatibility issues by streaming candidate models, parsing each immediately, deleting clean files, and retaining only actionable failures, unknown warnings, or unexplained zero-polygon outputs. Especially useful in the polycss repo with scripts/compat-hunter.mjs.
---

# Compat Hunter

Use this skill when the user wants to keep digging for parser compatibility issues without building a fixed local corpus.

## Workflow

1. In the repo, prefer the reusable script:

```bash
pnpm compat-hunter -- --max-models 2000
```

Equivalent explicit form:

```bash
pnpm --filter @layoutit/polycss-core build
node .agents/skills/compat-hunter/scripts/compat-hunter.mjs --max-models 2000
```

2. Let the script stream remote OBJ/GLB/glTF/VOX candidates, parse each model, and discard clean files. Reports are written under `bench/results/`, which is ignored by git.

3. Treat these as known non-actionable unless the user asks to support them:
- glTF POINTS/LINES/LINE_LOOP/LINE_STRIP primitives.
- Required Draco or meshopt compressed primitives skipped with a warning.

4. Stop and inspect anything classified as:
- `throw`
- `unknown-warning`
- `obj-zero-no-warning`
- `glb-zero-no-warning`

5. If an actionable parser issue is found, keep the saved file under the report's `interesting/` directory, add a focused parser test using that behavior, implement the smallest fix, and rerun the focused parser tests plus the hunter on the saved file or source class.

## Useful Commands

Fresh Objaverse and expanded GitHub stream:

```bash
pnpm compat-hunter -- --max-models 5000 --max-bytes 10mb --timeout-ms 30000
```

Objaverse only, later shards:

```bash
pnpm compat-hunter -- --sources objaverse --objaverse-shards 120:220 --max-models 5000
```

GitHub only:

```bash
pnpm compat-hunter -- --sources github --max-models 500
```

Poly Haven only:

```bash
pnpm compat-hunter -- --sources polyhaven --polyhaven-limit 250 --max-models 200
```

VOX-heavy GitHub sources:

```bash
pnpm compat-hunter -- --sources github --github-repos ephtracy/voxel-model@master:vox/,mikelovesrobots/mmmm@master:vox/ --max-models 1000
```

Local directory:

```bash
pnpm compat-hunter -- --sources local --local-root /tmp/models --max-models 1000
```

Keep known-warning files too:

```bash
pnpm compat-hunter -- --keep-known --max-models 500
```

Continue after interesting cases:

```bash
pnpm compat-hunter -- --no-stop-on-interesting --max-models 2000
```

## Reporting

Summarize the final `report.json` with:

```bash
pnpm compat-hunter -- --report bench/results/<run>/report.json
```

In the final response, state the attempted/parsed counts, whether any interesting files were retained, and whether the findings are actionable. Do not imply a clean stream proves full compatibility; it only means this pass found no new actionable parser issue.
4 changes: 4 additions & 0 deletions .agents/skills/compat-hunter/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
interface:
display_name: "Compat Hunter"
short_description: "Stream model parser compatibility hunts"
default_prompt: "Use $compat-hunter to stream OBJ/GLB/glTF/VOX models until a parser compatibility issue appears."
Loading
Loading