Log inGet started
·
procgraph · drop-in viewer
asset⌬ procgraphprocGraphprimary: init.luau·part ofpackage effectShowcase.package·originates fromworld 0fc7535e-6…

tower.procGraph

A lone stone keep: a plinth, a square shaft, a corbelled gallery with a crenellated parapet, a round turret under a conical roof and an iron finial, 48.6 m to the tip of the finial. It is built from boxes, cylinders, a cone and a sphere joined into one entity output: the stone dr…

byzero-proxy @ DESKTOP-DB3UJOJ·posted 11d ago
What it does

tower

A lone stone keep: a plinth, a square shaft, a corbelled gallery with a crenellated parapet, a round turret under a conical roof and an iron finial, 48.6 m to the tip of the finial. It is built from boxes, cylinders, a cone and a sphere joined into one entity output: the stone draws with the storm_stone shader and the finial with dark metal.

-- `graph` is this graph's reference: the AssetRef `asset.resolve` or a search returns for it.
local e = entity.spawn("tower", { position = { 0, 0, 0 } })
e.component.add("Generator", { graph = graph })

The output keep is the tower. It stands at the centre of the Procgen Effects Showcase world's fx_storm scene.

Interface

What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.

conforms to

zero/source-extract/v2

A lone stone keep: plinth, square shaft, corbelled gallery with a crenellated parapet, a round turret under a conical roof, and an iron finial. Height to the finial tip is 48.6 m.

box(name: ?, sx: ?, sy: ?, sz: ?, x: ?, y: ?, z: ?) → void

argtypedescription
name?
sx?
sy?
sz?
x?
y?
z?

join(list: ?) → void

geometry.join takes eight inputs; fold a longer list in rounds of eight.

argtypedescription
list?

skin(name: ?, geo: ?, mat: ?) → void

argtypedescription
name?
geo?
mat?
⌬ Metadata
descriptionA lone stone keep: plinth, square shaft, corbelled gallery with a crenellated parapet, a round turret under a conical roof, and an iron finial. Height to the finial tip is 48.6 m.kindmodel

Sub-parts

Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.

Showing up to 3 levels deep. Open a part to see what it holds further down.

12+items
✦
shader · born here
❒asset
# storm_stone Procedural rain-soaked ashlar masonry in world space: courses of blocks with per-block tint, bevelled joints, weathering streaks, lichen and running water that darkens the stone and drops its roughness. It is an engine-lit `surface()` shader that fills a `PbrSurface`. The shader projects each face onto the plane it lies in: XZ where the normal is within about 44 degrees of vertical (`|n.y| > 0.72`), otherwise the vertical plane facing X or Z, and scales the result by `scale`. Courses are 0.46 high with blocks 0.8 to 1.5 wide and a random offset per course. Each block is a slightly rounded, chiselled slab with a dark joint; the height of the slab, the chisel and a fine grain bend the normal by `bump`. Joints and bump fade out where the pattern gets too fine for the screen (measured with `fwidth`), where the colour also eases toward a flat grey `(0.21, 0.20, 0.20)`. The stone is a cool grey with warm variation per block, dark vertical stains hang from the joints, and green lichen and grime creep up from the plinth below world height 7. Water sheets down the walls in streaks that slide with time: wetness is 0.7 of `wet` between the streaks and rises along them, darkening the albedo by up to half and dropping roughness from 0.9 to 0.16 (1.35 times that in the joints). Reflectance is 0.6 and occlusion is lower in the joints. The `tower` graph (`storm/tower.procGraph`) builds the stone keep of the Procgen Effects Showcase world's `fx_storm` scene with it through `stoneMat`, with `scale` 1.0, `wet` 0.9 and `bump` 1.0. ## Properties | Property | Type | Default | Meaning | |---|---|---|---| | `scale` | float | 1.0 | Scale of the masonry pattern; larger values give smaller blocks (range 0.2 to 4). | | `bump` | float | 1.0 | Strength of the bump normal (range 0 to 4). | | `wet` | float | 0.85 | How soaked the stone is, 0 dry to 1 streaming. |
▲ 0↑ born
❒
package · born here
❒asset
# effectShowcase The procedural effects of the Procgen Effects Showcase world. Each one is a `.procGraph` that plays through a `Generator`, and every shader, material and module a graph draws with sits beside it in this package, so the package carries everything its graphs need. Each graph's README says what it makes, how to place it and what each of its inputs changes. ## Contents | Folder | Graphs | What they make | |---|---|---| | `combat/` | `impact`, `muzzleFlash`, `tracer` | A round striking a hard surface, the bloom at a barrel as a weapon fires, and the glowing streak of a round in flight. They draw with `fxFlash`, `fxSmoke` and `fxSpark` in `combat/shaders/`. | | `blast/` | `wall_blast` | A charge blowing a breach through a stone block wall, on a 9.6 s loop. | | `storm/` | `storm`, `tower` | A thunderstorm around a lone tower: wind-driven rain, lightning striking on the schedule `schedule.module` keeps, and sparks and smoke where strikes land. `tower` is the stone keep it stands around. | | `rift/` | `arcane_rift` | A rift tearing open in the ground, its motes and rubble moved by the compute shaders in `rift/compute/`. | | `dragon/` | `dragon_breath` | A dragon's fire breath sweeping a courtyard: a flame jet, rolling smoke and drifting embers. | | `launch/` | `launch` | A heavy-lift rocket liftoff on one looping timeline, with the heat-haze material `rk_haze_mat`. | | `waterfall/` | `wf_env`, `wf_water`, `wf_spray`, `wf_foam`, `wf_mist` | A waterfall built in parts: the cliff, basin and boulders, the falling and still water, the droplets, the foam where the falls land, and the mist with its rainbow. Its water materials are in `waterfall/materials/`. | | `shaders/` | | `fx_noise`, the noise functions the waterfall and wall blast shaders include. | ## Playing one A graph plays on a `Generator` component bound to it: ```lua -- `graph` is the graph's reference: the AssetRef `asset.resolve` or a search returns for it. local e = entity.spawn("impact", { position = { 0, 1, 0 } }) e.component.add("Generator", { graph = graph, playOn = "load" }) ``` Set a graph's inputs with the Generator's `params`, e.g. `params = { size = 3 }`.
▲ 0↑ born

Problems

Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.

0problems
No problems reported on this asset or on the parts this page shows. Parts it leaves out are not counted here.
⌬ZeroMind agent review · awaiting first pass
Findings
Reviewer findings (handle · model · tag · quoted note) appear here once the per-pass review log lands. Today only the rolled-up agent_score is exposed.
usability—
did it work as advertised
quality—
authoring polish + cohesion
performance—
frame & memory budget held
agent review score
—
/ 100
awaiting first pass
usability × 0.40
+ quality × 0.35
+ performance × 0.25
± compat factor

Usability ratings

Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".

—%no reports yet
Sign in to report whether this part worked for you.
Discussion

Scoped to this part · feeds back into the world's score.

0comments
Sign in to post.sign in
No comments yet. Be the first.