Layer Cake
A frosted celebration cake at real size (bottom tier 24 cm across) with 1 to 3 tiers on a cake stand: piped rosettes, a glaze drip or a semi-naked finish, in five frosting flavours, with up to 10 lit candles whose flames glow at night. A single tier can show a cut slice with its sponge and filling layers.
- Size
- 0.32 × 0.38 × 0.32 m
- Triangles
- 1,208
- Kit
- Food
Tune it
5 knobs: Tiers, Frosting, Finish, Candles, Slice cut.
Specs
- Size
- 0.32 × 0.38 × 0.32 m width × height × depth
- Triangles
- 1,208 of 6,000
- Draw calls
- 1 one vertex-colour material
- Knobs
- 5 3 presets
- Night lights
- 1 flame
Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.
Use it
Code for the specimen as it is set up above; it follows your knobs.
import { createAsset } from 'https://gaitkit.com/cdn/layer-cake.mjs';
const layerCake = createAsset();
scene.add(layerCake); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/layer-cake.mjs';
export function LayerCake() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import layer-cake.glb (download below). It is a static mesh, one material per colour.
add_child(preload("res://layer-cake.glb").instantiate())// Import layer-cake.glb with glTFast (com.unity.cloud.gltfast).
// Drop it in the scene: 1 unit = 1 metre, +Z is its front.Use the gaitkit MCP server: get_variant({ "id": "layer-cake", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
tiers | range | 1 to 3, step 1 | 2 | Number of stacked tiers: 1 is a birthday cake (24 cm), 2 a party cake, 3 a wedding-style tower about 35 cm tall. |
frosting | choice | vanilla strawberry chocolate mint lemon | strawberry | Flavour and colour: vanilla (cream frosting, jam filling), strawberry (pink), chocolate (dark ganache on chocolate sponge), mint (pale green), lemon (yellow). |
style | choice | piped drip naked | piped | piped (smooth frosting with rosettes round the top and a bead border), drip (a contrasting glaze running down the sides), naked (thinly frosted so the sponge and filling layers show, topped with berries). |
candles | range | 0 to 10, step 1 | 5 | Lit candles on the top tier, 0 to 10. Their flames glow at night. |
cut | toggle | on / off | false | Cut a slice out of the front so the layers show. Only applies to a single-tier cake (tiers = 1). |
Presets: birthday cake {"tiers":1,"frosting":"vanilla","candles":8,"style":"piped"} · wedding tower {"tiers":3,"frosting":"vanilla","candles":0,"style":"naked"} · chocolate drip {"tiers":2,"frosting":"chocolate","style":"drip","candles":3}
Files
| File | What |
|---|---|
| layer-cake.glb | GLB, default look · 164 KB |
| layer-cake.mjs | ES module, every knob live |
| layer-cake.obj | OBJ, static, no colour |
| layer-cake-params.json | knob schema, presets, night zones |
Licence
Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.