SOURCE / PINNED RELEASE
Made of little things.
Safe Sand · Material studies
- Release
- 9101a9cd9fb4…
- Author-recorded commit
- 75d98e1b8edb…
- License
- LICENSE
- Author’s source reference
- nostr://npub182jczunncwe0jn6frpqwq3e0qjws7yqqnc3auccqv9nte2dnd63scjm4rf/wss%3A%2F%2Fgit.napplet.soy%2F/n-7682e55a791
Archive hash verified: 6c8ddabeb31100e1…. The source-to-build association is the author’s claim; it has not been independently rebuilt.
export class Sandbox {
constructor(canvas: HTMLCanvasElement, media?: import('../coordinated-audio.js').AudioMediaClient, onAudioChange?: () => void);
material: string; surface: string; radius: number; amount: number;
paused: boolean; live: boolean; visible: boolean; skipped: boolean;
tool: string; speed: number; flowRate: number; pourHeight: number;
camera: { pitch: number; yaw: number }; undoState: unknown;
keys: Set<string>; pad: number[]; pointers: Map<number, unknown>;
sim: { magnet: boolean }; soundOn: boolean;
resize(): void; clearInput(): void; setMaterial(key: string): void;
setSurface(key: string): void; pour(intro?: boolean): void; clear(): void;
shake(): void; setPaused(paused: boolean): void; draw(): void;
pointer(id: number, x: number, y: number, start?: boolean): void;
endPointer(id: number, cancelled?: boolean): void;
setSound(on: boolean): Promise<void>; suspend(): void; schedule(): void;
dispose(): void; info(): Record<string, unknown>;
setTool(tool: string): void; setCamera(pitch: number, yaw: number): void;
checkpoint(): void; undo(): boolean; singleStep(): void; resetSound(): void;
readParticles(): { A: Float32Array; B: Float32Array };
}
