From nethercore
Optimization techniques for Nethercore WASM games. Covers WASM binary size reduction (LTO, wasm-opt), texture and mesh compression, audio optimization, and state size minimization. Use when a ROM exceeds size limits or when reducing build output size.
npx claudepluginhub nethercore-systems/nethercore-ai-plugins --plugin nethercoreThis skill uses the workspace's default tool permissions.
```toml
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
[profile.release]
lto = true # Link-time optimization
opt-level = "z" # Optimize for size
codegen-units = 1 # Better optimization
panic = "abort" # Smaller than unwind
strip = true # Strip symbols
wasm-opt -Oz game.wasm -o game.wasm
Typical savings: 20-40%
All textures use BC7 compression (4:1 ratio):
| Original | Compressed |
|---|---|
| 256x256 RGBA (256 KB) | 64 KB |
| 512x512 RGBA (1 MB) | 256 KB |
Resolution targets:
| Format | Size/Vertex |
|---|---|
| Position only | 12 bytes |
| Pos + UV | 20 bytes |
| Pos + UV + Normal | 32 bytes |
| Full | 40 bytes |
Poly targets:
// Use compact types
struct Position { x: f32, y: f32 } // 8 bytes
struct Position { x: i16, y: i16 } // 4 bytes (fixed-point)
// Fixed arrays, not Vec
entities: [Entity; 64], // Known size