{"id":19437743,"url":"https://github.com/trismegiste/bryce-from-nyce","last_synced_at":"2026-05-06T19:07:20.055Z","repository":{"id":222656376,"uuid":"756619129","full_name":"Trismegiste/bryce-from-nyce","owner":"Trismegiste","description":"Bryce-like terrain generator","archived":false,"fork":false,"pushed_at":"2024-02-21T22:49:26.000Z","size":270,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-25T07:15:31.907Z","etag":null,"topics":["alpinejs","babylonjs","bryce","bun","docker","hono","picocss"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Trismegiste.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-02-13T00:47:20.000Z","updated_at":"2024-02-15T12:47:11.000Z","dependencies_parsed_at":"2024-02-21T23:47:16.394Z","dependency_job_id":null,"html_url":"https://github.com/Trismegiste/bryce-from-nyce","commit_stats":null,"previous_names":["trismegiste/bryce-from-nyce"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Trismegiste/bryce-from-nyce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trismegiste%2Fbryce-from-nyce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trismegiste%2Fbryce-from-nyce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trismegiste%2Fbryce-from-nyce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trismegiste%2Fbryce-from-nyce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Trismegiste","download_url":"https://codeload.github.com/Trismegiste/bryce-from-nyce/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trismegiste%2Fbryce-from-nyce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284939277,"owners_count":27087872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-17T02:00:06.431Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["alpinejs","babylonjs","bryce","bun","docker","hono","picocss"],"created_at":"2024-11-10T15:15:45.869Z","updated_at":"2025-11-17T19:02:18.515Z","avatar_url":"https://github.com/Trismegiste.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bryce from Nyce\nBryce-like Fractal Terrain Generator\n\n## What\nIt's a 3D terrain editor. Currently, only the \n[Diamond-Square algorithm](https://en.wikipedia.org/wiki/Diamond-square_algorithm) is implemented.\n\n![Screenshot](https://github.com/Trismegiste/bryce-from-nyce/blob/master/docs/screenshot.jpg)\n\n## How\n\n![Stack](https://github.com/Trismegiste/bryce-from-nyce/blob/master/docs/stack.svg)\n\nIt runs with \n[ECMAScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/JavaScript_technologies_overview), \nserved by [Bun](https://bun.sh/),\nbuilt on [Hono](https://hono.dev/), \nrendered with [BabylonJS](https://babylonjs.com/), \nreactived with [AlpineJS](https://alpinejs.dev/),\ndesigned with [PicoCSS](https://picocss.com/)\nand containerized with [Docker](https://www.docker.com/).\n\nNo JSX nor hooks were harmed in the process.\n\nThis webapp is conveniently dockerized, to run it, simply clone this repo and launch :\n\n```bash\n$ docker compose up\n```\n\nAnd launch the browser to access to http://localhost:3000\n\nOf course, if you know how to use Bun, you can simply launch :\n\n```bash\n$ bun run index.js\n```\n\n## What is special about this implementation of Diamond-Square algorithm ?\n\nTwo points : unlike many implementions of this algorithm you can find on the net, \nthis release is divided into steps. Each step adds more refinement to the mesh\nand you can increase or decrease this tesselation afterward generating the terrain.\n\nThe second point is the texturing algorithm that uses 3 textures (top, bottom and slope)\nthat are mixed according to height and slope of the terrain. The slope texture is\nvisible when the terrain is steep.\n\nWith the help of [transfer functions](https://en.wikipedia.org/wiki/Transfer_function) and\n[convolution matrices](https://en.wikipedia.org/wiki/Convolution#Discrete_convolution), you can rapidly generate\nrealist terrains. \n\n## API\n* src/Terrain.js : all mathematical stuff\n* src/editor.js : all 3d stuff\n* src/TransferFunction.js : transfer function object to be applied on Terrain objects\n* template/index.html : the page\n* texture/ : default textures\n\n## TODO (from probable to improbable)\n* Fog\n* Skybox\n* Exporting the scene\n* Managing a camera on the terrain\n* Exporting a screenshot\n* Undo - need to refactor TransferFunction and convolutions workflow\n* Other algorithms for generating terrains\n* Other algorithms for generating texturing\n* Procedural mapping like original Bryce with pixel shaders ?\n* Other primitives into the scene ?\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrismegiste%2Fbryce-from-nyce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrismegiste%2Fbryce-from-nyce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrismegiste%2Fbryce-from-nyce/lists"}