threejs-awesome-graphics-agent-skills 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +5 -39
- package/package.json +8 -4
- package/skills/threejs-precipitation-surfaces/SKILL.md +68 -0
- package/skills/threejs-precipitation-surfaces/agents/openai.yaml +4 -0
- package/skills/threejs-precipitation-surfaces/assets/wet-puddle-rain/Splash.png +0 -0
- package/skills/threejs-precipitation-surfaces/assets/wet-puddle-rain/THIRD_PARTY_LICENSES.md +10 -0
- package/skills/threejs-precipitation-surfaces/assets/wet-puddle-rain/road/aerial_asphalt_01_ao_2k.jpg +0 -0
- package/skills/threejs-precipitation-surfaces/assets/wet-puddle-rain/road/aerial_asphalt_01_diff_2k.jpg +0 -0
- package/skills/threejs-precipitation-surfaces/assets/wet-puddle-rain/road/aerial_asphalt_01_nor_gl_2k.jpg +0 -0
- package/skills/threejs-precipitation-surfaces/assets/wet-puddle-rain/road/aerial_asphalt_01_rough_2k.jpg +0 -0
- package/skills/threejs-precipitation-surfaces/examples/snow-accumulation/snow-system.js +660 -0
- package/skills/threejs-precipitation-surfaces/examples/wet-puddle-rain/rain-puddle-system.js +501 -0
- package/skills/threejs-precipitation-surfaces/references/precipitation-surface-systems.md +182 -0
- package/skills/threejs-procedural-materials/SKILL.md +8 -1
- package/skills/threejs-procedural-materials/agents/openai.yaml +2 -2
- package/skills/threejs-procedural-materials/examples/lava-flow-surface/lava-surface.js +305 -0
- package/skills/threejs-procedural-vegetation/SKILL.md +16 -2
- package/skills/threejs-procedural-vegetation/agents/openai.yaml +2 -2
- package/skills/threejs-procedural-vegetation/assets/stylized-meadow-grass/grass-blades-up.glb +0 -0
- package/skills/threejs-procedural-vegetation/assets/stylized-meadow-grass/path.webp +0 -0
- package/skills/threejs-procedural-vegetation/assets/stylized-meadow-grass/perlin.webp +0 -0
- package/skills/threejs-procedural-vegetation/examples/gpu-computed-grass/gpu-grass-system.js +1071 -0
- package/skills/threejs-procedural-vegetation/examples/stylized-meadow-grass/grass-system.js +449 -0
- package/skills/threejs-procedural-vfx/SKILL.md +4 -2
- package/skills/threejs-skill-router/SKILL.md +5 -4
- package/skills/threejs-spectral-ocean/SKILL.md +16 -2
- package/skills/threejs-spectral-ocean/agents/openai.yaml +2 -2
- package/skills/threejs-spectral-ocean/assets/stylized-above-below-ocean/foam.webp +0 -0
- package/skills/threejs-spectral-ocean/assets/stylized-above-below-ocean/sand.webp +0 -0
- package/skills/threejs-spectral-ocean/examples/hybrid-clear-water-ocean/hybrid-ocean-material.js +666 -0
- package/skills/threejs-spectral-ocean/examples/stylized-above-below-ocean/stylized-ocean-material.js +593 -0
- package/skills/threejs-temporal-surfaces/SKILL.md +3 -1
- package/skills/threejs-water-optics/SKILL.md +15 -4
- package/skills/threejs-water-optics/agents/openai.yaml +2 -2
- package/skills/threejs-water-optics/assets/interactive-pool-volume/tiles.jpg +0 -0
- package/skills/threejs-water-optics/assets/interactive-pool-volume/xneg.jpg +0 -0
- package/skills/threejs-water-optics/assets/interactive-pool-volume/xpos.jpg +0 -0
- package/skills/threejs-water-optics/assets/interactive-pool-volume/ypos.jpg +0 -0
- package/skills/threejs-water-optics/assets/interactive-pool-volume/zneg.jpg +0 -0
- package/skills/threejs-water-optics/assets/interactive-pool-volume/zpos.jpg +0 -0
- package/skills/threejs-water-optics/examples/interactive-pool-volume/water-volume-system.js +859 -0
- package/source_materials/GPL-3.0.txt +674 -0
- package/source_materials/THIRD_PARTY_NOTICES.md +82 -0
- package/source_materials/trace-manifest.json +475 -0
package/README.md
CHANGED
|
@@ -32,13 +32,14 @@ Every graphics system is expected to expose:
|
|
|
32
32
|
| `threejs-camera-direction` | Authored lenses and shots, chase/side/orbit rigs, body-relative frames, handoffs, pointer look, floating origins. |
|
|
33
33
|
| `threejs-procedural-animation` | Analytic timelines, gravity turns, staging, rotating-frame docking, springs, quaternion alignment, debris motion. |
|
|
34
34
|
| `threejs-procedural-fields` | Shared scalar/vector fields, frequency bands, domain warping, causal masks, procedural normals. |
|
|
35
|
-
| `threejs-procedural-materials` | Atlas filtering, specular AA, planetary materials, terrain wetness, frame PBR, per-instance dissolve. |
|
|
35
|
+
| `threejs-procedural-materials` | Atlas filtering, specular AA, planetary materials, terrain wetness, lava/emissive surfaces, frame PBR, per-instance dissolve. |
|
|
36
36
|
| `threejs-procedural-geometry` | Sculpted frame rails, branch rings, semantic mesh writers, UV density, material groups. |
|
|
37
|
-
| `threejs-procedural-vegetation` | Growth hierarchies, branch-ring geometry, stratified children, foliage normals, wind. |
|
|
37
|
+
| `threejs-procedural-vegetation` | Growth hierarchies, stylized and GPU-computed grass, branch-ring geometry, stratified children, foliage normals, rooted wind. |
|
|
38
38
|
| `threejs-procedural-architecture` | Massing and façade grammars, exposed-edge analysis, modules, material-slot compilation. |
|
|
39
39
|
| `threejs-procedural-planets` | Spherical terrain, ridges, craters, biomes, procedural normals, altitude filtering. |
|
|
40
|
-
| `threejs-spectral-ocean` | Validated FFT synthesis, spectral cascades, choppy derivatives, Jacobian foam, ocean shading. |
|
|
41
|
-
| `threejs-water-optics` | Shared analytic waves/normals,
|
|
40
|
+
| `threejs-spectral-ocean` | Validated FFT synthesis, hybrid FFT/Gerstner water, stylized above/below ocean optics, spectral cascades, choppy derivatives, Jacobian foam, ocean shading. |
|
|
41
|
+
| `threejs-water-optics` | Shared analytic waves/normals, bounded pool heightfields, object ripples, caustics, refraction, absorption, reflection. |
|
|
42
|
+
| `threejs-precipitation-surfaces` | Falling snow and rain coupled to accumulation, snow caps, wet puddles, ripple normals, splashes, and shared weather envelopes. |
|
|
42
43
|
| `threejs-atmosphere-aerial-perspective` | Shared Rayleigh/Mie atmosphere, sky, shell/post handoff, depth-based scattering. |
|
|
43
44
|
| `threejs-volumetric-clouds` | Weather-shaped density, bounded raymarching, cloud lighting, history, cloud shadows. |
|
|
44
45
|
| `threejs-raymarched-space-effects` | Curved-ray integration, black holes, accretion disks, wormholes, bounded quality. |
|
|
@@ -135,41 +136,6 @@ controls, pause/time controls, debug-mode routing, standalone launch, runtime
|
|
|
135
136
|
metrics, and canvas capture. It is repository tooling and is not installed as
|
|
136
137
|
an agent skill.
|
|
137
138
|
|
|
138
|
-
Current accepted inspection surfaces:
|
|
139
|
-
|
|
140
|
-
- [Atmosphere and aerial perspective](http://127.0.0.1:4173/?example=threejs-atmosphere-aerial-perspective%2Flut-aerial-perspective)
|
|
141
|
-
— precomputed sky radiance, sun transmittance, and depth-aware segment
|
|
142
|
-
scattering;
|
|
143
|
-
- [Sculpted gallery frame](http://127.0.0.1:4173/?example=threejs-procedural-geometry%2Fsculpted-gallery-frame)
|
|
144
|
-
— profile-swept mesh, authored frame PBR, grazing lights, shadows, and
|
|
145
|
-
selective bloom;
|
|
146
|
-
- [Ash growth system](http://127.0.0.1:4173/?example=threejs-procedural-vegetation%2Fstructured-ash-growth)
|
|
147
|
-
— species-specific hierarchy, branch geometry, foliage, wind, and meadow;
|
|
148
|
-
- [Curved-ray accretion volume](http://127.0.0.1:4173/?example=threejs-raymarched-space-effects%2Fcurved-ray-accretion-volume)
|
|
149
|
-
— bounded ray steering, accretion density, transmittance, and bent
|
|
150
|
-
environment lookup;
|
|
151
|
-
- [Spectral cascade ocean](http://127.0.0.1:4173/?example=threejs-spectral-ocean%2Fspectral-cascade-ocean)
|
|
152
|
-
— directional spectra, staged inverse FFT, choppy displacement, and
|
|
153
|
-
persistent Jacobian foam;
|
|
154
|
-
- [Procedural planet surface](http://127.0.0.1:4173/?example=threejs-procedural-planets%2Fprocedural-planet-surface)
|
|
155
|
-
— coupled displacement, geological fields, biome masks, water, and
|
|
156
|
-
altitude-filtered material detail;
|
|
157
|
-
- [Authored financial tower](http://127.0.0.1:4173/?example=threejs-procedural-architecture%2Fauthored-financial-tower)
|
|
158
|
-
— semantic massing, façade grammar, grouped mesh emission, and cached
|
|
159
|
-
clipmap shadows;
|
|
160
|
-
- [Analytic wave optics](http://127.0.0.1:4173/?example=threejs-water-optics%2Fanalytic-wave-optics)
|
|
161
|
-
— shared displaced waves and normals, filtered microstructure, Fresnel,
|
|
162
|
-
refraction, absorption, and crest response;
|
|
163
|
-
- [Weather volume clouds](http://127.0.0.1:4173/?example=threejs-volumetric-clouds%2Fweather-volume-clouds)
|
|
164
|
-
— packed weather channels, profile-shaped density, bounded integration,
|
|
165
|
-
directional lighting, and temporal reconstruction;
|
|
166
|
-
- [Reentry plasma](http://127.0.0.1:4173/?example=threejs-procedural-vfx%2Freentry-plasma)
|
|
167
|
-
— closed layered wake shells, flow deformation, advected filaments, and
|
|
168
|
-
additive thermal emission;
|
|
169
|
-
- [Touch-history frost](http://127.0.0.1:4173/?example=threejs-temporal-surfaces%2Ftouch-history-frost)
|
|
170
|
-
— persistent interaction history, static crystalline fields, reduced blur,
|
|
171
|
-
and two-scale refraction.
|
|
172
|
-
|
|
173
139
|
Generate deterministic captures and a contact sheet:
|
|
174
140
|
|
|
175
141
|
```sh
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "threejs-awesome-graphics-agent-skills",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Expert agent skills for creating exceptional Three.js graphics.",
|
|
5
|
-
"license": "MIT",
|
|
5
|
+
"license": "MIT AND GPL-3.0-only",
|
|
6
6
|
"author": "Scott",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"agent-skills",
|
|
@@ -31,6 +31,10 @@
|
|
|
31
31
|
"bin/",
|
|
32
32
|
"skills/",
|
|
33
33
|
"LICENSE",
|
|
34
|
+
"source_materials/GPL-3.0.txt",
|
|
35
|
+
"source_materials/THIRD_PARTY_NOTICES.md",
|
|
36
|
+
"source_materials/trace-manifest.json",
|
|
37
|
+
"!source_materials/README.md",
|
|
34
38
|
"README.md"
|
|
35
39
|
],
|
|
36
40
|
"engines": {
|
|
@@ -41,7 +45,7 @@
|
|
|
41
45
|
},
|
|
42
46
|
"scripts": {
|
|
43
47
|
"validate": "node scripts/validate-pack.mjs",
|
|
44
|
-
"test": "npm run validate && npm run test:routing && npm run test:references && npm run test:installer && npm run test:
|
|
48
|
+
"test": "npm run validate && npm run test:routing && npm run test:references && npm run test:installer && npm run test:assets",
|
|
45
49
|
"dev:examples": "node dev/example-gallery/server.mjs --open",
|
|
46
50
|
"dev:examples:no-open": "node dev/example-gallery/server.mjs",
|
|
47
51
|
"dev:examples:fixture": "node dev/example-gallery/server.mjs --open --include-fixtures",
|
|
@@ -49,7 +53,7 @@
|
|
|
49
53
|
"test:references": "node scripts/test-reference-examples.mjs",
|
|
50
54
|
"test:routing": "node scripts/test-agent-routing.mjs",
|
|
51
55
|
"test:installer": "node scripts/test-installer.mjs",
|
|
52
|
-
"test:
|
|
56
|
+
"test:assets": "node scripts/test-example-asset-origins.mjs",
|
|
53
57
|
"check:freshness": "node scripts/check-three-freshness.mjs",
|
|
54
58
|
"test:all": "npm test && npm run check:freshness",
|
|
55
59
|
"prepack": "npm run test:all",
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: threejs-precipitation-surfaces
|
|
3
|
+
description: Build coupled precipitation and affected surfaces in Three.js. Use for falling snow, snow accumulation, model snow caps, wet asphalt puddles, procedural ripple normals, splash flipbooks, rain streaks, shared weather envelopes, and surface wetness or coverage transitions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Precipitation Surfaces
|
|
7
|
+
|
|
8
|
+
Treat weather as a coupled event, particle, and surface-response system. Do not
|
|
9
|
+
add rain or snow particles that are visually disconnected from the ground.
|
|
10
|
+
|
|
11
|
+
## Build order
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
weather envelope
|
|
15
|
+
-> falling precipitation volume
|
|
16
|
+
-> world/object surface mask
|
|
17
|
+
-> displaced or optical surface response
|
|
18
|
+
-> impact residue and splashes
|
|
19
|
+
-> shared lighting/post presentation
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Read [references/precipitation-surface-systems.md](references/precipitation-surface-systems.md)
|
|
23
|
+
for snow accumulation, object capping, wrapped precipitation volumes, wet
|
|
24
|
+
puddle masks, procedural ripple normals, splash placement, debug outputs, and
|
|
25
|
+
licensing boundaries.
|
|
26
|
+
|
|
27
|
+
Read the
|
|
28
|
+
[snow accumulation implementation](examples/snow-accumulation/snow-system.js)
|
|
29
|
+
for camera-wrapped snowfall, shared wind/time uniforms, world-space snow masks,
|
|
30
|
+
single-source snow height and normals, model snow capping, and optional ice
|
|
31
|
+
surface composition.
|
|
32
|
+
|
|
33
|
+
Read the
|
|
34
|
+
[wet puddle rain implementation](examples/wet-puddle-rain/rain-puddle-system.js)
|
|
35
|
+
for rain-progress wetness, asphalt puddle masks, procedural ripple normals,
|
|
36
|
+
instanced rain streaks, upward-surface splash sampling, and flipbook splashes.
|
|
37
|
+
This example includes GPL-licensed source material;
|
|
38
|
+
preserve its license boundary when copying or publishing it.
|
|
39
|
+
|
|
40
|
+
## Required controls
|
|
41
|
+
|
|
42
|
+
- precipitation density and speed;
|
|
43
|
+
- wind direction and strength;
|
|
44
|
+
- shared weather progress or coverage;
|
|
45
|
+
- wetness, snow, or puddle mask threshold and softness;
|
|
46
|
+
- ripple or drift normal strength;
|
|
47
|
+
- surface roughness response;
|
|
48
|
+
- particle/splash opacity;
|
|
49
|
+
- debug modes for masks, normals, particles, and event progress.
|
|
50
|
+
|
|
51
|
+
## Failure conditions
|
|
52
|
+
|
|
53
|
+
- falling precipitation ignores the wind or timing used by surface response;
|
|
54
|
+
- snow height and snow normals come from different fields;
|
|
55
|
+
- model snow sticks to vertical faces without an upward-facing filter;
|
|
56
|
+
- puddles only lower roughness without a mask, normal response, or ripples;
|
|
57
|
+
- splashes appear on downward or hidden faces;
|
|
58
|
+
- rain streaks allocate per drop or fail to wrap around the camera;
|
|
59
|
+
- temporal wetness is faked with unrelated time noise;
|
|
60
|
+
- the license boundary for GPL-derived rain code is removed or obscured.
|
|
61
|
+
|
|
62
|
+
## Routing boundary
|
|
63
|
+
|
|
64
|
+
Use `$threejs-water-optics` for bounded pool simulation, caustics, Fresnel,
|
|
65
|
+
refraction, and Beer-Lambert water volumes. Use `$threejs-procedural-vfx` for
|
|
66
|
+
general sparks, plasma, trails, and non-weather particles. Use
|
|
67
|
+
`$threejs-temporal-surfaces` for screen-space touch history or frost clearing.
|
|
68
|
+
This skill owns precipitation events and the surfaces they visibly alter.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Three.js Precipitation Surfaces"
|
|
3
|
+
short_description: "Coupled rain, snow, puddle, and wetness effects"
|
|
4
|
+
default_prompt: "Use $threejs-precipitation-surfaces when rain or snow must affect visible surfaces: falling precipitation, ground accumulation, wet puddle masks, ripple normals, splash flipbooks, shared wind/time envelopes, and material roughness or coverage transitions."
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Third-Party Licenses
|
|
2
|
+
|
|
3
|
+
This folder contains assets copied from a GPL-3.0 rain puddle reference
|
|
4
|
+
implementation. The copied rain puddle implementation in
|
|
5
|
+
`skills/threejs-precipitation-surfaces/examples/wet-puddle-rain/` preserves that
|
|
6
|
+
GPL-3.0 boundary.
|
|
7
|
+
|
|
8
|
+
See `source_materials/GPL-3.0.txt` and
|
|
9
|
+
`source_materials/THIRD_PARTY_NOTICES.md` in the package for source attribution
|
|
10
|
+
and license details.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|