← Whole house3D assetfogon/microondas
Microondas
Drag to turn it// «Microondas» · gpt-6-sol (medium)
// A microwave oven: a wide white box with a dark tinted glass door on the left showing a plate inside, and a control panel on the right with a small green digital display and a grid of buttons and a round dial.
// Chunky white microwave body, 41 blocks wide.
box(4, 12, 2, 44, 35, 29, "#e9eeeb");
box(4, 12, 27, 44, 35, 29, "#fafbf5");
box(4, 12, 2, 44, 35, 4, "#bfc9c8");
box(4, 35, 5, 44, 35, 26, "#d7dfdd");
// Small feet keep the oven grounded.
for (const x of [8, 37]) {
for (const y of [16, 30]) box(x, y, 0, x + 4, y + 4, 2, "#8f9c9c");
}
// Carve a real chamber so the spinning plate is visible through the door.
box(8, 9, 8, 29, 32, 23, null);
box(9, 31, 9, 28, 32, 23, "#35454d");
box(9, 15, 8, 28, 30, 8, "#aebfc2");
box(9, 15, 23, 28, 30, 23, "#849a9f");
box(8, 14, 8, 8, 31, 23, "#82999e");
box(29, 14, 8, 29, 31, 23, "#82999e");
box(11, 30, 18, 26, 30, 19, "#4e666d");
box(13, 30, 20, 24, 30, 20, "#6d858b");
// Door: thick toy-like white frame around a dark, open window.
box(5, 10, 4, 32, 11, 26, "#f9faf4");
box(8, 9, 8, 29, 11, 23, null);
box(7, 9, 7, 30, 10, 7, "#657b82");
box(7, 9, 24, 30, 10, 24, "#657b82");
box(7, 9, 8, 7, 10, 23, "#657b82");
box(30, 9, 8, 30, 10, 23, "#657b82");
box(5, 9, 5, 32, 9, 6, "#d3dedd");
box(5, 9, 25, 32, 9, 26, "#ffffff");
// A few blue reflections suggest tinted glass without hiding the plate.
line(10, 9, 21, 17, 9, 21, 0, "#779ba4");
line(10, 9, 20, 14, 9, 20, 0, "#a6c4c8");
line(23, 9, 22, 27, 9, 22, 0, "#607f89");
box(8, 9, 10, 8, 9, 17, "#91adb1");
// Prominent chrome door handle.
box(30, 7, 11, 32, 9, 21, "#abbabd");
box(30, 7, 13, 32, 7, 20, "#f5f7f2");
box(31, 6, 12, 31, 6, 20, "#dce7e6");
// Control panel and green digital display.
box(34, 9, 4, 43, 11, 26, "#d9e3e0");
box(35, 8, 20, 42, 9, 24, "#789b94");
box(36, 7, 21, 41, 8, 23, "#263e3a");
box(37, 6, 22, 40, 6, 22, "#a6ea91");
set(38, 6, 21, "#79cb79");
set(40, 6, 21, "#79cb79");
// Six raised, easy-to-read buttons.
for (const z of [16, 13, 10]) {
for (const x of [36, 40]) {
box(x - 1, 7, z - 1, x + 1, 8, z + 1, "#aebcba");
box(x - 1, 6, z, x + 1, 7, z + 1, "#f8faf3");
set(x, 6, z + 1, "#ffffff");
}
}
// Round lower dial with a little indicator mark.
for (let x = 36; x <= 42; x++) {
for (let z = 3; z <= 9; z++) {
const d = Math.hypot(x - 39, z - 6);
if (d <= 2.7) set(x, 7, z, "#a3b2b0");
if (d <= 2.1) set(x, 6, z, "#e5eeeb");
if (d <= 1.3) set(x, 5, z, "#ffffff");
}
}
set(39, 4, 8, "#7b9694");
// Vent slots, seams, and a softly speckled top.
for (let x = 10; x <= 29; x += 4) box(x, 10, 27, x + 2, 10, 27, "#9daead");
box(33, 8, 5, 33, 10, 25, "#b9c8c6");
box(5, 11, 4, 43, 11, 4, "#e0e8e4");
for (let i = 0; i < 110; i++) {
const x = 6 + Math.floor(rand() * 37);
const y = 14 + Math.floor(rand() * 20);
if (get(x, y, 29)) set(x, y, 29, rand() < 0.5 ? "#f2f5ef" : "#ffffff");
}
// A ceramic plate sits inside the chamber and turns on its vertical spindle.
part("plate", [19, 20, 10]);
cylinder(19, 20, 9, 2, 1, "#72878a");
for (let x = 11; x <= 27; x++) {
for (let y = 12; y <= 28; y++) {
const d = Math.hypot(x - 19, y - 20);
if (d <= 8) set(x, y, 10, d > 6.7 ? "#a8c5c8" : "#f5f2e8");
if (d <= 6.4) set(x, y, 11, "#fffaf0");
if (d > 6.1 && d <= 7.5) set(x, y, 11, "#d5e9e6");
}
}
// A little peach-colored snack makes the rotation apparent.
ellipsoid(22, 18, 12, 2, 2, 1, "#e9a880");
set(22, 17, 13, "#f7cf9c");
set(23, 18, 13, "#c98066");
animate("plate", { type: "spin", axis: "z", speed: 2 });
part("body", [24, 24, 15]);import { draw } from "./assets/voxel";
import { microondas } from "./assets/microondas";
// Every frame: standing on (x, y), the centre of its base.
draw(ctx, microondas, x, y, { size: 64, angle: 0, t: performance.now() / 1000 });
// size: its longest side, in px
// angle: turn on the floor, in radians
// t: seconds; if it moves, that animates it# In a terminal, in the game's folder
fogon assets add microondas
# With Fogón's tools (connector)
add_assets({ slug: "<your-game>", ids: ["microondas"] })
# It lands in client/assets/microondas.ts
# https://fogon.page/object/microondas