|
61214
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860873.3882496
|
1793724873.3882496
|
|
61208
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860872.5488522
|
1793724872.5488522
|
|
61206
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860871.7436652
|
1793724871.7436652
|
|
68398
|
My website by @Voxel21 | Stardance
|
Voxel21
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My website by @Voxel21 | Stardance
|
1793120071.669773
|
1793724871.669773
|
|
61196
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860870.9303448
|
1793724870.9303448
|
|
68397
|
Paint brush by @jutyve | Stardance
|
jutyve
|
0
|
4.86
|
0
|
[]
|
[{"post_id": 77827, "ts": "202 [{"post_id": 77827, "ts": "2026-10-08T12:58:21Z", "hours": 0.3908, "text": "Added an explosion effect on text :)"}, {"post_id": 77695, "ts": "2026-10-07T23:15:13Z", "hours": 1.1214, "text": "Just added color selection!!!!"}, {"post_id": 77551, "ts": "2026-10-07T12:37:55Z", "hours": 3.3436, "text": "basic drawing is complete!!!"}]...
|
Title: Paint brush by @jutyve | Stardance
Devlogs Title: Paint brush by @jutyve | Stardance
Devlogs:
basic drawing is complete!!!
Just added color selection!!!!
Added an explosion effect on text :)...
|
1793120070.7861476
|
1793724870.7861476
|
|
61195
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860870.1236217
|
1793724870.1236217
|
|
59952
|
Song#1 by @Skye | Stardance
|
Skye
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-27T00:24:14Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Song # 1 Hi all! I’m super happy to finally ship this project! Let’s start off with what was challenging - just about everything lol! This was my first time ever making a song on Strudel; I’ve never done anything of the sort. I had to learn to set up Lapse, and spent a lot of time navigating the Strudel docs to learn how everything worked. It was a great learning experience though and I’ll definitely continue to have fun doing this! I love how this combined my interests of coding and music! I’m proud that I was able to dive in and start learning, and especially proud that I kept coming back to improve the project instead of just submitting the bad first draft. To test : this project was a bit weird in terms of how to test, I tried using the Strudel share link as my demo link, but it said the link was too long, so I put it into a shorten my url thingy. I hope that works, click the link and then just hit the play button to listen to it. If it doesn’t work, dm me on slack ( @ codergirl) and I’ll send an audio file or something. Couple side notes: 1) sorry that all the images kind of look the same, I wasn’t really sure what else to put but if you look closer you can see the development of my code in the photos! 2) I got $60 3d printing credits for my last project and was so excited but then my order was $70 and I couldn’t just not buy one thing because then it got rid of the sale and the free shipping, long story short I need one more 3d printing credit to merge with my current credits (someone on slack said I could merge them) so I’m really excited to finally be shipping this!", "repo": "https://gist.github.com/julietmeletta/e7b1ae8afd0d754861075862c57dffd9", "demo": "https://tinyurl.com/2venvmus"}]...
|
[{"post_id": 83126, "ts": "202 [{"post_id": 83126, "ts": "2026-10-27T00:02:50Z", "hours": 1.5836, "text": "Finally done! I made V2.5 which is my final product. It sounds much better than before, though keep in mind it is my first time doing anything like this. Below is the final version! I think I’m ready to ship!"}, {"post_id": 77468, "ts": "2026-10-07T03:41:16Z", "hours": 2.4444, "text": "First draft done! I’m pretty sure it lowkey sounds bad. So I will be doing editing and whatnot. But - first draft done so yay! I think it sounds okaaayyy. It is my first time ever coding a song so I don’t really need it to sound amazing, it was mostly for fun. Yk? I think it’s been great learning to do this - definitely a fun skill to have (a skill that needs a lot of developing still lol). I want to finish it up this week but this week does look really busy so we’ll see. Peace Edit: Sorry all the photos are the same across devlogs idk what else to put"}, {"post_id": 75400, "ts": "2026-09-29T23:16:20Z", "hours": 1.8019, "text": "Bout half way done! I have roughly 16 seconds worth so I need to write the second half, then go through the whole thing changing parts to make it sound right. I’m excited! I like what I have so far - but I don’t love it. So, when I’m changing parts at the end I’ll make it better."}, {"post_id": 72973, "ts": "2026-09-24T04:23:10Z", "hours": 1.1967, "text": "Version 2 Guys I have to lock in!! I’ve been swamped the past two weeks but I’m going to finish this song up this week. I’m so sad Stardance is ending! V2 is gonna be good I just gotta finish it!"}, {"post_id": 64446, "ts": "2026-09-08T20:39:19Z", "hours": 4.2906, "text": "Hey everyone! Decided to make this song on Strudel and add it as a project here! It doesn’t have a name yet - just Song#1 for now. Maybe it will stay that way or maybe I’ll get creative. I usually do web dev so this is definitely new to me but it’s really just a project for fun more than anything else."}]...
|
Title: Song#1 by @Skye | Stardance
Devlogs:
Hey e Title: Song#1 by @Skye | Stardance
Devlogs:
Hey everyone! Decided to make this song on Strudel and add it as a project here! It doesn’t have a name yet - just Song#1 for now. Maybe it will stay that way or maybe I’ll get creative. I usually do web dev so this is definitely new to me but it’s really just a project for fun more than anything else.
Version 2 Guys I have to lock in!! I’ve been swamped the past two weeks but I’m going to finish this song up this week. I’m so sad Stardance is ending! V2 is gonna be good I just gotta finish it!
Bout half way done! I have roughly 16 seconds worth so I need to write the second half, then go through the whole thing changing parts to make it sound right. I’m excited! I like what I have so far - but I don’t love it. So, when I’m changing parts at the end I’ll make it better.
First draft done! I’m pretty sure it lowkey sounds bad. So I will be doing editing and whatnot. But - first draft done so yay! I think it sounds okaaayyy. It is my first time ever coding a song so I don’t really need it to sound amazing, it was mostly for fun. Yk? I think it’s been great learning to do this - definitely a fun skill to have (a skill that needs a lot of developing still lol). I want to finish it up this week but this week does look really busy so we’ll see. Peace Edit: Sorry all the photos are the same across devlogs idk what else to put
Finally done! I made V2.5 which is my final product. It sounds much better than before, though keep in mind it is my first time doing anything like this. Below is the final version! I think I’m ready to ship!
Ships:
Song # 1 Hi all! I’m super happy to finally ship this project! Let’s start off with what was challenging - just about everything lol! This was my first time ever making a song on Strudel; I’ve never done anything of the sort. I had to learn to set up Lapse, and spent a lot of time navigating the Strudel docs to learn how everything worked. It was a great learning experience though and I’ll definitely continue to have fun doing this! I love how this combined my interests of coding and music! I’m proud that I was able to dive in and start learning, and especially proud that I kept coming back to improve the project instead of just submitting the bad first draft. To test : this project was a bit weird in terms of how to test, I tried using the Strudel share link as my demo link, but it said the link was too long, so I put it into a shorten my url thingy. I hope that works, click the link and then just hit the play button to listen to it. If it doesn’t work, dm me on slack ( @ codergirl) and I’ll send an audio file or something. Couple side notes: 1) sorry that all the images kind of look the same, I wasn’t really sure what else to put but if you look closer you can see the development of my code in the photos! 2) I got $60 3d printing credits for my last project and was so excited but then my order was $70 and I couldn’t just not buy one thing because then it got rid of the sale and the free shipping, long story short I need one more 3d printing credit to merge with my current credits (someone on slack said I could merge them) so I’m really excited to finally be shipping this!...
|
1793638469.8267884
|
1793724869.8267884
|
|
61190
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860869.3056922
|
1793724869.3056922
|
|
59951
|
Fidget Cube by @ektoracc | Stardance
|
ektoracc
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T13:21:53Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple interactive fidget cube in Onshape. Through the design process of this specific model, my Onshape mate skills definitely improved, since this project required different variants of mates compared to my previous Turbofan engine model. Would say I am proud of this design, but I had a lot of trouble designing the joystick area in order to make it have a full range of motion, so that’s one part I could perhaps improve in the near future.", "repo": "https://github.com/STektorEM/Stardance---Fidget-Cube/blob/main/README.md", "demo": "https://makerworld.com/en/models/3513371-fidget-cube"}]...
|
[{"post_id": 84288, "ts": "202 [{"post_id": 84288, "ts": "2026-10-29T12:24:35Z", "hours": 4.375, "text": "Final Devlog After 4 hours of my life spent trying to find a solution to the joystick problem, I accepted my fate and simply deleted one of the 2 gimbals; therefore, the joystick will not have full movement, even though it will be good enough. For the ones that will actually take the time to print the whole thing, I saved y’all some material😉"}, {"post_id": 73186, "ts": "2026-09-24T15:34:21Z", "hours": 3.3758, "text": "Second-to-last devlog I finally managed to assemble almost everything together; that includes: -Switch -Switch casing -Walls -rods -Gears (both the 25-tooth and the 10-tooth one) -rolling ball (which doesn’t quite look like it’s moving in the video) -Spinner The very last thing I have to do is assemble the joystick mechanism, which I am guessing will pure pain to do, and then I’m done!"}, {"post_id": 70674, "ts": "2026-09-19T15:56:03Z", "hours": 2.715, "text": "Because the last design wasn’t only terrible but also unfinished, I focused on the joystick, which ended up taking a lot more time than expected. I shortened it since it wouldn’t fit in the cube, added the spring that will hold the stick in the middle in place, all the connectors, and the cap. The proportions compared to the fidget cube are still off by quite a lot. The part that genuinely scares me, though, is the mate connectors, which will definitely take a lot of time"}, {"post_id": 67658, "ts": "2026-09-13T20:13:38Z", "hours": 1.9058, "text": "Devlog #3 After redesigning the switch and making it thicker, I got into the joystick part, where I had a lot of trouble for no reason at all. After several concepts, I came up with this idea, featuring 2 bridges that will be able to move freely on the x and z axes, making the joystick movable in all directions."}, {"post_id": 65577, "ts": "2026-09-10T20:15:07Z", "hours": 1.3992, "text": "Devlog #2 Remade the side with the gears and made it cleaner and more refined, while also adding a place for a rolling sphere. I also designed a simple switch mechanism, which, when 3D-printed, would, in theory, make a satisfying clicking sound."}, {"post_id": 64438, "ts": "2026-09-08T20:19:00Z", "hours": 1.2614, "text": "Devlog #1 With school starting and me being fresh out of ideas for CAD, I decided to start on an anti-stress fidget cube, which everyone has used at least 3 times in their lifetime fs. Proportions are off as HELL, but anyway. Did the first 2 sides (almost) and am now aiming to clock in more time to get that certificate. Shi lowk looking kinda fire tho. (it doesn’t)."}]...
|
Title: Fidget Cube by @ektoracc | Stardance
Devlo Title: Fidget Cube by @ektoracc | Stardance
Devlogs:
Devlog #1 With school starting and me being fresh out of ideas for CAD, I decided to start on an anti-stress fidget cube, which everyone has used at least 3 times in their lifetime fs. Proportions are off as HELL, but anyway. Did the first 2 sides (almost) and am now aiming to clock in more time to get that certificate. Shi lowk looking kinda fire tho. (it doesn’t).
Devlog #2 Remade the side with the gears and made it cleaner and more refined, while also adding a place for a rolling sphere. I also designed a simple switch mechanism, which, when 3D-printed, would, in theory, make a satisfying clicking sound.
Devlog #3 After redesigning the switch and making it thicker, I got into the joystick part, where I had a lot of trouble for no reason at all. After several concepts, I came up with this idea, featuring 2 bridges that will be able to move freely on the x and z axes, making the joystick movable in all directions.
Because the last design wasn’t only terrible but also unfinished, I focused on the joystick, which ended up taking a lot more time than expected. I shortened it since it wouldn’t fit in the cube, added the spring that will hold the stick in the middle in place, all the connectors, and the cap. The proportions compared to the fidget cube are still off by quite a lot. The part that genuinely scares me, though, is the mate connectors, which will definitely take a lot of time
Second-to-last devlog I finally managed to assemble almost everything together; that includes: -Switch -Switch casing -Walls -rods -Gears (both the 25-tooth and the 10-tooth one) -rolling ball (which doesn’t quite look like it’s moving in the video) -Spinner The very last thing I have to do is assemble the joystick mechanism, which I am guessing will pure pain to do, and then I’m done!
Final Devlog After 4 hours of my life spent trying to find a solution to the joystick problem, I accepted my fate and simply deleted one of the 2 gimbals; therefore, the joystick will not have full movement, even though it will be good enough. For the ones that will actually take the time to print the whole thing, I saved y’all some material😉
Ships:
I made a simple interactive fidget cube in Onshape. Through the design process of this specific model, my Onshape mate skills definitely improved, since this project required different variants of mates compared to my previous Turbofan engine model. Would say I am proud of this design, but I had a lot of trouble designing the joystick area in order to make it have a full range of motion, so that’s one part I could perhaps improve in the near future....
|
1793638468.5341432
|
1793724868.5341432
|
|
61186
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860868.4905424
|
1793724868.4905424
|
|
61180
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860867.6665356
|
1793724867.6665356
|
|
68393
|
Blog thing by @CharlieCatMeow | Stardance
|
CharlieCatMeow
|
0
|
8.89
|
0
|
[]
|
[{"post_id": 82970, "ts": "202 [{"post_id": 82970, "ts": "2026-10-26T12:44:35Z", "hours": 3.4386, "text": "MeowBlog Devlog #4 Some new things and fixes Homepage There’s finally a homepage now. It shows the most recent posts. 404 Page There’s also a working 404 not found page now. About Page I added a bit of content to the About page, not much though. Markdown Support You can now post blogs with Markdown support. There’s also a preview button when posting so you can see what it will actually look like. Themes I added a dark and light theme. You can switch between them. I had to change the CSS of every html element with text which was a bit annoying. Some small fixes Implemented more BetterAuth stuff so not everyone can do stuff."}, {"post_id": 80974, "ts": "2026-10-19T13:40:03Z", "hours": 2.2911, "text": "MeowBlog Devlog #3 Even more stuff Still using the same styling, I have now styled most pages. The website now also checks if the account is the admin account. If it is, you can edit or delete a post. BetterAuth isn’t that complicated for me anymore and I’m starting to piece together how everything works. I still haven’t done the Homepage and the About Page so we’ll see how that goes. Everything else is basically finished though."}, {"post_id": 79771, "ts": "2026-10-15T10:36:54Z", "hours": 1.9542, "text": "MeowBlog Devlog #3 Stuff has been done!!! I have now finished the guide and everything should be working. I definitely understand it better now and things are starting to make sense. I’m still a bit confused with betterAuth and how it works but at least we got a website! I added a background image and some styling. Turns out tailwind CSS isn’t as scary as when I first found out about it. Idk what else to say. I used the usual design I like with the transparency thing, made the buttons do stuff when clicked and yeah ;-;"}, {"post_id": 79281, "ts": "2026-10-13T09:46:41Z", "hours": 1.2022, "text": "MeowBlog Devlog #1 I am so confused. There’s so much complicated stuff, I did my best to follow the guide up until halfway and I think it works now. I have never done anything like this before so it is all a bit weird and confusing."}]...
|
Title: Blog thing by @CharlieCatMeow | Stardance
Title: Blog thing by @CharlieCatMeow | Stardance
Devlogs:
MeowBlog Devlog #1 I am so confused. There’s so much complicated stuff, I did my best to follow the guide up until halfway and I think it works now. I have never done anything like this before so it is all a bit weird and confusing.
MeowBlog Devlog #3 Stuff has been done!!! I have now finished the guide and everything should be working. I definitely understand it better now and things are starting to make sense. I’m still a bit confused with betterAuth and how it works but at least we got a website! I added a background image and some styling. Turns out tailwind CSS isn’t as scary as when I first found out about it. Idk what else to say. I used the usual design I like with the transparency thing, made the buttons do stuff when clicked and yeah ;-;
MeowBlog Devlog #3 Even more stuff Still using the same styling, I have now styled most pages. The website now also checks if the account is the admin account. If it is, you can edit or delete a post. BetterAuth isn’t that complicated for me anymore and I’m starting to piece together how everything works. I still haven’t done the Homepage and the About Page so we’ll see how that goes. Everything else is basically finished though.
MeowBlog Devlog #4 Some new things and fixes Homepage There’s finally a homepage now. It shows the most recent posts. 404 Page There’s also a working 404 not found page now. About Page I added a bit of content to the About page, not much though. Markdown Support You can now post blogs with Markdown support. There’s also a preview button when posting so you can see what it will actually look like. Themes I added a dark and light theme. You can switch between them. I had to change the CSS of every html element with text which was a bit annoying. Some small fixes Implemented more BetterAuth stuff so not everyone can do stuff....
|
1793120067.5780609
|
1793724867.5780609
|
|
61175
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860866.8396952
|
1793724866.8396952
|
|
61173
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860866.010411
|
1793724866.010411
|
|
68392
|
Plasma Guy by @Nugget_Bwai | Stardance
|
Nugget_Bwai
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Plasma Guy by @Nugget_Bwai | Stardance
|
1793120065.834704
|
1793724865.834704
|
|
61169
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860865.1975346
|
1793724865.1975346
|
|
68391
|
Tetris by @hunocam | Stardance
|
hunocam
|
0
|
1.87
|
0
|
[]
|
[{"post_id": 77912, "ts": "202 [{"post_id": 77912, "ts": "2026-10-08T18:53:42Z", "hours": 1.8708, "text": "I am trying to create a tetris functional game with python (i only post this because iwant the stickers)"}]...
|
Title: Tetris by @hunocam | Stardance
Devlogs:
I Title: Tetris by @hunocam | Stardance
Devlogs:
I am trying to create a tetris functional game with python (i only post this because iwant the stickers)...
|
1793120064.9497228
|
1793724864.9497228
|
|
61167
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860864.3790767
|
1793724864.3790767
|
|
61164
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860863.5749402
|
1793724863.5749402
|
|
61162
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860862.7518702
|
1793724862.7518702
|
|
59944
|
Aster by @srithimahi | Stardance
|
srithimahi
|
1
|
50.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T04:57:33Z", "hours": 50.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "ASTER IS DONEEEEE I MADE A TERMINAL. IN RUST. SOMEHOW. Aster is a custom terminal emulator + multiplexer I built basically from scratch while learning Rust. It started with me wondering what actually happens underneath a terminal. Then I learned that a terminal is NOT the shell, discovered PTYs and ANSI escape sequences, built my own terminal grid/parser/renderer, and accidentally entered one of the deepest rabbit holes of my life. Aster now has: PTY-backed PowerShell sessions ANSI/VT parsing + custom terminal rendering tabs and recursive split panes draggable pane resizing + zooming text selection, clipboard, scrollback and search dynamic pane/tab titles a built-in System Monitor process filtering, inspection and safe process killing Aster’s own : command system searchable command palette + shortcuts menu command history + autocomplete runtime themes dynamic theme discovery Stardance, Nebula, Sunshine and Mono themes The coolest architectural change happened when I realized panes didn’t have to contain terminals. I refactored Aster so panes can contain different tools, which is how the System Monitor became a first-class pane. That turned Aster from just a terminal + multiplexer into the beginning of a terminal-centered developer workspace. And OH MY GOD THE BUGS. I had ghost characters because I hadn’t implemented ANSI ECH. ConPTY and my terminal disagreed about their dimensions. I started this project knowing basically no Rust and ended up learning about ownership, PTYs, ANSI/VT sequences, terminal state machines, recursive pane trees, rendering, process management, terminal geometry, and how unbelievably complicated the rectangle I type commands into actually is. For the final test, I cloned Aster into a completely fresh directory and ran: cargo run --release AND IT WORKED. SO YAYYYYYY!!!!", "repo": "https://github.com/srithimahi/Aster", "demo": "https://github.com/srithimahi/Aster/blob/main/README.md"}]...
|
[{"post_id": 84131, "ts": "202 [{"post_id": 84131, "ts": "2026-10-29T04:55:08Z", "hours": 7.2875, "text": "Devlog-7 in the last devlog I said: “AND THENNNNN ASTER IS DONE (for now)” WELLLLLL I DID IT. ASTER IS DONEEEEEEEEE but obviously not before it found 700 new ways to break. THE SYSTEM MONITOR GOT AN UPGRADEEEE The process list is actually useful now instead of being a giant wall of processes. I added process filtering! Press / , type a process name or PID, and Aster filters the list live. You can select a process, inspect it, and kill it. which led to the realization that perhaps my terminal should not casually murder processes with no confirmation. SOOO process killing now has a confirmation screen AND Aster prevents itself from killing its own process. no Aster-on-Aster violence allowed. COMMANDS GOT BETTERRRR The : command system got more polish! It now has command history with the up/down arrows, autocomplete got improved, and themes now support things like: :theme next :theme previous Aster also keeps track of the currently active theme. AND themes are dynamic now! Aster discovers .toml files from the themes/ folder instead of having every theme hardcoded. The final themes are Stardance, Nebula, Sunshine, and Mono. TAB NAMES + TEXT SELECTION Tabs can now have their own names!! I also polished text selection so the mouse becomes a text cursor only when you’re actually hovering over terminal text, and clicking random empty space doesn’t create a mysterious selection from the void. tiny details but they make Aster feel SO much more finished. THE FOREHEAD oh my god. When I resized Aster vertically, sometimes a giant empty region appeared ABOVE all the terminal content. BUT I FIXED IT SO IM DONE FINAL CLEANUP I deleted all the debugging stuff that accumulated while I was fighting these bugs, including my PTY byte debugger. I also discovered a ReloadConfig command that did absolutely nothing except print: Config reload coming next yeahhhhh that got removed. NO FAKE FEATURES ALLOWED. AND THEN THE SCARIEST TEST I pushed everything. Made a completely fresh clone of the GitHub repo. Ran: cargo run --release AND IT WORKED. fonts worked. themes worked. terminal worked. everything launched from the clean clone. SO IT’S NOT JUST WORKING BECAUSE MY COMPUTER HAS DEVELOPED A PERSONAL RELATIONSHIP WITH THE CODEBASE. ASTER IS DONEEEEE I started this project thinking: “wait terminals are cool, what if I make one” while knowing basically no Rust. and somehow ended up learning SOOOOO much Aster started as a terminal emulator + multiplexer and slowly became a terminal-centered developer workspace. There are SO MANY directions I could take it later. BUT NOT TODAY. because if I add another feature I will never ship this thing. NEXTTTT ASTER IS GETTING SHIPPED. I MADE A TERMINAL WHAT THE HELL"}, {"post_id": 76540, "ts": "2026-10-03T21:27:22Z", "hours": 9.3839, "text": "Devlog-6 in the last devlog I ended by saying “Next I want a shortcuts command to show all the shortcuts cause I am STARTING TO FORGET EVERYTHING” …yeahhhh, i made that and an entire command system Aster has COMMANDSSSSS Before this, every action was linked to a keyboard shortcut. That was a mildly questionable. SO i made shortcuts for tabs, panes, zooming, focusing the panes, search, copy, paste, opening the system monitor, blah blah and I was reaching the point where I MADE THE TERMINAL AND EVEN I COULDN’T REMEMBER HOW TO USE IT. So instead of having all those actions just scattered around the keyboard handling code part, so I made a command system So things like NewTab, CloseTab, SplitVertical, SplitHorizontal, and much more are now commands The keyboard shortcuts just execute those commands now instead of each shortcut having its own completely separate logic. whichhhhh also meant I could use those exact same commands from other places… SHORTCUT MENU I did the thing yep! i made the menu There is a shortcuts overlay now that shows the shortcuts for tabs, panes, navigation and other terminal commands. So I no longer need to remember ANYTHING to summon the features. very useful considering this project now has TOOOO MANY CONTROLS COMMAND PALETTE There is also a searchable command palette now. So when you open it and start typing it, it would filter out the available aster commands. Then you can select any one command you like and execute it just by clicking enter ASTER HAS : COMMANDS ok my absolute favourite feature. If you just type : in a fresh terminal input, Aster would intercept and open its OWN COMMAND LINE AHGHHHH. I can now do things like :themes , :monitor, :shortcuts and these are SPECIFICALLY aster command, not for powershell BTW IT ALSO HAS AUTOCOMPLETE when you click tab after you typed some of your commands out. A BUNCH MORE THEMES I have been planning this for too long and NOW THEY EXIST Now Aster has themes like: stardance, nebula, sunshine, mono and you can change them in the shortcuts command line. NEXTTTT Aster is much much closer to where I wanted it to be. I only want some more patches here and there for this iteration of this project FOR THE FINAL STRETCH: Polish the Monitor Make the process killing a bit more safer Polish the theme and command UI Hunt down bugs and make everything feel finished AND THENNNNN ASTER IS DONE (for now)"}, {"post_id": 74299, "ts": "2026-09-27T04:33:19Z", "hours": 9.6747, "text": "Devlog-5 soooooo last devlog, I said I wanted to add some uniquely dedicated panes, something specific like something that could monitor RAM and memory while I was working. … I may have gotten a little too further in that… like a 10 hours too further SO ALL PANES WONT JUST BE TERMINALS Originally every pane in Aster was fundamentally a terminal. That did work just fine, but I wanted something more cause i like torturing myself… and I refactored the pane’s architecture. Instead of a pane directly holding a terminal, panes can now be different types using a rust enum called PaneKind So, a pane is just like a container and anything in it can be different and it took a longggg longggg time to change all the code for this, but i can add SOOO many more stuff cause of this (i will tease them in the coming up section) System Monitor and then i just accidentally made my first specific pane Ctrl+Shift+M now splits the current pane and opens up a super live System Monitor and it displays CPU usage, Memory usage, Disk usage, Network activity, System uptime, Running processes. Both the CPU and memory have cute little bars. (they use sysinfo to update btw) Process List & Process Inspector and Terminator You can select a process and pressing I or Enter to open up a specific process inspector and it shows the process specific stuff like specific things like name, pid, cpu usage and memory usage. and esc or q can get u out of the specific process. You can kill processes now! just by pressing k in the specific process inspector and saying yes to a confirmation. Though the kill still uses the stored pid, finds the corresponding process through sysinfo and it would request the OS terminate it. (I may have killed Aster… with Aster…) Originally I was just going to show the top five processes anddddd that lasted exactly one run, because I couldnt kill a process as it kept shifting as the cpu usage kept changing. So, i made it so u can see all the processes NEXT While making Aster I realised that WINDOWS TERMINAL ALREADY HAVE A LOT OF THE THINGS I WANTED. SO i am changing directions: instead of making aster just another customizable terminal, i want it to be more of a terminal-centered around developer workspace. SO THIS IS THE FIRST STEP. Next, i want a shortcuts command to show all the shortcuts cause i myself am starting to forget everything. AI Agent monitor so you can see what your agents are doing meanwhile u work. AND yes i need to make the themes… and fix the bugs…"}, {"post_id": 72954, "ts": "2026-09-24T03:18:54Z", "hours": 8.6644, "text": "Devlog-4! So last time, we were done with vertical panes, being able to have multiple tabs and plenty of shortcut keys to move through the tabs, cursor and panes much quicker. PANE STUFF I first added borders to each individual pane because it became visually messy without them and the ability to be able to resize the panes because some panes are more important than the other, obvi. I did the resizing using a regular hand dragging motion and using some simple math using the old width and height and the current hand grabbing motion’s position to calculate the new position of the panes. Switching between panes have become much easier with its own shortcuts: ctrl + shift + (any arrow keys) to move between them. Apparently this was called spatial navigation when I was researching abt it. TEXT SELECTION!!! I did add text selection and copy and paste, because I got sick and tired of having to test some long and painful commands by hand, instead of just copy-pasting it from the internet. Paste => Ctrl + Shift + V and to copy just select the text by hovering over the text, and click and drag the text and Copy => Ctrl + C Added a much more accurate scrollback to retrieve your terminal commands from even before you opened aster. SEARCH UR STUFF you can now also search whatever previous commands you typed into using Ctrl + Shift + F. Yes, I did make it run ASTER aster Aster 100 times to test search😭 so it will do the regular selection point from the start to end of the search terms and show the amount of times it has appeared in the terminal it is just a super simple for loop searching for the particular search terms and the thing is rust is fast as hell, even if there are 10000 instances, rust is super fast just like c++… i have a feeling i fell out of love with java and found someone new Moving on by the next devlog, I want to add some uniquely dedicated panes, maybe a pane that would monitor the RAM and memory usage on the side while you are working on your main pane or even a AI agent pane that would update on the progress of your AI agents. I also want to add a lot more themes, and just make the core template aesthetically pleasing while retaining its bare personality. (and fix the bugs… i have too much of them."}, {"post_id": 70885, "ts": "2026-09-19T23:16:46Z", "hours": 9.8094, "text": "Devlog-3 OKAY ASTER IS ACTUALLY BECOMING A TERMINAL NOW Last devlog I finally had the terminal grid rendering, the cursor moving around, and text actually showing up on screen. Which meant obviously the next reasonable step was: MAKE EVERYTHING INTERACTIVE. and then somehow I ended up making a multiplexer too. ⸻ SCROLLINGGGG First I added scrolling. Once the terminal reaches the bottom of the screen, I obviously can’t just let the cursor continue its journey into the void. So now when Aster runs out of rows, the existing terminal content can scroll upward to make space for the next line. I also started keeping the older lines around so I can move through terminal history instead of everything disappearing the second it leaves the visible grid. ⸻ KEYBOARD INPUT THENNN I started making the terminal properly interactive. I added keyboard handling for normal typing, backspace, and special keys. Arrow keys now work too: Up Down Left Right which is important because PowerShell needs those actual key sequences for things like moving around your input and navigating command history. It is VERY satisfying being able to actually type and edit commands inside the terminal I MADE. ⸻ AND THEN I DECIDED ONE TERMINAL WASN’T ENOUGH This is supposed to be a terminal emulator AND multiplexer. SOOOO… TABS. Aster can now have multiple terminal sessions open in the same window. I added shortcuts for creating tabs, switching between them, and closing them. Each tab has its own terminal session, so I can jump between completely separate terminals without opening another Aster window. THIS WAS THE POINT WHERE IT STARTED FEELING LIKE AN ACTUAL APPLICATION. ⸻ BUT APPARENTLY TABS WERE ALSO NOT ENOUGH I STARTED THE MULTIPLEXER. Now a tab can be split into multiple panes so I can have two or more terminals visible at the SAME TIME. Instead of just storing a list of panes, I started representing the layout like a TREE. A node can either be: an actual terminal pane OR a split containing more nodes which means those splits can contain MORE splits. ⸻ RUST UPDATE I am learning an unreasonable amount of Rust from this. Especially ownership and borrowing because now I have tabs containing pane trees containing terminals containing state and Rust would VERY MUCH like to know exactly who owns all of it. Honestly though, it is starting to click. ⸻ ASTER NOW HAS terminal rendering cursor movement scrolling scrollback keyboard input backspace/editing arrow keys multiple tabs multiple terminal sessions split panes recursive pane layouts which is SLIGHTLY more than the suspicious Vec I had a couple devlogs ago. ⸻ NEXTTTT Now that the basic multiplexer exists, I want to make actually USING all these panes feel good. So next: better pane navigation resizing mouse interactions more terminal behavior and inevitably fixing whatever horrifying bugs I have created by making terminals recursively multiply"}, {"post_id": 67738, "ts": "2026-09-13T23:27:08Z", "hours": 3.7961, "text": "Devlog-2 ASTER IS STARTING TO ACTUALLY LOOK LIKE A TERMINAL Last time I had the basic terminal state working, where every character on the screen is stored as a Cell inside a flat Vec. Which is cool and all… but a Vec full of letters is not particularly useful if I cannot actually SEE ANYTHING. SOOO I started working on actually rendering the terminal. ⸻ THE TERMINAL GRID Each cell stores a character and its formatting, and Aster converts an (x, y) position into the correct place in the Vec using: y * width + x So instead of having a giant 2D structure, the terminal screen is basically one long array that Aster interprets as rows and columns. Then the renderer can go through those cells and figure out where each character belongs on the screen. AND IT ACTUALLY DISPLAYS TEXT NOW. ⸻ CURSORRRR I also needed Aster to know where the next character should go. So the terminal keeps track of a cursor position. When a character is written, it gets placed into the cell at the cursor, then the cursor moves forward. When it reaches the end of a line, Aster can move down to the next one. Which sounds extremely obvious until you’re the one who has to tell the rectangle how typing works. ⸻ NEWLINES Then I worked on newline behavior. Instead of just throwing characters into the grid forever, Aster needs to understand when to move to another row and what should happen once the cursor reaches the bottom. This is where it started feeling less like “I rendered some text in a Rust window” and more like I was actually building terminal behavior. ⸻ RUST IS ALSO TRYING TO FIGHT ME Since this is my first actual Rust project, I am learning a LOT of Rust while building this. Ownership and borrowing are starting to make more sense, and I’m using structs/enums way more naturally now. The borrow checker and I still have disagreements. I usually lose. ⸻ NEXTTTT Now that Aster has an actual terminal grid, rendering, cursor movement, and basic writing behavior, I want to make it properly interactive. Next up: scrolling keyboard input editing text arrow keys backspace and eventually MULTIPLE TERMINALS because apparently building one terminal was not enough."}, {"post_id": 64426, "ts": "2026-09-08T19:55:04Z", "hours": 1.5822, "text": "Devlog-1 SOOOO I STARTED ASTER A fully customizable terminal emulator + multiplexer written in Rust. and this is also my first actual Rust project. because apparently I looked at Rust and thought the appropriate beginner project was a TERMINAL EMULATOR. I have done a little bit of Rust before, so I am not going in COMPLETELY blind, but I definitely had to dust up on things like borrowing, ownership, structs and enums before I could actually start building this. ⸻ OK BUT WHAT EVEN IS ASTER The goal with Aster is to build my own terminal emulator that I can customize however I want, while also having multiplexer features so I can eventually have multiple terminal sessions, tabs and split panes inside the same window. But before I can have all the cool multiplexer stuff… I need an actual terminal. SO THAT’S WHERE I STARTED. ⸻ THE CELL The first thing I made was a Cell. Basically every single character you see inside a terminal needs somewhere to exist. So instead of thinking of the terminal as one giant string of text, I’m treating it as a grid of individual cells. Each Cell can store a character and information about how that character should be formatted. So if Aster wants to display something like: hello that’s actually five separate cells containing: h e l l o which is weirdly fun to think about. ⸻ THE TERMINAL GRID Then I needed somewhere to store ALL of those cells. I could’ve represented the screen as a 2D structure, but instead I made the terminal grid using one flat Vec. So even though I think about the terminal as: (x, y) the actual data is stored in one long array. To find the correct cell, I convert the coordinates into an index using: y * width + x So if I know the terminal width and the (x, y) coordinate, I know EXACTLY which cell inside the Vec I need. This is basically the foundation for the entire terminal screen. ⸻ AND THEN THE GUI Once I had the terminal state starting to exist, I started working on the GUI. Because having a beautiful Vec full of characters somewhere in memory is great and all… BUT I WOULD LIKE TO ACTUALLY SEE MY TERMINAL. The next step is getting those cells onto the screen and making Aster actually behave like a terminal instead of just being a suspicious Rust data structure. ⸻ RUST SO FAR I am already getting WAY more comfortable with Rust from this. I already was too, because of C++ I understood what borrowing was before this project, but there is a very large difference between reading about borrowing and having the Rust compiler personally inform you that your plans are unacceptable. Enums are also starting to make a lot more sense now that I’m actually using them for something instead of learning them in isolation."}]...
|
Title: Aster by @srithimahi | Stardance
Devlogs:
Title: Aster by @srithimahi | Stardance
Devlogs:
Devlog-1 SOOOO I STARTED ASTER A fully customizable terminal emulator + multiplexer written in Rust. and this is also my first actual Rust project. because apparently I looked at Rust and thought the appropriate beginner project was a TERMINAL EMULATOR. I have done a little bit of Rust before, so I am not going in COMPLETELY blind, but I definitely had to dust up on things like borrowing, ownership, structs and enums before I could actually start building this. ⸻ OK BUT WHAT EVEN IS ASTER The goal with Aster is to build my own terminal emulator that I can customize however I want, while also having multiplexer features so I can eventually have multiple terminal sessions, tabs and split panes inside the same window. But before I can have all the cool multiplexer stuff… I need an actual terminal. SO THAT’S WHERE I STARTED. ⸻ THE CELL The first thing I made was a Cell. Basically every single character you see inside a terminal needs somewhere to exist. So instead of thinking of the terminal as one giant string of text, I’m treating it as a grid of individual cells. Each Cell can store a character and information about how that character should be formatted. So if Aster wants to display something like: hello that’s actually five separate cells containing: h e l l o which is weirdly fun to think about. ⸻ THE TERMINAL GRID Then I needed somewhere to store ALL of those cells. I could’ve represented the screen as a 2D structure, but instead I made the terminal grid using one flat Vec. So even though I think about the terminal as: (x, y) the actual data is stored in one long array. To find the correct cell, I convert the coordinates into an index using: y * width + x So if I know the terminal width and the (x, y) coordinate, I know EXACTLY which cell inside the Vec I need. This is basically the foundation for the entire terminal screen. ⸻ AND THEN THE GUI Once I had the terminal state starting to exist, I started working on the GUI. Because having a beautiful Vec full of characters somewhere in memory is great and all… BUT I WOULD LIKE TO ACTUALLY SEE MY TERMINAL. The next step is getting those cells onto the screen and making Aster actually behave like a terminal instead of just being a suspicious Rust data structure. ⸻ RUST SO FAR I am already getting WAY more comfortable with Rust from this. I already was too, because of C++ I understood what borrowing was before this project, but there is a very large difference between reading about borrowing and having the Rust compiler personally inform you that your plans are unacceptable. Enums are also starting to make a lot more sense now that I’m actually using them for something instead of learning them in isolation.
Devlog-2 ASTER IS STARTING TO ACTUALLY LOOK LIKE A TERMINAL Last time I had the basic terminal state working, where every character on the screen is stored as a Cell inside a flat Vec. Which is cool and all… but a Vec full of letters is not particularly useful if I cannot actually SEE ANYTHING. SOOO I started working on actually rendering the terminal. ⸻ THE TERMINAL GRID Each cell stores a character and its formatting, and Aster converts an (x, y) position into the correct place in the Vec using: y * width + x So instead of having a giant 2D structure, the terminal screen is basically one long array that Aster interprets as rows and columns. Then the renderer can go through those cells and figure out where each character belongs on the screen. AND IT ACTUALLY DISPLAYS TEXT NOW. ⸻ CURSORRRR I also needed Aster to know where the next character should go. So the terminal keeps track of a cursor position. When a character is written, it gets placed into the cell at the cursor, then the cursor moves forward. When it reaches the end of a line, Aster can move down to the next one. Which sounds extremely obvious until you’re the one who has to tell the rectangle how typing works. ⸻ NEWLINES Then I worked on newline behavior. Instead of just throwing characters into the grid forever, Aster needs to understand when to move to another row and what should happen once the cursor reaches the bottom. This is where it started feeling less like “I rendered some text in a Rust window” and more like I was actually building terminal behavior. ⸻ RUST IS ALSO TRYING TO FIGHT ME Since this is my first actual Rust project, I am learning a LOT of Rust while building this. Ownership and borrowing are starting to make more sense, and I’m using structs/enums way more naturally now. The borrow checker and I still have disagreements. I usually lose. ⸻ NEXTTTT Now that Aster has an actual terminal grid, rendering, cursor movement, and basic writing behavior, I want to make it properly interactive. Next up: scrolling keyboard input editing text arrow keys backspace and eventually MULTIPLE TERMINALS because apparently building one terminal was not enough.
Devlog-3 OKAY ASTER IS ACTUALLY BECOMING A TERMINAL NOW Last devlog I finally had the terminal grid rendering, the cursor moving around, and text actually showing up on screen. Which meant obviously the next reasonable step was: MAKE EVERYTHING INTERACTIVE. and then somehow I ended up making a multiplexer too. ⸻ SCROLLINGGGG First I added scrolling. Once the terminal reaches the bottom of the screen, I obviously can’t just let the cursor continue its journey into the void. So now when Aster runs out of rows, the existing terminal content can scroll upward to make space for the next line. I also started keeping the older lines around so I can move through terminal history instead of everything disappearing the second it leaves the visible grid. ⸻ KEYBOARD INPUT THENNN I started making the terminal properly interactive. I added keyboard handling for normal typing, backspace, and special keys. Arrow keys now work too: Up Down Left Right which is important because PowerShell needs those actual key sequences for things like moving around your input and navigating command history. It is VERY satisfying being able to actually type and edit commands inside the terminal I MADE. ⸻ AND THEN I DECIDED ONE TERMINAL WASN’T ENOUGH This is supposed to be a terminal emulator AND multiplexer. SOOOO… TABS. Aster can now have multiple terminal sessions open in the same window. I added shortcuts for creating tabs, switching between them, and closing them. Each tab has its own terminal session, so I can jump between completely separate terminals without opening another Aster window. THIS WAS THE POINT WHERE IT STARTED FEELING LIKE AN ACTUAL APPLICATION. ⸻ BUT APPARENTLY TABS WERE ALSO NOT ENOUGH I STARTED THE MULTIPLEXER. Now a tab can be split into multiple panes so I can have two or more terminals visible at the SAME TIME. Instead of just storing a list of panes, I started representing the layout like a TREE. A node can either be: an actual terminal pane OR a split containing more nodes which means those splits can contain MORE splits. ⸻ RUST UPDATE I am learning an unreasonable amount of Rust from this. Especially ownership and borrowing because now I have tabs containing pane trees containing terminals containing state and Rust would VERY MUCH like to know exactly who owns all of it. Honestly though, it is starting to click. ⸻ ASTER NOW HAS terminal rendering cursor movement scrolling scrollback keyboard input backspace/editing arrow keys multiple tabs multiple terminal sessions split panes recursive pane layouts which is SLIGHTLY more than the suspicious Vec I had a couple devlogs ago. ⸻ NEXTTTT Now that the basic multiplexer exists, I want to make actually USING all these panes feel good. So next: better pane navigation resizing mouse interactions more terminal behavior and inevitably fixing whatever horrifying bugs I have created by making terminals recursively multiply
Devlog-4! So last time, we were done with vertical panes, being able to have multiple tabs and plenty of shortcut keys to move through the tabs, cursor and panes much quicker. PANE STUFF I first added borders to each individual pane because it became visually messy without them and the ability to be able to resize the panes because some panes are more important than the other, obvi. I did the resizing using a regular hand dragging motion and using some simple math using the old width and height and the current hand grabbing motion’s position to calculate the new position of the panes. Switching between panes have become much easier with its own shortcuts: ctrl + shift + (any arrow keys) to move between them. Apparently this was called spatial navigation when I was researching abt it. TEXT SELECTION!!! I did add text selection and copy and paste, because I got sick and tired of having to test some long and painful commands by hand, instead of just copy-pasting it from the internet. Paste => Ctrl + Shift + V and to copy just select the text by hovering over the text, and click and drag the text and Copy => Ctrl + C Added a much more accurate scrollback to retrieve your terminal commands from even before you opened aster. SEARCH UR STUFF you can now also search whatever previous commands you typed into using Ctrl + Shift + F. Yes, I did make it run ASTER aster Aster 100 times to test search😭 so it will do the regular selection point from the start to end of the search terms and show the amount of times it has appeared in the terminal it is just a super simple for loop searching for the particular search terms and the thing is rust is fast as hell, even if there are 10000 instances, rust is super fast just like c++… i have a feeling i fell out of love with java and found someone new Moving on by the next devlog, I want to add some uniquely dedicated panes, maybe a pane that would monitor the RAM and memory usage on the side while you are working on your main pane or even a AI agent pane that would update on the progress of your AI agents. I also want to add a lot more themes, and just make the core template aesthetically pleasing while retaining its bare personality. (and fix the bugs… i have too much of them.
Devlog-5 soooooo last devlog, I said I wanted to add some uniquely dedicated panes, something specific like something that could monitor RAM and memory while I was working. … I may have gotten a little too further in that… like a 10 hours too further SO ALL PANES WONT JUST BE TERMINALS Originally every pane in Aster was fundamentally a terminal. That did work just fine, but I wanted something more cause i like torturing myself… and I refactored the pane’s architecture. Instead of a pane directly holding a terminal, panes can now be different types using a rust enum called PaneKind So, a pane is just like a container and anything in it can be different and it took a longggg longggg time to change all the code for this, but i can add SOOO many more stuff cause of this (i will tease them in the coming up section) System Monitor and then i just accidentally made my first specific pane Ctrl+Shift+M now splits the current pane and opens up a super live System Monitor and it displays CPU usage, Memory usage, Disk usage, Network activity, System uptime, Running processes. Both the CPU and memory have cute little bars. (they use sysinfo to update btw) Process List & Process Inspector and Terminator You can select a process and pressing I or Enter to open up a specific process inspector and it shows the process specific stuff like specific things like name, pid, cpu usage and memory usage. and esc or q can get u out of the specific process. You can kill processes now! just by pressing k in the specific process inspector and saying yes to a confirmation. Though the kill still uses the stored pid, finds the corresponding process through sysinfo and it would request the OS terminate it. (I may have killed Aster… with Aster…) Originally I was just going to show the top five processes anddddd that lasted exactly one run, because I couldnt kill a process as it kept shifting as the cpu usage kept changing. So, i made it so u can see all the processes NEXT While making Aster I realised that WINDOWS TERMINAL ALREADY HAVE A LOT OF THE THINGS I WANTED. SO i am changing directions: instead of making aster just another customizable terminal, i want it to be more of a terminal-centered around developer workspace. SO THIS IS THE FIRST STEP. Next, i want a shortcuts command to show all the shortcuts cause i myself am starting to forget everything. AI Agent monitor so you can see what your agents are doing meanwhile u work. AND yes i need to make the themes… and fix the bugs…
Devlog-6 in the last devlog I ended by saying “Next I want a shortcuts command to show all the shortcuts cause I am STARTING TO FORGET EVERYTHING” …yeahhhh, i made that and an entire command system Aster has COMMANDSSSSS Before this, every action was linked to a keyboard shortcut. That was a mildly questionable. SO i made shortcuts for tabs, panes, zooming, focusing the panes, search, copy, paste, opening the system monitor, blah blah and I was reaching the point where I MADE THE TERMINAL AND EVEN I COULDN’T REMEMBER HOW TO USE IT. So instead of having all those actions just scattered around the keyboard handling code part, so I made a command system So things like NewTab, CloseTab, SplitVertical, SplitHorizontal, and much more are now commands The keyboard shortcuts just execute those commands now instead of each shortcut having its own completely separate logic. whichhhhh also meant I could use those exact same commands from other places… SHORTCUT MENU I did the thing yep! i made the menu There is a shortcuts overlay now that shows the shortcuts for tabs, panes, navigation and other terminal commands. So I no longer need to remember ANYTHING to summon the features. very useful considering this project now has TOOOO MANY CONTROLS COMMAND PALETTE There is also a searchable command palette now. So when you open it and start typing it, it would filter out the available aster commands. Then you can select any one command you like and execute it just by clicking enter ASTER HAS : COMMANDS ok my absolute favourite feature. If you just type : in a fresh terminal input, Aster would intercept and open its OWN COMMAND LINE AHGHHHH. I can now do things like :themes , :monitor, :shortcuts and these are SPECIFICALLY aster command, not for powershell BTW IT ALSO HAS AUTOCOMPLETE when you click tab after you typed some of your commands out. A BUNCH MORE THEMES I have been planning this for too long and NOW THEY EXIST Now Aster has themes like: stardance, nebula, sunshine, mono and you can change them in the shortcuts command line. NEXTTTT Aster is much much closer to where I wanted it to be. I only want some more patches here and there for this iteration of this project FOR THE FINAL STRETCH: Polish the Monitor Make the process killing a bit more safer Polish the theme and command UI Hunt down bugs and make everything feel finished AND THENNNNN ASTER IS DONE (for now)
Devlog-7 in the last devlog I said: “AND THENNNNN ASTER IS DONE (for now)” WELLLLLL I DID IT. ASTER IS DONEEEEEEEEE but obviously not before it found 700 new ways to break. THE SYSTEM MONITOR GOT AN UPGRADEEEE The process list is actually useful now instead of being a giant wall of processes. I added process filtering! Press / , type a process name or PID, and Aster filters the list live. You can select a process, inspect it, and kill it. which led to the realization that perhaps my terminal should not casually murder processes with no confirmation. SOOO process killing now has a confirmation screen AND Aster prevents itself from killing its own process. no Aster-on-Aster violence allowed. COMMANDS GOT BETTERRRR The : command system got more polish! It now has command history with the up/down arrows, autocomplete got improved, and themes now support things like: :theme next :theme previous Aster also keeps track of the currently active theme. AND themes are dynamic now! Aster discovers .toml files from the themes/ folder instead of having every theme hardcoded. The final themes are Stardance, Nebula, Sunshine, and Mono. TAB NAMES + TEXT SELECTION Tabs can now have their own names!! I also polished text selection so the mouse becomes a text cursor only when you’re actually hovering over terminal text, and clicking random empty space doesn’t create a mysterious selection from the void. tiny details but they make Aster feel SO much more finished. THE FOREHEAD oh my god. When I resized Aster vertically, sometimes a giant empty region appeared ABOVE all the terminal content. BUT I FIXED IT SO IM DONE FINAL CLEANUP I deleted all the debugging stuff that accumulated while I was fighting these bugs, including my PTY byte debugger. I also discovered a ReloadConfig command that did absolutely nothing except print: Config reload coming next yeahhhhh that got removed. NO FAKE FEATURES ALLOWED. AND THEN THE SCARIEST TEST I pushed everything. Made a completely fresh clone of the GitHub repo. Ran: cargo run --release AND IT WORKED. fonts worked. themes worked. terminal worked. everything launched from the clean clone. SO IT’S NOT JUST WORKING BECAUSE MY COMPUTER HAS DEVELOPED A PERSONAL RELATIONSHIP WITH THE CODEBASE. ASTER IS DONEEEEE I started this project thinking: “wait terminals are cool, what if I make one” while knowing basically no Rust. and somehow ended up learning SOOOOO much Aster started as a terminal emulator + multiplexer and slowly became a terminal-centered developer workspace. There are SO MANY directions I could take it later. BUT NOT TODAY. because if I add another feature I will never ship this thing. NEXTTTT ASTER IS GETTING SHIPPED. I MADE A TERMINAL WHAT THE HELL
Ships:
ASTER IS DONEEEEE I MADE A TERMINAL. IN RUST. SOMEHOW. Aster is a custom terminal emulator + multiplexer I built basically from scratch while learning Rust. It started with me wondering what actually happens underneath a terminal. Then I learned that a terminal is NOT the shell, discovered PTYs and ANSI escape sequences, built my own terminal grid/parser/renderer, and accidentally entered one of the deepest rabbit holes of my life. Aster now has: PTY-backed PowerShell sessions ANSI/VT parsing + custom terminal rendering tabs and recursive split panes draggable pane resizing + zooming text selection, clipboard, scrollback and search dynamic pane/tab titles a built-in System Monitor process filtering, inspection and safe process killing Aster’s own : command system searchable command palette + shortcuts menu command history + autocomplete runtime themes dynamic theme discovery Stardance, Nebula, Sunshine and Mono themes The coolest architectural change happened when I realized panes didn’t have to contain terminals. I refactored Aster so panes can contain different tools, which is how the System Monitor became a first-class pane. That turned Aster from just a terminal + multiplexer into the beginning of a terminal-centered developer workspace. And OH MY GOD THE BUGS. I had ghost characters because I hadn’t implemented ANSI ECH. ConPTY and my terminal disagreed about their dimensions. I started this project knowing basically no Rust and ended up learning about ownership, PTYs, ANSI/VT sequences, terminal state machines, recursive pane trees, rendering, process management, terminal geometry, and how unbelievably complicated the rectangle I type commands into actually is. For the final test, I cloned Aster into a completely fresh directory and ran: cargo run --release AND IT WORKED. SO YAYYYYYY!!!!...
|
1793638462.2936141
|
1793724862.2936141
|
|
61161
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860861.9191613
|
1793724861.9191613
|
|
68389
|
French-Reader-Helper by @tanishqisfire | Stardance
|
tanishqisfire
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: French-Reader-Helper by @tanishqisfire | St Title: French-Reader-Helper by @tanishqisfire | Stardance...
|
1793120061.6053855
|
1793724861.6053855
|
|
61156
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860861.100047
|
1793724861.100047
|
|
61153
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860860.282323
|
1793724860.282323
|
|
68388
|
French-reading-helper by @tanishqisfire | Stardanc French-reading-helper by @tanishqisfire | Stardance...
|
tanishqisfire
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: French-reading-helper by @tanishqisfire | S Title: French-reading-helper by @tanishqisfire | Stardance...
|
1793120059.820541
|
1793724859.820541
|
|
61149
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860859.4583478
|
1793724859.4583478
|
|
61146
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860858.642494
|
1793724858.642494
|
|
61139
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860857.8276267
|
1793724857.8276267
|
|
61134
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860856.9945393
|
1793724856.9945393
|
|
61133
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860855.8687613
|
1793724855.8687613
|
|
68387
|
My awesome macropad! by @javalisushanth | Stardanc My awesome macropad! by @javalisushanth | Stardance...
|
javalisushanth
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @javalisushanth | S Title: My awesome macropad! by @javalisushanth | Stardance...
|
1793120055.7654366
|
1793724855.7654366
|
|
61127
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860855.032817
|
1793724855.032817
|
|
68385
|
AI Assistant Jarvis Deskbuddy by @mrabdullahsubhan AI Assistant Jarvis Deskbuddy by @mrabdullahsubhan123 | Stardance...
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: AI Assistant Jarvis Deskbuddy by @mrabdulla Title: AI Assistant Jarvis Deskbuddy by @mrabdullahsubhan123 | Stardance...
|
1793120054.9203746
|
1793724854.9203746
|
|
61114
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860854.226904
|
1793724854.226904
|
|
61112
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860853.4053347
|
1793724853.4053347
|
|
61105
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860852.5859742
|
1793724852.5859742
|
|
68384
|
Sheet Music by @s_ray9 | Stardance
|
s_ray9
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Sheet Music by @s_ray9 | Stardance
|
1793120052.0227976
|
1793724852.0227976
|
|
61104
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860851.760044
|
1793724851.760044
|
|
68383
|
Untitled project by @Arshiya_barmare | Stardance
|
Arshiya_barmare
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Arshiya_barmare | Star Title: Untitled project by @Arshiya_barmare | Stardance...
|
1793120051.1695557
|
1793724851.1695557
|
|
61103
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860850.955464
|
1793724850.955464
|
|
61101
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860850.1421137
|
1793724850.1421137
|
|
68380
|
My awesome macropad! by @salaar12_dev | Stardance
|
salaar12_dev
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @salaar12_dev | Sta Title: My awesome macropad! by @salaar12_dev | Stardance...
|
1793120049.3764184
|
1793724849.3764184
|
|
61100
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860849.334949
|
1793724849.334949
|
|
61094
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860848.4816158
|
1793724848.4816158
|
|
61093
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860847.6391962
|
1793724847.6391962
|
|
68379
|
My awesome macropad! by @guytheseventh | Stardance
|
guytheseventh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @guytheseventh | St Title: My awesome macropad! by @guytheseventh | Stardance...
|
1793120047.3283184
|
1793724847.3283184
|
|
61092
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792860846.8151693
|
1793724846.8151693
|
|
68377
|
Game jam game by @TomNook | Stardance
|
TomNook
|
0
|
8.46
|
0
|
[]
|
[{"post_id": 77453, "ts": "202 [{"post_id": 77453, "ts": "2026-10-07T02:13:26Z", "hours": 8.465, "text": "AGH I FORGOT TO ADD THIS AS A STARDANCE PROJECT!!!!! anyways to catch you up, i first addedmap drawing, then player controls, then decided to move to one-button controls (one button platformer to fit the theme better), i added a ton of frameworks for effects, entitys, and background effects, music which i made, and now i need to finish the main-game loop and stuff IDK IM SO TIRED IVE BEEN WORKING ON THIS FOR SO LONG AUGH WHY DIDNT I ADD THIS TO STARDANCE EARLIER NOW PEOPLE PROLLY GONNA THINK ITS FRAUD IOI"}]...
|
Title: Game jam game by @TomNook | Stardance
Devl Title: Game jam game by @TomNook | Stardance
Devlogs:
AGH I FORGOT TO ADD THIS AS A STARDANCE PROJECT!!!!! anyways to catch you up, i first addedmap drawing, then player controls, then decided to move to one-button controls (one button platformer to fit the theme better), i added a ton of frameworks for effects, entitys, and background effects, music which i made, and now i need to finish the main-game loop and stuff IDK IM SO TIRED IVE BEEN WORKING ON THIS FOR SO LONG AUGH WHY DIDNT I ADD THIS TO STARDANCE EARLIER NOW PEOPLE PROLLY GONNA THINK ITS FRAUD IOI...
|
1793120045.5087776
|
1793724845.5087776
|