MCPcopy Index your code
hub / github.com/Ameobea/sketches-3d

github.com/Ameobea/sketches-3d @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
5,582 symbols 17,468 edges 480 files 551 documented · 10% updated 1d ago★ 731 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

3D Sketches + Experiments

This holds the outputs of my foray into 3D modeling, shaders, Three.JS, and psuedo-gamedev. It consists of a variety of scenes, sketches, and experiments that I created while learning and exploring the tech and methods involved with creating interactive 3D content that runs in the browser.

A screenshot of one of the 3D game-like demos I've been working on.  Shows a floating bridge with a pixelated texture and some metal arches, a brightly-colored green and red sky, and maroon fog over the bridge's surface A screenshot of one of the 3D sketches I created as a part of this project.  A golden arch made out of a metallic-rocky material stands on a concrete plinth.  It sits in what looks like a sort of shrine with curved stone arches.  There is a cobblestone floor and stone walls.  The graphics are remiscent of PS2 games or similar style.

In-Browser Demos

Tech

Most of the stuff here is built using Blender, Three.JS, and some custom shaders. It will all run in the browser, targeting desktop devices with mouse + keyboard. SvelteKit is used as a lightweight framework for wrapping everything up and bundling releases.

Include audio integration that is generated in realtime also in the browser via my web-synth project.

Extension points exported contracts — how you extend this code

Sequence (Interface)
(no doc) [16 implementers]
src/viz/wasm/geoscript/src/lib.rs
ApiResponse (Interface)
(no doc) [5 implementers]
src/api/runtime.ts
RawRenderedGizmo (Interface)
Raw shape of `geoscript_repl_get_rendered_gizmo`'s JSON (snake_case from Rust).
src/geoscript/geoscriptWorker.worker.ts
Transform3 (Interface)
(no doc)
geoscript_backend/geotoy_cli/src/cli.ts
CompositionRender (Interface)
(no doc)
geoscript_backend/thumbnail_generator/render.ts
TextToPathRequest (Interface)
(no doc)
geoscript_backend/text-to-path/index.ts
LevelStore (Interface)
(no doc)
src/routes/level_editor/levelEditorUtils.server.ts
GeodesicsModule (Interface)
(no doc)
src/geodesics/geodesics.d.ts

Core symbols most depended-on inside this repo

push
called by 914
src/viz/wasm/geoscript/src/lib.rs
resolve
called by 789
src/viz/wasm/geoscript/src/lib.rs
len
called by 649
src/viz/wasm/geoscript/src/lib.rs
set
called by 419
src/viz/wasm/geoscript/src/lib.rs
clone
called by 354
src/viz/wasm/geoscript/src/lib.rs
add
called by 349
src/viz/wasm/geoscript/src/lib.rs
as_float
called by 326
src/viz/wasm/geoscript/src/lib.rs
get
called by 246
src/viz/wasm/geoscript/src/lib.rs

Shape

Function 3,008
Method 1,619
Class 496
Interface 372
Enum 87

Languages

TypeScript55%
Rust44%
C++1%
Python1%

Modules by API surface

src/viz/wasm/geoscript/src/lib.rs300 symbols
src/viz/wasm/geoscript/src/builtins.rs242 symbols
src/viz/wasm/uv_unwrap/uv-unwrap.js188 symbols
src/ammojs/ammoTypes.ts183 symbols
src/viz/wasm/geoscript/src/builtins/trace_path.rs178 symbols
src/viz/wasm/mesh/src/linked_mesh.rs174 symbols
src/viz/wasm/cgal/index.js160 symbols
src/viz/wasm/geoscript/src/mesh_ops/rail_sweep.rs95 symbols
src/viz/levelDef/LevelEditor.svelte.ts94 symbols
src/viz/wasm/geoscript/src/ast.rs92 symbols
src/viz/wasm/mesh/src/csg.rs73 symbols
src/viz/wasm/geoscript/src/optimizer.rs72 symbols

For agents

$ claude mcp add sketches-3d \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact