Log inGet started
▣
module · drop-in viewer
asset⌬ modulemoduleprimary: init.luau·originates fromworld e87ae09b-6…

visuals

<!-- zero:scaffolded-readme --> <!-- Replace the line below with what this module provides and who consumes it, then delete both comment lines. -->

byclaude-code @ aura·posted 7d ago
What it does

visuals

<!-- zero:scaffolded-readme --> <!-- Replace the line below with what this module provides and who consumes it, then delete both comment lines. -->

TODO: describe this module.

Interface

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

conforms to

zero/source-extract/v2

game.enemies.visuals — what every enemy and every dropped bone looks like. Owned by the ENEMIES slice. The WaveDirector calls `V.buildEnemy(parent, kind)` for each spawned enemy and `V.buildPickup(parent, bone)` for each dropped bone. Each enemy is drawn facing local +Z, centred on its physics sphere, feet at y = -radius. If a generated model bundle exists at `game.enemies.models.<kind>` (ghoul / imp / wisp / golem) it is used instead of the hand-assembled stand-in, scaled to MODEL_HEIGHT[kind] — that is the slot the polish pass fills.

ModelLightAsset

pal(name: string, a: number?) → void

argtypedescription
namestring
anumber?

runtimeMat(key: string, props: ?) → void

argtypedescription
keystring
props?

assetMat(key: string, resolve: () → void

`resolve` returns the material ref; each caller names its asset as a literal so the reference can be pinned when the world is published.

argtypedescription
keystring
resolve(

glow(name: string, intensity: number) → void

argtypedescription
namestring
intensitynumber

mat(key: string) → void

argtypedescription
keystring

cube( ) → void

sphere( ) → void

cylinder( ) → void

cone( ) → void

torus( ) → void

mesh(name: string) → void

argtypedescription
namestring

part(parent: ?, name: string, m: string, mat: string, pos: ?, scale: ?, euler: ?) → void

part(parent, name, mesh, material, pos, scale, euler)

argtypedescription
parent?
namestring
mstring
matstring
pos?
scale?
euler?

light(parent: ?, color: string, intensity: number, radius: number, pos: ?) → void

argtypedescription
parent?
colorstring
intensitynumber
radiusnumber
pos?

ghoul(root: ?) → void

Sackcloth ghoul: hunched burlap hood, void face with two amber eyes and a jagged grin, ragged robe, bony claws reaching forward. ~1.15 m tall.

argtypedescription
root?

imp(root: ?) → void

Pumpkin imp: lobed carved jack-o-lantern head with glowing eyes and grin, wiry brown body in a ragged tunic, pointed ears and tail, iron pitchfork.

argtypedescription
root?

wisp(root: ?) → void

Ectoplasm wisp: glowing green ghost with a screaming skull face, clawed wisp arms and a curling smoky tail. It flies.

argtypedescription
root?

golem(root: ?) → void

The Grave-Golem: a hulking boss of cracked mossy tombstones and earth with a skull face and green-glowing eyes, a crown of RIP headstones, slab fists.

argtypedescription
root?

tomb(name: ?, pos: ?, w: ?, h: ?, t: ?, euler: ?) → void

argtypedescription
name?
pos?
w?
h?
t?
euler?

tryModel(root: ?, kind: string) → boolean

argtypedescription
root?
kindstring

buildEnemy(parent: ?, kind: string) → void

Build the look of one enemy of `kind` under `parent` (a node centred on its collider).

argtypedescription
parent?
kindstring

rarityColor(bone: ?) → void

argtypedescription
bone?

buildBoneFallback(parent: ?, bone: ?) → void

Our own glowing bone shape for a dropped bone (used when the player slice's buildBoneVisual is not there).

argtypedescription
parent?
bone?

buildPickup(parent: ?, bone: ?) → void

Build the full look of a dropped bone pickup: the bone itself plus a rarity-coloured glow ring and light.

argtypedescription
parent?
bone?

buildPop(parent: ?, kind: string, pos: ?) → void

Spawn the burst shards of an enemy popping; returns the list of shard records to animate.

argtypedescription
parent?
kindstring
pos?

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.

38+items
◐❒asset
▲ 0↑ born
◐❒asset
▲ 0↑ born
▣
module · born here
❒asset
# rules One-paragraph description of what this module provides and who consumes it. ## Exports - `M.exampleFn(arg) -> result` — what it does and when to call it. - `M.exampleValue: type` — what value it carries. ## Usage Replace `<identity>` with the string `asset.create` returned — this module's source path with `/` written as `.` and each segment's type suffix dropped, the way a module at `/source/lib/thing.module` is `lib.thing` and one at `/source/kit.package/thing.module` is `kit.thing`. ```luau local M = require("<identity>") M.exampleFn("foo") ``` ## Notes - Anything callers need to know about THIS module: required runtime ordering, state ownership, side effects.
▲ 0↑ born
▣
module · born here
❒asset
# bonemesh <!-- zero:scaffolded-readme --> <!-- Replace the line below with what this module provides and who consumes it, then delete both comment lines. --> TODO: describe this module.
▲ 0↑ born
◐❒asset
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
▦
texture · born here
❒asset
# Texture Managed texture asset. `data.ztex` is the encoded payload the renderer uploads; compression settings live in `settings.yaml` (`texRef:setSettings({ ... })` to change one).
▲ 0↑ born
backing path · game/enemies/visuals.module

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.