classic-procmaps

Author and scale procedural terrain generators for the classic-wgl Rust game engine.

1|1|Updated Aug 18, 2021
One-click install
npx skills add https://github.com/guilledk/classic-wgl --skill classic-procmaps-guilledk
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: classic-procmaps
Source: https://github.com/guilledk/classic-wgl/tree/main/.agents/skills/classic-procmaps
Command: npx skills add https://github.com/guilledk/classic-wgl --skill classic-procmaps-guilledk

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Adding a new procedural biome or resizing a generated map in classic-wgl involves many coupled pieces — noise modules, material tables, tileset painters, scene state files, ROM packaging, and golden tests — and getting any one wrong silently breaks determinism, editor tooling, or GPU limits. This Skill codifies the full recipe and the scaling rules so generators stay correct at any map size. ## Core Features & Use Cases - Generator recipe: Step-by-step process for adding a new biome — guest crate, material table, tileset, scene state.json, ROM entrypoint, golden test, and gameplay-guarantee tests. - Scale-free parameter discipline: Rules for writing parameters in physical units (frequency, density, amplitude) so maps resize without re-tuning, plus the stability-across-sizes guard test. - Scaling envelope analysis: Documents the four binding constraints as maps grow (tile data texture, mesh vertex capacity, A* pathfinder cost, O(n²) generation) with measured numbers at 400x400. - Use Case: You want to add a volcanic biome at 600x600 tiles. Follow the recipe to create the guest crate and materials, reuse the demo entity names so the editor toolchain works, and check the GL_MAX_TEXTURE_SIZE limit before shipping. ## Quick Start Ask the assistant to add a new procedural biome generator to classic-wgl following the lunar scene recipe, including its material table, ROM entrypoint, and terrain guarantee tests.

Frequently Asked Questions about classic-procmaps

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new procedural biome generator in classic-wgl?

Create a guest crate with a generate function returning heights, tiles, and nav grids, define materials in a shared material.rs table, add a scene state.json reusing the demo entity names, register a pack_scene call for the ROM, and add golden plus gameplay-guarantee tests.

How do I scale a procedural map to a larger size without re-tuning parameters?

Write parameters in scale-free physical units: frequencies in cycles per tile, densities per 1000 tiles, amplitudes as absolute heights. Only absolute counts like size, landing zones, and ray crater count need revisiting. Add a stability test asserting stats stay in band across sizes.

What limits map size in a WebGL 2 tile terrain renderer?

The tile data texture is one pixel per tile and GL_MAX_TEXTURE_SIZE is never queried; WebGL 2 guarantees only 2048. Beyond that, mesh vertex memory, A* search cost around 600x600, and O(n²) generation time become the binding constraints.

Why does a generated scene lose the editor height brush and nav tools?

The editor toolchain looks up entities by the names tilemap and tilemapNavigation via role kinds. A scene that uses fresh entity names loses the height brush, tile palette, and nav editor; reusing the demo names keeps everything working with no extra code.

Why is deterministic seeding important for procedural terrain generation?

Determinism makes generation reproducible from a seed string, unit-testable, and safe for golden trace comparisons in CI. The Random type only exposes from_seed and from_seed_str so nothing can read the system clock and break traces.