Devlog #04
Constellation Rendering & CLI Integration
Hey, I hope you are all doing amazing ʕ•ᴥ•ʔ
Lately, I focused on improving the visualization system and connecting the constellation data with the CLI experience.
The biggest addition in this session was creating the render.py system. It is responsible for generating ASCII representations of constellations using star coordinates and connections between them. This was an important step as SkyCanvas is now no longer just displaying astronomical data - it’s starting to actually visualize the constellations now ;)
I also created coordinates.py, which contains the positional data of stars used by the renderer. These coordinates define the relative placement of stars and allow the program to recreate recognizable constellation shapes inside the terminal.
Another major improvement was modifying the command skycanvas [constellation] command, to skycanvas constellation [name]. This allows users to choose a specific constellation and display its information table together with its ASCII visualization.
Example:
skycanvas constellation orion
The command now shows:
- constellation information
- stars data
- connections
- ASCII art of stars
I also improved the existing rand command.
Previously, it only displayed the information table of a randomly selected constellation, and now it also renders the ASCII visualization, making the feature much more complete.
What was easy and what challengin
I think the easier part of this session was connecting existing constellation data with new CLI features, since the database was already prepared, adding new commands was much simpler.
The most challenging part was creating the rendering system. Turning star coordinates into readable ASCII art required a lot of testing and adjustments to make the constellations recognizable in the terminal.
Overall, this session was focused on turning stored astronomical data into an actual visual experience.
I hope you notice my progress and view it positively 🤍
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.