Around the end of 2024, I went to https://skyline.github.com to print my Github Skyline; I already had one for 2023, and I wanted to grow my collection. Lo and behold, the app is offline.
At the time, there were some alternatives, but I didn't like their style compared to the original skyline. Github had also recently come out with a CLI version. My main gripe was that I didn't want to install the Github CLI just to get my skyline. I liked the idea of being able to view/print my skyline from wherever as long as I had a browser.
And so here we are!
showcase.mp4
- Highly customizable, parameter-based model editor with options to change username text, font, tower size, base shape, and more.
- Ability to generate multi-year skylines
- Performant, changes are applied in real-time
- 3MF support (can export model with colors for multi-extruder printers)
- Cloud Enterprise authentication support
- Sharing support, with minimal or full model settings
- UI: React, Mantine
- 3D: three.js, @react-three/fiber (and related
@react-three
libraries), manifold - OAuth: Cloudflare Workers
- Routing: Tanstack Router
- Build: Rsbuild
This project uses volta. It's highly recommended that you also use volta to stay in sync with the project's tool dependencies (plus it's a great tool regardless), but if you prefer not to, just ensure your tools and its versions are in sync with whats listed in the package.json
in the volta
field.
Install the dependencies:
pnpm i
Start the dev server:
pnpm dev
Keep things tidy:
pnpm neat:fix
- Big thanks to @justinfernald, who contributed many key features, improvements, and ideas throughout development.
- 3MF exporting with color support is made possible by LittleSound and their package three-3mf-exporter.
- gr2m's Github OAuth worker is the base for the skyline worker.
This project is licensed under GPL 3.0, with the exception of the following components:
@skyline/worker
: ISC