"This skill guides authors through validated IR-SIM YAML scenes,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill scene-configuration --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Scene Configuration?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-scene-configuration)More formats (shields.io, HTML) on the badges page.
---
name: scene-configuration
description: "This skill guides authors through validated IR-SIM YAML scenes,
object geometry, kinematics, placement, collision policy, and state APIs."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# Scene configuration
Use this sub-skill when a task needs an IR-SIM YAML scene, a robot or obstacle,
object geometry, a kinematic control vector, placement distributions, collision
policy, or object state/goal inspection. Begin with the smallest explicit scene
and run the bundled checker before constructing an environment:
```bash
python sub-skills/scene-configuration/scripts/validate_scene.py --help
python sub-skills/scene-configuration/scripts/validate_scene.py scene.yaml
```
Run those commands from the generated IR-SIM skill root, or resolve the script
path from the installed skill location. The checker uses only
`yaml.safe_load`; it does not import IR-SIM or open a GUI. It returns non-zero
for malformed YAML, unknown schema keys, unsupported shape/kinematics/behavior
combinations, ambiguous Ackermann geometry, invalid control dimensions, and
mismatched per-object lists. It is a strict preflight, not a replacement for
`irsim.make()`.
## Route by intent
- Author or diagnose `world`, `robot`, `obstacle`, or `gui` YAML with
[the schema reference](references/yaml-schema.md).
- Choose a footprint, understand exact collision geometry, or map a control
vector to state updates with [geometry and kinematics](references/geometry-and-kinematics.md).
- Need repeatable placement, circle formation, random shapes/goals, or central
RNG behavior? Use [distributions and randomness](references/distributions-and-randomness.md).
- Diagnose install, parser, factory, dimension, collision, path, and optional
dependency failures with [troubleshooting](references/troubleshooting.md).
## Minimal construction loop
1. Install the base distribution (`python -m pip install ir-sim`) and verify
`import irsim`; use `display=False` for headless work. `pynput` is optional
keyboard input, `pyrvo` is optional ORCA, and `imageio[ffmpeg]`/ffmpeg is
only needed for video output.
2. Define world extents/timing and collision policy, then one robot with an
explicit `shape`, `kinematics`, `state`, `goal`, and compatible `behavior`
when it should move. Objects without kinematics are static.
3. Add obstacles only after checking that initial Shapely footprints do not
overlap. Keep explicit object names unique across both sections; `group`
and `group_name` organize objects but do not replace names.
4. Validate a tiny fixture, then use
`irsim.make("scene.yaml", display=False, seed=7)`. The factory accepts one
mapping or a list of object-group mappings; `number` expands a group and
the runtime repeats short per-object lists, while the bundled checker asks
for exact lists to prevent accidental duplication.
5. Query `obj.state`, `obj.velocity`, `obj.goal`, `obj.geometry`,
`obj.get_info()`, `obj.get_obstacle_info()`, `obj.arrive`, and
`obj.collision`. Use `set_state`, `set_velocity`, and `set_goal`; after
direct state changes, let the environment refresh/rebuild its spatial data
before relying on collision or sensor queries.
Keep this route focused on scene/object contracts. Route environment lifecycle,
`step`/render/reset, and external stepping to
[simulation-environments](../simulation-environments/SKILL.md); sensor payloads
and maps to [sensing-and-mapping](../sensing-and-mapping/SKILL.md); behavior
selection and planners to [navigation-and-planning](../navigation-and-planning/SKILL.md);
and registry or custom-controller work to
[extension-and-control](../extension-and-control/SKILL.md). Runtime files are
self-contained: the original checkout, usage files, private environments, and
review artifacts are not dependencies.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!