← Casa completaObjeto 3Dfogon/lavavajillas
Lavavajillas
Arrastrá para girarlo// «Lavavajillas» · gpt-6-sol (medium)
// A dishwasher: a white box with a stainless steel front door, a long horizontal handle at the top of the door, a slim control strip with tiny lights and buttons, and a small digital display.
// Cheerful, toy-sized dishwasher, facing -y.
const white = "#f7f6f0";
const warmWhite = "#fffdf6";
const paleGrey = "#e5e8e6";
const steel = "#b8c1c4";
const steelLight = "#dce2e1";
const steelDark = "#89969b";
const chrome = "#eef3f1";
const seam = "#697579";
// Recessed base and chunky white cabinet.
box(9, 11, 0, 38, 38, 3, "#596166");
box(10, 10, 1, 37, 12, 3, "#798286");
box(7, 9, 4, 40, 39, 37, white);
box(8, 8, 5, 39, 39, 37, warmWhite);
box(7, 9, 38, 40, 39, 39, warmWhite);
box(9, 10, 40, 38, 38, 40, "#ffffff");
// Gentle variations on the top and visible sides.
for (let x = 9; x <= 38; x++)
for (let y = 11; y <= 37; y++)
if (rand() < 0.075) set(x, y, 40, "#f2f1eb");
for (let y = 11; y <= 38; y++)
for (let z = 6; z <= 36; z++) {
if (rand() < 0.10) set(7, y, z, paleGrey);
if (rand() < 0.12) set(40, y, z, "#e9ebea");
}
box(7, 9, 5, 7, 39, 5, "#d8dcda");
box(40, 9, 5, 40, 39, 5, "#d8dcda");
// Dark door reveal, stainless border, and broad brushed-metal panel.
box(8, 7, 5, 39, 7, 32, seam);
box(9, 6, 6, 38, 6, 31, steelDark);
box(10, 5, 7, 37, 5, 30, steel);
for (let z = 8; z <= 29; z++) {
const shade = z > 23 ? "#cbd3d3" : z < 12 ? "#aab5b8" : "#bdc6c8";
box(11, 4, z, 36, 4, z, shade);
for (let x = 11; x <= 36; x++)
if (rand() < 0.085) set(x, 4, z, rand() < 0.5 ? steelLight : "#aebbbd");
}
box(11, 4, 29, 36, 4, 30, steelLight);
box(10, 4, 7, 10, 4, 28, "#e1e7e5");
box(37, 4, 7, 37, 4, 28, "#9aa8ab");
box(11, 4, 7, 36, 4, 7, "#909da1");
box(11, 4, 8, 11, 4, 8, chrome);
box(36, 4, 8, 36, 4, 8, chrome);
// Slim, distinct control strip above the door.
box(8, 7, 33, 39, 8, 38, "#cbd2d1");
box(9, 6, 34, 38, 6, 37, "#f2f3ef");
box(9, 5, 33, 38, 5, 33, steelDark);
box(9, 5, 38, 38, 5, 38, "#ffffff");
box(10, 5, 37, 24, 5, 37, "#e3e8e5");
// Four chunky buttons and their little indicator lights.
for (const x of [12, 16, 20, 24]) {
box(x - 1, 4, 34, x + 1, 4, 35, "#aeb9ba");
box(x, 3, 35, x, 3, 35, chrome);
set(x, 4, 36, x === 12 ? "#79c5a4" : "#b5bec0");
}
set(12, 3, 36, "#82d9ad");
set(20, 3, 36, "#f3c879");
// Inset digital screen with simple glowing pixel digits: 1:20.
box(26, 4, 33, 38, 4, 37, "#78898e");
box(27, 3, 34, 37, 3, 36, "#303e46");
const glow = "#a5e8cf";
for (const [x, z] of [
[28, 36], [28, 35], [28, 34],
[30, 36], [30, 34],
[32, 36], [33, 36], [34, 36], [34, 35],
[32, 35], [32, 34], [33, 34], [34, 34],
[36, 36], [37, 36], [36, 35], [37, 35],
[36, 34], [37, 34]
]) set(x, 2, z, glow);
// Long raised chrome handle, with visible end mounts.
box(12, 4, 28, 13, 6, 30, steelDark);
box(34, 4, 28, 35, 6, 30, steelDark);
box(12, 3, 29, 35, 3, 30, "#9ba9ab");
box(13, 2, 30, 34, 2, 30, chrome);
box(13, 2, 29, 34, 2, 29, "#c9d3d3");
set(12, 2, 30, "#e3e9e7");
set(35, 2, 30, "#d5dfdd");import { draw } from "./assets/voxel";
import { lavavajillas } from "./assets/lavavajillas";
// En cada cuadro: parado sobre (x, y), el centro de su base.
draw(ctx, lavavajillas, x, y, { size: 64, angle: 0, t: performance.now() / 1000 });
// size: lo que mide en px su lado más largo
// angle: giro sobre el piso, en radianes
// t: segundos; si se mueve, se anima solo con eso# En una terminal, en la carpeta del juego
fogon assets add lavavajillas
# Con las herramientas de Fogón (conector)
add_assets({ slug: "<tu-juego>", ids: ["lavavajillas"] })
# Queda en client/assets/lavavajillas.ts
# https://fogon.page/object/lavavajillas