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

titleset

The set and camera move behind Banana 2077's title screen. The `Screens` component calls it when the game is on the title and tears it down when a run starts.

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

titleset

The set and camera move behind Banana 2077's title screen. The Screens component calls it when the game is on the title and tears it down when a run starts.

  • T.build(parent) → { root, rig }: a rooftop ledge above Banana City, built from the city kit, with the hero banana posed on its edge. The hero wears his shades and rests the black baton on his shoulder, and neon rim lights pick him out against the gold peel towers. Everything is parented under parent, which is the mount_ui entity.
  • T.shots(): the cutscene shot list for the slow 26 s out-and-back drone move past the hero toward Bananasaka Tower, ready for cutscene.play.
  • T.destroy(set): despawns what build made.
  • T.world(): the set's anchor points in world space.
  • Constants: ORIGIN {-2, 83.5, -38} (the ledge), AIM {8, 80, 210} (the look target near the tower), HERO, DURATION = 26.

Meshes are cached at module level, so rebuilding the set on a retry costs no regeneration.

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.screens.titleset — the title screen's rooftop: the banana hero, baton on his shoulder, standing on a parapet high over Banana City, and the slow drone move the title camera makes around him toward the gold Bananasaka megatowers. local set = TitleSet.build(parentEntity) -- spawns the rooftop + hero cutscene.play({ shots = TitleSet.shots(), ... }) TitleSet.destroy(set)

ModelLight

v3(p: { number }) → any return

argtypedescription
p{ number }

q4(q: { number }) → any return

argtypedescription
q{ number }

add(a: { number }, b: { number }) → void

argtypedescription
a{ number }
b{ number }

yaw( ) → number

world(p: { number }) → void

Set-local point to world.

argtypedescription
p{ number }

heroBones( ) → any

Baton resting on the right shoulder: the hand in front of the chest, the black banana angled up, back and out so it reads in profile from the drone. Hero.pose aims the baton along norm(X - 0.9 Y) of the hand frame, so the finger bones are solved from the axis we want.

model(name: string, parent: any, mesh: any, mat: string) → any

argtypedescription
namestring
parentany
meshany
matstring

light(name: string, parent: any, pos: { number }, rgb: { number }, intensity: number, radius: number) → any

argtypedescription
namestring
parentany
pos{ number }
rgb{ number }
intensitynumber
radiusnumber

rooftop(root: any) → void

argtypedescription
rootany

build(parent: any) → any

argtypedescription
parentany

destroy(set: any) → void

argtypedescription
setany

shots( ) → void

One slow drone move behind the hero's baton shoulder: drifting right and up so the city slides past him, then the same move back, so it loops seamlessly.

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.

15+items
▣
module · born here
❒asset
# game.city.kit Geometry builders for Banana City, called by the `game.city.district` sceneModule at build time: world-UV boxes and facade panels, cables, paper lanterns, the peel-faceted banana (ramen awning), curved ribbed gold megatowers and dome towers, wrap-around ad bands, hover car parts, rain-streak tiles, splash rings and puddles, plus a `batch()` that merges geometry per material key so each material becomes one mesh.
▲ 0↑ born
▣
module · born here
❒asset
# hero Builds the Banana 2077 hero, a banana in a black leather jacket with visor shades, gloves, sneakers and a black banana baton. The meshes come from `game.player.parts`, assembled as entities under any parent, and `pose` seats them on a humanoid rig's bone positions every frame. `setShades` animates the shades flipping off and back on, and `setTint` flashes the whole hero. The `BananaPlayer` component calls it on the player's avatar; edit-mode previews call it with `REST` bones.
▲ 0↑ born
▣
module · born here
❒asset
# game.shared.geo Procedural geometry kit for Banana 2077. The world has no imported models, so every curved thing in the game (the banana hero and his baton, the fruit and vegetable gang, the gold peel megatowers) is built from these generators. - `G.lathe`, `G.tube`, `G.blob`, `G.grid` build MeshGeometry tables (flat arrays, 0-based CCW indices, normals, uvs). `opts.open` on `G.grid` builds an open sheet instead of a closed ring. - `G.xform`, `G.merge` move and combine them; `G.mesh` uploads a runtime mesh, `G.asset` writes a durable `.mesh` asset. - `G.q*` quaternion helpers ({x,y,z,w}): `qMul`, `qInv`, `qRot`, `qAxis`, `qFromTo`, `qBasis`, `qLook`, `qSlerp`. Called by `game.player.parts`, the enemy builders and the city district.
▲ 0↑ born
backing path · game/screens/titleset.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.