{"id":41718820,"url":"https://github.com/alfu32/k3d","last_synced_at":"2026-04-01T20:12:39.209Z","repository":{"id":334452268,"uuid":"1141408991","full_name":"alfu32/k3d","owner":"alfu32","description":"3d mesh builder","archived":false,"fork":false,"pushed_at":"2026-02-15T02:43:31.000Z","size":70991,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"work","last_synced_at":"2026-02-15T09:55:27.581Z","etag":null,"topics":["3d","3dmodel","api","dev","dev-console","extensible-plugins","intuitive-3d","plugins","programmatic","structured"],"latest_commit_sha":null,"homepage":"https://alfu32.github.io/k3d/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alfu32.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-24T19:55:17.000Z","updated_at":"2026-02-15T02:43:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"81a324be-59ad-4b5e-a812-cfda91e76663","html_url":"https://github.com/alfu32/k3d","commit_stats":null,"previous_names":["alfu32/k3d"],"tags_count":82,"template":false,"template_full_name":null,"purl":"pkg:github/alfu32/k3d","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfu32%2Fk3d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfu32%2Fk3d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfu32%2Fk3d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfu32%2Fk3d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alfu32","download_url":"https://codeload.github.com/alfu32/k3d/tar.gz/refs/heads/work","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfu32%2Fk3d/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29587066,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T16:55:40.614Z","status":"ssl_error","status_checked_at":"2026-02-18T16:55:37.558Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d","3dmodel","api","dev","dev-console","extensible-plugins","intuitive-3d","plugins","programmatic","structured"],"created_at":"2026-01-24T22:25:37.742Z","updated_at":"2026-02-18T17:04:24.677Z","avatar_url":"https://github.com/alfu32.png","language":"Kotlin","readme":"\n\n# ![K3D app icon](assets/appicon.png) K3D\n\n![img_0-logo_3d.png](docs/images/img_0-logo_3d.png)\n\nK3D is a Kotlin + libGDX desktop modeler for fast, direct 3D sketching. It focuses on edges, planar faces, and tool-driven workflows with precise snapping, groups (objects), and a live Groovy console for power users.\n\n![Screenshot placeholder: Main UI](docs/images/img_1.png)\n![Screenshot placeholder: Console TUI](docs/images/img_1c.png)\n\n## Highlights\n\n- Direct modeling: draw edges, create faces, and push/pull solids.\n- Precision: snapping to grid, endpoints, midpoints, lines, faces, and guides.\n- Object workflow: group geometry into reusable object prototypes and instances.\n- Measurements: linear dimensions, numeric input, and unit-aware modeling.\n- Custom lighting and shadows with real-time controls.\n- Groovy-powered dev console and plugin system.\n\n![Screenshot placeholder: Tools + panels](docs/images/img_2.png)\n\n## Core tools\n\n- Select, Line, Rectangle, Surface Rectangle, Quad, Circle\n- Push/Pull, Move, Rotate, Scale, Stretch\n- Linear Dimension, Text, Paint, Object placement\n- Eraser tool (placeholder in this build)\n\n## Selection and snapping\n\n- Click, window (left-to-right), crossing (right-to-left), and volume selection.\n- Double-click groups to enter edit mode; double-click faces for coplanar selection; triple-click for connected geometry.\n- Snap to grid intersections/lines, endpoints, midpoints, line segments, faces, and guides.\n- Guides: `G` for grid guides, `T` for axis guides (Esc clears guides in Select mode).\n- Undo/redo: `Ctrl+Z` / `Ctrl+Y` (or `Ctrl+Shift+Z`).\n\n## Objects (groups and prototypes)\n\n- Create object prototypes from selection (`Ctrl+G` or `Ctrl+O`).\n- Place instances via the Objects panel or Object tool.\n- Edit an object by double-clicking an instance.\n- Glue-to-surface option keeps objects aligned to a picked surface during moves.\n\n## Panels and UI\n\n- Selection, Object Info, Objects, Model Settings, Lighting, Plugin Manager.\n- Action buttons: Cleanup, Delete, Flip Faces, Color, Lighting, Plugin Manager.\n- Command Palette (`Ctrl+Shift+P`) for tools and panel actions.\n\n## Built-in console (dev)\n\nThe dev console is a persistent Groovy REPL that runs alongside the GUI. Start it via the desktop launcher command:\n\n```\nedit --file path/to/model.k3d\n```\n\nInside the console, type `:help` and `:examples` for meta commands and snippets. Use `app.run { ... }` to mutate the model safely.\nUse `:perf` to print memory, disk, thread, and CPU stats.\n\n## Files and autosave\n\n- Default file: `sketch3d.k3d` in the working directory.\n- Autosaves on geometry, selection, and settings changes.\n- Model files store camera, lighting, shadow settings, units, and grid spacing.\n\n## Downloads and running\n\nGrab the latest release from GitHub Releases and run the platform launcher:\n\n- Windows: `k3d-jre.cmd` (bundled runtime) or `k3d.cmd` (system Java)\n- macOS / Linux: `./k3d-jre` (bundled runtime) or `./k3d-editor` (system Java)\n\n## CLI commands (desktop launcher)\n\n```\nedit --file \u003cpath\u003e [--size WIDTHxHEIGHT]   Open or create a model file\nedit --plugins-dir \u003cpath\u003e                 Override plugins folder\ngroovy \u003cscript\u003e                           Run a Groovy script file\nversion                                  Show version information\nupdate                                   Download and replace the editor jar\nhelp                                     Show help\n```\n\n## Build from source\n\n```\n./gradlew build\n./gradlew :lwjgl3:run\n```\n\n## Documentation\n\n- User manual: [`docs/USER_MANUAL.md`](docs/USER_MANUAL.md)\n- Shortcuts: [`SHORTCUTS.md`](SHORTCUTS.md)\n- Plugin development: [`docs/PLUGIN_DEVELOPMENT.md`](docs/PLUGIN_DEVELOPMENT.md)\n- Specs: [`docs/specification/`](docs/specification/)\n\n## Status\n\nK3D is an active work-in-progress. File formats and APIs may evolve as new modeling and topology features land.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfu32%2Fk3d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falfu32%2Fk3d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfu32%2Fk3d/lists"}