|
40346
|
Turkey Jazz by @poepe | Stardance
|
poepe
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Turkey Jazz by @poepe | Stardance
|
1793278313.1734514
|
1793883113.1734514
|
|
31309
|
Life Beyond Earth by @rupparna | Stardance
|
rupparna
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Life Beyond Earth by @rupparna | Stardance
|
1793278314.0453248
|
1793883114.0453248
|
|
1402
|
My first slack bot! by @purohitaditya593 | Stardan My first slack bot! by @purohitaditya593 | Stardance...
|
purohitaditya593
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @purohitaditya593 | Title: My first slack bot! by @purohitaditya593 | Stardance...
|
1793278316.1678085
|
1793883116.1678085
|
|
3414
|
Untitled by @ishaank | Stardance
|
ishaank
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @ishaank | Stardance
|
1793278317.0829034
|
1793883117.0829034
|
|
17850
|
RecipeRestor by @not-willem | Stardance
|
not-willem
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: RecipeRestor by @not-willem | Stardance
|
1793278317.9398203
|
1793883117.9398203
|
|
21654
|
Frictionless by @MohamedElrayih | Stardance
|
MohamedElrayih
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @MohamedElrayih | Stardance
|
1793278320.0315013
|
1793883120.0315013
|
|
2462
|
Arduino Spider robot (Quadruped) by @aarav_ | Star Arduino Spider robot (Quadruped) by @aarav_ | Stardance...
|
aarav_
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Arduino Spider robot (Quadruped) by @aarav_ Title: Arduino Spider robot (Quadruped) by @aarav_ | Stardance...
|
1793278320.9445767
|
1793883120.9445767
|
|
13413
|
Untitled by @v40565 | Stardance
|
v40565
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @v40565 | Stardance
|
1793278321.8366249
|
1793883121.8366249
|
|
18256
|
Untitled by @jam06452 | Stardance
|
jam06452
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @jam06452 | Stardance
|
1793278322.7237551
|
1793883122.7237551
|
|
39580
|
hard by @s-r3-2388 | Stardance
|
s-r3-2388
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: hard by @s-r3-2388 | Stardance
|
1793278323.618393
|
1793883123.618393
|
|
32675
|
My very own WebOS by @Kirill | Stardance
|
Kirill
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Kirill | Stardance
|
1793278325.7673602
|
1793883125.7673602
|
|
29196
|
Autonomous humanoid robot by @Coder101 | Stardance
|
Coder101
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Autonomous humanoid robot by @Coder101 | St Title: Autonomous humanoid robot by @Coder101 | Stardance...
|
1793278326.7117438
|
1793883126.7117438
|
|
25966
|
Untitled by @pia-potato | Stardance
|
pia-potato
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @pia-potato | Stardance
|
1793278333.1936746
|
1793883133.1936746
|
|
38356
|
Untitled project by @Sakshyamkhatiwada | Stardance
|
Sakshyamkhatiwada
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Sakshyamkhatiwada | St Title: Untitled project by @Sakshyamkhatiwada | Stardance...
|
1793278334.5000327
|
1793883134.5000327
|
|
36952
|
Untitled by @Mima | Stardance
|
Mima
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Mima | Stardance
|
1793278335.3884945
|
1793883135.3884945
|
|
6710
|
My first slack bot! by @Nerad | Stardance
|
Nerad
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Nerad | Stardance
|
1793278337.4614644
|
1793883137.4614644
|
|
32735
|
Untitled by @SpOnCars | Stardance
|
SpOnCars
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @SpOnCars | Stardance
|
1793278338.393452
|
1793883138.393452
|
|
9290
|
Untitled project by @me24b159 | Stardance
|
me24b159
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @me24b159 | Stardance
|
1793278340.7223635
|
1793883140.7223635
|
|
20295
|
My first slack bot! by @Manit | Stardance
|
Manit
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Manit | Stardance
|
1793278341.6055834
|
1793883141.6055834
|
|
6934
|
My first slack bot! by @Kyan | Stardance
|
Kyan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Kyan | Stardance
|
1793278342.4752915
|
1793883142.4752915
|
|
36667
|
mamahealth by @nlktech | Stardance
|
nlktech
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: mamahealth by @nlktech | Stardance
|
1793278343.372916
|
1793883143.372916
|
|
34798
|
Frictionless by @silverdawn | Stardance
|
silverdawn
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @silverdawn | Stardance
|
1793278344.2550595
|
1793883144.2550595
|
|
4916
|
ai agent by @jerry | Stardance
|
jerry
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ai agent by @jerry | Stardance
|
1793278346.1006188
|
1793883146.1006188
|
|
31165
|
My first slack bot! by @juarezjayleen | Stardance
|
juarezjayleen
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @juarezjayleen | Sta Title: My first slack bot! by @juarezjayleen | Stardance...
|
1793278347.0126853
|
1793883147.0126853
|
|
4389
|
My awesome macropad! by @The_Redel_Guy | Stardance
|
The_Redel_Guy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @The_Redel_Guy | St Title: My awesome macropad! by @The_Redel_Guy | Stardance...
|
1793278347.9305568
|
1793883147.9305568
|
|
14908
|
My first slack bot! by @Iamhumanithink24 | Stardan My first slack bot! by @Iamhumanithink24 | Stardance...
|
Iamhumanithink24
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Iamhumanithink24 | Title: My first slack bot! by @Iamhumanithink24 | Stardance...
|
1793278349.696461
|
1793883149.696461
|
|
16306
|
Untitled project by @vrishti_patidar_13 | Stardanc Untitled project by @vrishti_patidar_13 | Stardance...
|
vrishti_patidar_13
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @vrishti_patidar_13 | S Title: Untitled project by @vrishti_patidar_13 | Stardance...
|
1793278351.8357198
|
1793883151.8357198
|
|
9581
|
Volumetric clouds by @Thino | Stardance
|
Thino
|
0
|
40.03
|
0
|
[]
|
[{"post_id": 23142, "ts": "202 [{"post_id": 23142, "ts": "2026-07-05T22:20:39Z", "hours": 6.3236, "text": "Devlog 9 - Super duper optimization So I was watching some shader-related video on yt where they explained that the heavy hitter on performance is sampling and not calculations. So I decided to redo some stuff and holy shit I can render at full res with almost 200 fps with MORE detail. So yeah what I did was basically rework how I generate and sample my noise which made it run so much better (Also still a WIP the repetition will be dealt with and the values will be tuned for better details)"}, {"post_id": 21856, "ts": "2026-07-04T00:23:47Z", "hours": 2.515, "text": "Devlog 8 - Added a new option for steps and experimented I added a setting so that instead of each step being the same distance you can chose how many steps it’s going to take and then it bases it on the distance betweeen the entrance and the exit to of the bounding box. I also experimented with settings trying to make it look good as clouds and yeah its starting to look really good. And lastly I added blur since the samples are kinda noisy"}, {"post_id": 21658, "ts": "2026-07-03T18:42:55Z", "hours": 3.9739, "text": "Devlog 7 - I Added bounding boxes and shadows So I added bounding boxes like I have been wanting to and it was suprisingly easy using the slab method, I also added shadows which gives the coulds so much more depth So for the bounding boxes I use the slab method which return the entry and exit position of a ray for a grid aligned bounding box for very cheap. It is also easy to see if it doesn’t intersect because the exit position is closer than the entrance position so you can return early. For the shadows I do another lower quality raymarch for each step in the main raymarch towards the sun to see how much cloud is in the way. I am also having some problems with the Henyey Greenstein function returning abnormally huge numbers so that is turned off rn while I investigate further."}, {"post_id": 20367, "ts": "2026-07-01T23:08:08Z", "hours": 4.0533, "text": "Devlog 6 - Finally completing the port to the compute shader I was finally able to port the volumetrics to the compute shader which allows it to run at 1/2 or 1/4 res improving the performance greatly. I also tried making a cloud layer which is what you can see in the image. It still look kinda bad but trust it will become better with time. It’s also running at a stable 200 fps with 1000 max distance which is great! Next I want to add proper bounding Boxes since this is just skipping the step if its outside the y range of 60 - 70 which isn’t very efficient. I also want to add internal shadows so for each step in the raycast it will send out another raycast to see how much light it gets, hopefully that can make it less flat."}, {"post_id": 20073, "ts": "2026-07-01T16:15:42Z", "hours": 3.2406, "text": "#Devlog 5.5 - I hate unity I just wanted to post a devlog since I haven’t done so in a long time but also I haven’t added a complete feature so that’s why I did 5.5 instead of 6. Basically I have spent a couple of hours trying to get the worldpos in a compute shader since it’s a whole different process compared to the normal shaders. It’s honestly insane that something that takes like 3 lines of code in one shader takes like hundreds distributed through multiple scripts in another. Anyways now that I have the worldpos in the compute shader the rest should be a breeze! (Image showing the texture generated by the compute shader in which red is the decimal part of x, green is the same but for y, and green for z)"}, {"post_id": 17126, "ts": "2026-06-27T20:09:34Z", "hours": 3.56, "text": "#Devlog 5 - Major fog improvements Added: Lights and shadow Perlin noise smaller fixes / optimizations What I have done So since last devlog I have made the fog pickup lights and shadows from the main light, it’s very easy to do since unity provides the values for me. I also added perlin noise to the noise generator along with the worley, I use the perlin as the base for the fog and the worley to make the edges more detailed with remapping. I have also made some smaller optimizations like the raymarching stopping if the transmittance (the value which decided how much fog there is) gets so high that any additional fog wouldn’t make a noticeable difference. What next? Make the clouds render at half / quarter res and blur to increase performance Add bounding boxes for more control over where the fog goes Add textures and tress and grass and stuff Side note: My friend @Lazyllama is going to join me and he will be making more of the game mechanics so that I can focus on this."}, {"post_id": 15983, "ts": "2026-06-25T23:11:17Z", "hours": 8.4239, "text": "Devlog 4 - Some major changes to the project So basically during some time I had no motivation at all to work on the game, I think it’s mostly because I spent this whole spring making a game whh I wasn’t really happy with. Anyways I decided to force myself into making it and while adding some simple fog based on distance I decided that it didn’t look right and went down a rabbit hole of volumetric fog (procrastination). Anyways I realized that while I was procrastinating I was genuinely interested in this and other things that I guess would fall into the category “Graphics programming”. Anyways what I wanted to say was that the game will most likely not be a fishing game, maybe there will be some kind of game mechanics added but I’m going to focus on learning more of what I find interesting. Also During the time between this and last devlog I have been working on volumetric fog and generating noise through fullscreen shaders and compute shaders. Right now I use worley noise for the fog although it still look very bad since it is IN DEVELOPMENT. Anyways thanks for reading and I hope the next devlog isn’t for 8h and also has some better images! (Yes this is volumetric I know it doesn’t look like what you would associate with volumetric rendering since it isn’t affected by lighting and stuff and also looks kinda 3d I don’t know what’s going on with that)"}, {"post_id": 11295, "ts": "2026-06-18T14:08:37Z", "hours": 3.4128, "text": "Devlog 3 - Movement I finally added some movement as I felt it was important to see how the ocean looks from the players perspective. I had, and still have, some issues with it which will be fixed when I figure out what is causing them. I will try to implement a LOD system for the ocean because I think the huge ocean is what is making the game stutter. Also I’m not sure if you can upload videos so this will be a test for that."}, {"post_id": 4595, "ts": "2026-06-07T23:10:58Z", "hours": 2.0025, "text": "Devlog 2 - Refining the water I did some major changes to how the water looks, first of all I increased the amount of waves to make it less repetitive. I now have 40 waves with random direction and magnitude. I also changed the water to have a more low polygon look using per face normals. I made this change because I am going to make all the assets myself and as a beginner in 3d modelling I should stick to simple models, and my game should follow that theme. Whats next? I want to add a system that allows me to make waves randomly as I do have to make like 4 numbers for each wave that all work together. Also adding some actual gameplay would be nice."}, {"post_id": 3824, "ts": "2026-06-06T21:40:30Z", "hours": 2.5211, "text": "Devlog 1 - Getting wet with unity’s shadergraphs I decided to start working on my project today since I had literally nothing else to do. So i booted up unity and got started with making some terrain which turned out to be not terrible. After that it was time for water, since my game is a fishing game I decided that water would be pretty important, and so I would spend a lot of time making sure it looks good. Research I did some research on how other games handle water, and after deciding I in fact did not want to struggle with FFTs i decided to use the sum of some Gerstner waves (a.k.a trochoidal waves). I booted up desmos since it’s great for solving the math part before moving on to the coding part, and after getting something that worked I started working on making it to a shader. ( Image 1: desmos waves ) Making the shader After playing around with the shadergraph to make sure I understood how it works I got started making the actual waves. I had to make a custom function in HLSL both for vertex displacement and for getting the normal values. After hooking it all up I had some actual waves. Now of course this didn’t go as smoothly as described, as most of my time went into debugging and trying to understand how shadergraphs work. ( Image 2: waves in unity!!! 🥹🥹🥹) What comes next? So after this I want to make the water look like actual water and maybe take a look at making the waves less repetitive, although it is pretty hard to see from the players perspective. I will make sure to come back to this when I have a better idea of what it will all look like. Anyways I’ll see you later and I hope you have as much fun making stuff as I do! ✨"}]...
|
Title: Volumetric clouds by @Thino | Stardance
De Title: Volumetric clouds by @Thino | Stardance
Devlogs:
Devlog 1 - Getting wet with unity’s shadergraphs I decided to start working on my project today since I had literally nothing else to do. So i booted up unity and got started with making some terrain which turned out to be not terrible. After that it was time for water, since my game is a fishing game I decided that water would be pretty important, and so I would spend a lot of time making sure it looks good. Research I did some research on how other games handle water, and after deciding I in fact did not want to struggle with FFTs i decided to use the sum of some Gerstner waves (a.k.a trochoidal waves). I booted up desmos since it’s great for solving the math part before moving on to the coding part, and after getting something that worked I started working on making it to a shader. ( Image 1: desmos waves ) Making the shader After playing around with the shadergraph to make sure I understood how it works I got started making the actual waves. I had to make a custom function in HLSL both for vertex displacement and for getting the normal values. After hooking it all up I had some actual waves. Now of course this didn’t go as smoothly as described, as most of my time went into debugging and trying to understand how shadergraphs work. ( Image 2: waves in unity!!! 🥹🥹🥹) What comes next? So after this I want to make the water look like actual water and maybe take a look at making the waves less repetitive, although it is pretty hard to see from the players perspective. I will make sure to come back to this when I have a better idea of what it will all look like. Anyways I’ll see you later and I hope you have as much fun making stuff as I do! ✨
Devlog 2 - Refining the water I did some major changes to how the water looks, first of all I increased the amount of waves to make it less repetitive. I now have 40 waves with random direction and magnitude. I also changed the water to have a more low polygon look using per face normals. I made this change because I am going to make all the assets myself and as a beginner in 3d modelling I should stick to simple models, and my game should follow that theme. Whats next? I want to add a system that allows me to make waves randomly as I do have to make like 4 numbers for each wave that all work together. Also adding some actual gameplay would be nice.
Devlog 3 - Movement I finally added some movement as I felt it was important to see how the ocean looks from the players perspective. I had, and still have, some issues with it which will be fixed when I figure out what is causing them. I will try to implement a LOD system for the ocean because I think the huge ocean is what is making the game stutter. Also I’m not sure if you can upload videos so this will be a test for that.
Devlog 4 - Some major changes to the project So basically during some time I had no motivation at all to work on the game, I think it’s mostly because I spent this whole spring making a game whh I wasn’t really happy with. Anyways I decided to force myself into making it and while adding some simple fog based on distance I decided that it didn’t look right and went down a rabbit hole of volumetric fog (procrastination). Anyways I realized that while I was procrastinating I was genuinely interested in this and other things that I guess would fall into the category “Graphics programming”. Anyways what I wanted to say was that the game will most likely not be a fishing game, maybe there will be some kind of game mechanics added but I’m going to focus on learning more of what I find interesting. Also During the time between this and last devlog I have been working on volumetric fog and generating noise through fullscreen shaders and compute shaders. Right now I use worley noise for the fog although it still look very bad since it is IN DEVELOPMENT. Anyways thanks for reading and I hope the next devlog isn’t for 8h and also has some better images! (Yes this is volumetric I know it doesn’t look like what you would associate with volumetric rendering since it isn’t affected by lighting and stuff and also looks kinda 3d I don’t know what’s going on with that)
#Devlog 5 - Major fog improvements Added: Lights and shadow Perlin noise smaller fixes / optimizations What I have done So since last devlog I have made the fog pickup lights and shadows from the main light, it’s very easy to do since unity provides the values for me. I also added perlin noise to the noise generator along with the worley, I use the perlin as the base for the fog and the worley to make the edges more detailed with remapping. I have also made some smaller optimizations like the raymarching stopping if the transmittance (the value which decided how much fog there is) gets so high that any additional fog wouldn’t make a noticeable difference. What next? Make the clouds render at half / quarter res and blur to increase performance Add bounding boxes for more control over where the fog goes Add textures and tress and grass and stuff Side note: My friend @Lazyllama is going to join me and he will be making more of the game mechanics so that I can focus on this.
#Devlog 5.5 - I hate unity I just wanted to post a devlog since I haven’t done so in a long time but also I haven’t added a complete feature so that’s why I did 5.5 instead of 6. Basically I have spent a couple of hours trying to get the worldpos in a compute shader since it’s a whole different process compared to the normal shaders. It’s honestly insane that something that takes like 3 lines of code in one shader takes like hundreds distributed through multiple scripts in another. Anyways now that I have the worldpos in the compute shader the rest should be a breeze! (Image showing the texture generated by the compute shader in which red is the decimal part of x, green is the same but for y, and green for z)
Devlog 6 - Finally completing the port to the compute shader I was finally able to port the volumetrics to the compute shader which allows it to run at 1/2 or 1/4 res improving the performance greatly. I also tried making a cloud layer which is what you can see in the image. It still look kinda bad but trust it will become better with time. It’s also running at a stable 200 fps with 1000 max distance which is great! Next I want to add proper bounding Boxes since this is just skipping the step if its outside the y range of 60 - 70 which isn’t very efficient. I also want to add internal shadows so for each step in the raycast it will send out another raycast to see how much light it gets, hopefully that can make it less flat.
Devlog 7 - I Added bounding boxes and shadows So I added bounding boxes like I have been wanting to and it was suprisingly easy using the slab method, I also added shadows which gives the coulds so much more depth So for the bounding boxes I use the slab method which return the entry and exit position of a ray for a grid aligned bounding box for very cheap. It is also easy to see if it doesn’t intersect because the exit position is closer than the entrance position so you can return early. For the shadows I do another lower quality raymarch for each step in the main raymarch towards the sun to see how much cloud is in the way. I am also having some problems with the Henyey Greenstein function returning abnormally huge numbers so that is turned off rn while I investigate further.
Devlog 8 - Added a new option for steps and experimented I added a setting so that instead of each step being the same distance you can chose how many steps it’s going to take and then it bases it on the distance betweeen the entrance and the exit to of the bounding box. I also experimented with settings trying to make it look good as clouds and yeah its starting to look really good. And lastly I added blur since the samples are kinda noisy
Devlog 9 - Super duper optimization So I was watching some shader-related video on yt where they explained that the heavy hitter on performance is sampling and not calculations. So I decided to redo some stuff and holy shit I can render at full res with almost 200 fps with MORE detail. So yeah what I did was basically rework how I generate and sample my noise which made it run so much better (Also still a WIP the repetition will be dealt with and the values will be tuned for better details)...
|
1793278353.6751642
|
1793883153.6751642
|
|
7177
|
Minecraft revamped by @rubintruben | Stardance
|
rubintruben
|
0
|
4.28
|
0
|
[]
|
[{"post_id": 2986, "ts": "2026 [{"post_id": 2986, "ts": "2026-06-05T22:19:16Z", "hours": 4.2822, "text": "Made basic terrain generation and rendering with optimalizations"}]...
|
Title: Minecraft revamped by @rubintruben | Starda Title: Minecraft revamped by @rubintruben | Stardance
Devlogs:
Made basic terrain generation and rendering with optimalizations...
|
1793278354.857269
|
1793883154.857269
|
|
12357
|
My awesome macropad! by @eyu5 | Stardance
|
eyu5
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @eyu5 | Stardance
|
1793278356.6743577
|
1793883156.6743577
|
|
27664
|
My awesome macropad! by @jonathanelazar89 | Starda My awesome macropad! by @jonathanelazar89 | Stardance...
|
jonathanelazar89
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @jonathanelazar89 | Title: My awesome macropad! by @jonathanelazar89 | Stardance...
|
1793278358.8329506
|
1793883158.8329506
|
|
21667
|
Autonomous Quantitative Finance Program by @Apollo Autonomous Quantitative Finance Program by @Apollo1955 | Stardance...
|
Apollo1955
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Autonomous Quantitative Finance Program by Title: Autonomous Quantitative Finance Program by @Apollo1955 | Stardance...
|
1793278359.739791
|
1793883159.739791
|
|
11047
|
My first slack bot! by @ItsMagic | Stardance
|
ItsMagic
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @ItsMagic | Stardanc Title: My first slack bot! by @ItsMagic | Stardance...
|
1793278361.9108074
|
1793883161.9108074
|
|
20098
|
My very own WebOS by @sardormahmudov | Stardance
|
sardormahmudov
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @sardormahmudov | Star Title: My very own WebOS by @sardormahmudov | Stardance...
|
1793278362.8476057
|
1793883162.8476057
|
|
7501
|
Python Hangman by @nullObject | Stardance
|
nullObject
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Python Hangman by @nullObject | Stardance
|
1793278366.4279652
|
1793883166.4279652
|
|
6680
|
Untitled by @moomoomoov | Stardance
|
moomoomoov
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @moomoomoov | Stardance
|
1793278370.165348
|
1793883170.165348
|
|
19769
|
About me by @oska3435 | Stardance
|
oska3435
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: About me by @oska3435 | Stardance
|
1793278372.452453
|
1793883172.452453
|
|
23161
|
My awesome macropad! by @A-B | Stardance
|
A-B
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @A-B | Stardance
|
1793278373.3225653
|
1793883173.3225653
|
|
15218
|
HDMI Switch by @niller_branthon | Stardance
|
niller_branthon
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: HDMI Switch by @niller_branthon | Stardance
|
1793278375.1147351
|
1793883175.1147351
|
|
6563
|
website by @yanyans360 | Stardance
|
yanyans360
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: website by @yanyans360 | Stardance
|
1793278376.0151153
|
1793883176.0151153
|
|
30726
|
Covered in gloves - Journaling but better by @Spin Covered in gloves - Journaling but better by @Spinzi | Stardance...
|
Spinzi
|
0
|
1.77
|
0
|
[]
|
[{"post_id": 23026, "ts": "202 [{"post_id": 23026, "ts": "2026-07-05T19:13:34Z", "hours": 1.7708, "text": "Today I worked on adding a new feature to the journal: tracking. It is used with the built in questions system, where everything in the journal is a question with an answer. Based on the processed value of true or false, it creates a graph.Why use this graph?You, as the user, create your own set of questions, and you can make them focus on self-improvement. Using this graph, you can see your good and bad days, understand why a day was successful or not, and use that information to improve yourself. More updates will improve this graph by adding more information, support for special question types (e.g., weight tracking), and links to go directly to a specific day."}]...
|
Title: Covered in gloves - Journaling but better b Title: Covered in gloves - Journaling but better by @Spinzi | Stardance
Devlogs:
Today I worked on adding a new feature to the journal: tracking. It is used with the built in questions system, where everything in the journal is a question with an answer. Based on the processed value of true or false, it creates a graph.Why use this graph?You, as the user, create your own set of questions, and you can make them focus on self-improvement. Using this graph, you can see your good and bad days, understand why a day was successful or not, and use that information to improve yourself. More updates will improve this graph by adding more information, support for special question types (e.g., weight tracking), and links to go directly to a specific day....
|
1793278376.9425466
|
1793883176.9425466
|
|
29145
|
Codeliver by @tonymac129 | Stardance
|
tonymac129
|
0
|
33.29
|
0
|
[]
|
[{"post_id": 84107, "ts": "202 [{"post_id": 84107, "ts": "2026-10-29T03:59:04Z", "hours": 3.7086, "text": "Direct messages! Another massive devlog with a ton of updates and changes! I really need to lock in on this project if I want to be able to finish it and ship before Stardance ends You can now create DMs on Codeliver to directly message other users! I added a browse user modal where you can search for a user by their name and email, and clicking on the message option creates a new DM A DM is basically identical to a channel, (so it was surprisingly easy to implement) except it’s private to only the two of you and no one else can join or see your messages You can view DMs on the left chat sidebar below your channels, as well as on the new DM homepage that lists all your recent DMs and message previews, as well as a search bar and a add DM button to make browsing and managing your DMs easier You can also leave and rejoin DMs whenever, similar to channels, and DMs show up a little differently since they’re named after the other user and don’t need as much customization/settings as normal channels Since I added a DM homepage listing all the DMs, I also created a channel homepage that displays all the channels you’ve joined, as well as a search bar and a join channel button to make viewing all your different messages a lot more convenient Updated some content and layout styling on the landing homepage preview Updated types, schema, and styling Removed some originally planned pages like notifications and settings because I procrastinated so much and can’t implement them in 3 days"}, {"post_id": 82514, "ts": "2026-10-25T03:02:46Z", "hours": 4.5256, "text": "Codeliver is back!!! Stardance is ending in 7 days , and I’ve been coming back to finish some of my abandoned temporarily paused projects from a few months ago, and now it’s time for me to finally complete and ship my final project on Stardance: Codeliver!!! I already logged a few hours before moving on from Codeliver to another project and abandoning it for like 3 months, but I can’t remember exactly what I did so this devlog will only cover the 2 hours I logged recently In this update, I dockerized the entire application into a docker compose of 2 containers, express.js backend and Next.js frontend, and configured the environment variables, ports, and build and setup instructions to make the fullstack app a lot easier to deploy or self host in case anyone wants to run their own instance of Codeliver Added complete support for light mode for the entire platform, which is basically my method of refamiliarizing myself with an abandoned code base after a long time since this basically means going through the entire app again to modify every file and component’s styling/Tailwind classes Added message replies, where you can hover over a message and click on the reply button, and if a message is replying to another message it’ll show a thread linking back and highlighting the original message when clicked (similar to Discord’s reply) Fixed some display issues and permission bugs Hopefully I can quickly finish Codeliver (there are still a TON of stuff to be done before it’s functional and shippable ) and ship it in time, or maybe even have time to ship another project(?), especially since I’m also doing right now and am super busy with school…"}, {"post_id": 30408, "ts": "2026-07-17T22:20:58Z", "hours": 2.6406, "text": "More channel & user management features I’ve been pretty busy this past week and haven’t been able to spend a lot of time on Codeliver or Stardance in general until now. Hopefully I’ll have more time the rest of the summer do get more hours and actually finish my projects In this update, I added channel settings, some channel ownership and user management features for each channel, as well as the ability to delete channels When you click on the new channel settings icon in a channel (that only shows if you’re the owner), a settings modal pops up, currently only with 2 options, transfer ownership and delete channel When you click on transfer ownership, another modal pops up where you can search for a user already added to the channel, select them, and transfer channel ownership after confirmation If you try to leave a channel when you’re its owner, Codeliver prompts you to transfer the ownership to someone else first to avoid orphaned relations in the database When you press on delete channel, a confirmation modal pops up and the channel and all its data will be deleted after confirmation When you click on browse users, your permissions are also displayed and you are able to see who the owner is Updated styling and navigation Updated API endpoints Updated README"}, {"post_id": 26375, "ts": "2026-07-11T03:56:50Z", "hours": 5.0928, "text": "Channel and user management I forgot to make a devlog for 2 days straight and I got a ton of stuff accomplished, so this devlog is gonna be a pretty long one with a ton of changes that make Codeliver one step closer to being a significantly inferior Slack clone! You can now add users to a channel (doesn’t matter if you’re an owner or a member), but only the owner can remove people. There are probably still some permission edge cases I need to test and fix, but for now it works pretty well When you click on the add member icon, a modal pops up where you can search for all Codeliver users, grouped into added users and people not in the channel, so you can search for them and manage them easily Added an API endpoint for the user lookup with channel integration to improve frontend data fetching and backend performance When you click on the edit channel icon a modal pops up, where you can edit its name (must be unique), description, and visibility (more channel settings coming soon) When you click on the leave channel button, a warning modal pops up for you to confirm the change When you click on browse channels from the channel management menu, a modal pops up (this entire update is about modals) where you can search for all the channels on Codeliver to view, join, or leave Added an API endpoint for channel lookup, with respect to user and channel permissions, to make the searching process easier When you visit a public channel that you haven’t joined, it shows a join message section instead of the message field similar to slack When you visit a private or nonexistent channel, it just redirects you to the chat homepage Your sidebar now actually shows the channels you’ve joined, and shows the browse channels button if you don’t have any Every backend or data state change is revalidated and updated in realtime to ensure smooth and responsive UX Updated database/backend schema and types Updated styling and navigation Fixed deployment issues (the demo site still doesn’t work yet because the Express backend is a mess and hasn’t been set up)"}, {"post_id": 25680, "ts": "2026-07-10T03:07:25Z", "hours": 1.4703, "text": "Optimized chatting rooms Optimized the Socket.io broadcast events and listeners a lot by using the library’s rooms feature so users viewing different channels will listen to different events Every time you click and view a new channel, you automatically “leave” the original channel room so you no longer receive messages from it (because you’re not viewing the channel despite still being in the channel). You also “join” the new channel and receive its messages because you’re viewing it This took a frustratingly long time to implement and debug because I have to track the currently viewed channel on the frontend and communicate with the backend reliably Added backend revalidation to make the UX of creating new channels smoother The channel you’re currently viewing is now highlighted on the left sidebar of the chat layout Updated types Updated navigation Updated styling Because this is mostly a refactor with minimal feature changes, I’ll just put a screenshot of chatting in a channel"}, {"post_id": 25119, "ts": "2026-07-09T03:48:37Z", "hours": 1.9919, "text": "Create your own channels This took a surprisingly long time to implement (Tailwind and Framer Motion are really annoying), but I finally made a channel creation feature where you can create your own chat channels on Codeliver When you hover over the Channels category on the left chat sidebar, you’ll see a menu button option that appears, and when you click on it, it opens a channel management menu You can choose to either create a channel, browse/search for available channels to join (not implemented yet), or click away to close the menu If you choose create a channel, a modal will pop up where you can put its name (must be unique and made of lowercase characters and dashes), description, and set its visibility with the cool toggle If you create the new channel successfully, you’ll be automatically redirected to it where you can start chatting in it! The browse channels options currently just shows an empty modal with a search bar that doesn’t do anything yet Updated schema and types for channels and messages Updated styling and navigation"}, {"post_id": 24516, "ts": "2026-07-08T03:39:17Z", "hours": 2.9478, "text": "Realtime Socket.io + Express backend Finally added a backend to Codeliver! I’m using the WebSocket node library Socket.io to handle realtime events and messaging, so I had to set up an Express server to handle the different requests and events The backend also has to access the auth user data and the shared Prisma Postgres database, so it took me a while to make both the Next.js frontend and Express backend to be able to read and write to it properly (since they are technically their own repos) Also implemented Socket.io client to the Next.js frontend so whenever you send a message it either creates a new Chat object and sends the message or finds an existing one and adds a new message Added Prisma schema and frontend types for chats, messages, and reactions Added persistent message storing for each chat channel and removed the placeholder messages Figured out how to send a Better Auth JWT token from the frontend and verify the session on the backend to authorize messaging features I had to deal with a lot of annoying CORS, environment variable, and auth stuff, so that was not fun but the result was worth it"}, {"post_id": 23541, "ts": "2026-07-06T15:51:38Z", "hours": 2.3739, "text": "Frontend messaging UI Added the chat messages frontend UI that looks like a combination of Slack and Discord with buttons and components for features like replying, reacting, and other chat stuff. Because the realtime Socket.io backend isn’t implemented yet, these are just placeholder elements for now and are not functional For each message, you can see the sender’s profile picture, name, localized and human readable timestamp, message, reactions and their counts, and a bar displaying message options that shows up when you hover over the message Added date separators/horizontal rules to separate chat messages from different dates, improving readability and ease of use Added temporary placeholder data to simulate chat messages When you press on reply, a bar now appears above the message input field that shows you’re replying to someone’s message with its preview. You can also cancel the reply by closing the bar Updated UI behavior of the emoji selection menu to ensure it works for all screen sizes Updated styling and UI Updated schema and types Fixed deployment issues with npm"}, {"post_id": 21921, "ts": "2026-07-04T03:22:57Z", "hours": 1.6478, "text": "Custom status, new tabs, and SEO Added an emoji picker (using the library Emoji Mart) next to the custom status input field on the edit profile page where you can choose an emoji for your status as well as a status text (both are optional) Below the emoji picker and status input field, there are a few preset combinations of emojis and statuses for common situations, making setting a custom status a lot easier. There is also an option to clear your status Added a few new tabs in the user route group that are all just empty placeholders for now Added actual SEO and Open Graph metadata information for all pages on Codeliver Added a placeholder favicon for the site Added input validation for profile customization Updated navigation and auth flow Updated schema and types Updated style Fixed a dependency deployment issue with npm"}, {"post_id": 21597, "ts": "2026-07-03T17:08:25Z", "hours": 3.3653, "text": "Chat layout & profile Made a placeholder layout for chat pages (for both channels and direct messages) with a left sidebar listing all the channels you’re in and all your direct messages (all the items are just placeholders for now), similar to Slack and Discord’s layouts Added a message textarea/input field on the main chat area with options for formatting the text, inserting code and emoji, and uploading files. A “send” button also shows up when you type a message. None of these buttons work yet, I only made the layout Added a profile customization page where you can customize your profile information (everything except for changing your profile picture works) that shares a layout with the other tabs When you’re logged in and click on your user icon on the nav bar, an animated menu shows up where you can go to profile, settings, switch light/dark mode, or sign out, but only profile and sign out work Added actual auth flow for both email/password and OAuth providers so you get signed in and redirected to chat automatically Set up Google and GitHub’s OAuth tokens and stuff Added backend server actions for auth and customization Updated schema and types Updated styling"}, {"post_id": 20994, "ts": "2026-07-02T18:52:59Z", "hours": 2.2197, "text": "Landing page & auth Added a landing page for non logged in users to learn more about the app The hero section has a title, description, and two call to action buttons for logging in and reading more information There are also a few sections on the landing page that just display placeholder images and text for now since the app doesn’t actually exist yet Added an animated faq component at the bottom that’s a collapsible accordion Added a login page with a form where you can either sign up, sign in with email/password, or sign in with OAuth providers (Google and GitHub coming soon) Added a navigation bar on the landing page"}, {"post_id": 19705, "ts": "2026-07-01T03:10:21Z", "hours": 1.3089, "text": "Codeliver: realtime code sharing chat app While working on my previous project MemeBoard , I got a bit too addicted with the realtime chat part of the app and overengineered it way too much, so I decided to build an app focused on chatting and sharing code with other people This is also an excellent opportunity for me to learn more about WebSockets, Socket.io, Node, and Linux server configuration/management since I’m planning to host this app on a dedicated DigitalOcean VM instead of the serverless Vercel In this update, I set up the basic project structure with an empty backend directory and a frontend directory for the Next.js frontend, installed the necessary dependencies, and set up the Prisma database for auth"}]...
|
Title: Codeliver by @tonymac129 | Stardance
Devlo Title: Codeliver by @tonymac129 | Stardance
Devlogs:
Codeliver: realtime code sharing chat app While working on my previous project MemeBoard , I got a bit too addicted with the realtime chat part of the app and overengineered it way too much, so I decided to build an app focused on chatting and sharing code with other people This is also an excellent opportunity for me to learn more about WebSockets, Socket.io, Node, and Linux server configuration/management since I’m planning to host this app on a dedicated DigitalOcean VM instead of the serverless Vercel In this update, I set up the basic project structure with an empty backend directory and a frontend directory for the Next.js frontend, installed the necessary dependencies, and set up the Prisma database for auth
Landing page & auth Added a landing page for non logged in users to learn more about the app The hero section has a title, description, and two call to action buttons for logging in and reading more information There are also a few sections on the landing page that just display placeholder images and text for now since the app doesn’t actually exist yet Added an animated faq component at the bottom that’s a collapsible accordion Added a login page with a form where you can either sign up, sign in with email/password, or sign in with OAuth providers (Google and GitHub coming soon) Added a navigation bar on the landing page
Chat layout & profile Made a placeholder layout for chat pages (for both channels and direct messages) with a left sidebar listing all the channels you’re in and all your direct messages (all the items are just placeholders for now), similar to Slack and Discord’s layouts Added a message textarea/input field on the main chat area with options for formatting the text, inserting code and emoji, and uploading files. A “send” button also shows up when you type a message. None of these buttons work yet, I only made the layout Added a profile customization page where you can customize your profile information (everything except for changing your profile picture works) that shares a layout with the other tabs When you’re logged in and click on your user icon on the nav bar, an animated menu shows up where you can go to profile, settings, switch light/dark mode, or sign out, but only profile and sign out work Added actual auth flow for both email/password and OAuth providers so you get signed in and redirected to chat automatically Set up Google and GitHub’s OAuth tokens and stuff Added backend server actions for auth and customization Updated schema and types Updated styling
Custom status, new tabs, and SEO Added an emoji picker (using the library Emoji Mart) next to the custom status input field on the edit profile page where you can choose an emoji for your status as well as a status text (both are optional) Below the emoji picker and status input field, there are a few preset combinations of emojis and statuses for common situations, making setting a custom status a lot easier. There is also an option to clear your status Added a few new tabs in the user route group that are all just empty placeholders for now Added actual SEO and Open Graph metadata information for all pages on Codeliver Added a placeholder favicon for the site Added input validation for profile customization Updated navigation and auth flow Updated schema and types Updated style Fixed a dependency deployment issue with npm
Frontend messaging UI Added the chat messages frontend UI that looks like a combination of Slack and Discord with buttons and components for features like replying, reacting, and other chat stuff. Because the realtime Socket.io backend isn’t implemented yet, these are just placeholder elements for now and are not functional For each message, you can see the sender’s profile picture, name, localized and human readable timestamp, message, reactions and their counts, and a bar displaying message options that shows up when you hover over the message Added date separators/horizontal rules to separate chat messages from different dates, improving readability and ease of use Added temporary placeholder data to simulate chat messages When you press on reply, a bar now appears above the message input field that shows you’re replying to someone’s message with its preview. You can also cancel the reply by closing the bar Updated UI behavior of the emoji selection menu to ensure it works for all screen sizes Updated styling and UI Updated schema and types Fixed deployment issues with npm
Realtime Socket.io + Express backend Finally added a backend to Codeliver! I’m using the WebSocket node library Socket.io to handle realtime events and messaging, so I had to set up an Express server to handle the different requests and events The backend also has to access the auth user data and the shared Prisma Postgres database, so it took me a while to make both the Next.js frontend and Express backend to be able to read and write to it properly (since they are technically their own repos) Also implemented Socket.io client to the Next.js frontend so whenever you send a message it either creates a new Chat object and sends the message or finds an existing one and adds a new message Added Prisma schema and frontend types for chats, messages, and reactions Added persistent message storing for each chat channel and removed the placeholder messages Figured out how to send a Better Auth JWT token from the frontend and verify the session on the backend to authorize messaging features I had to deal with a lot of annoying CORS, environment variable, and auth stuff, so that was not fun but the result was worth it
Create your own channels This took a surprisingly long time to implement (Tailwind and Framer Motion are really annoying), but I finally made a channel creation feature where you can create your own chat channels on Codeliver When you hover over the Channels category on the left chat sidebar, you’ll see a menu button option that appears, and when you click on it, it opens a channel management menu You can choose to either create a channel, browse/search for available channels to join (not implemented yet), or click away to close the menu If you choose create a channel, a modal will pop up where you can put its name (must be unique and made of lowercase characters and dashes), description, and set its visibility with the cool toggle If you create the new channel successfully, you’ll be automatically redirected to it where you can start chatting in it! The browse channels options currently just shows an empty modal with a search bar that doesn’t do anything yet Updated schema and types for channels and messages Updated styling and navigation
Optimized chatting rooms Optimized the Socket.io broadcast events and listeners a lot by using the library’s rooms feature so users viewing different channels will listen to different events Every time you click and view a new channel, you automatically “leave” the original channel room so you no longer receive messages from it (because you’re not viewing the channel despite still being in the channel). You also “join” the new channel and receive its messages because you’re viewing it This took a frustratingly long time to implement and debug because I have to track the currently viewed channel on the frontend and communicate with the backend reliably Added backend revalidation to make the UX of creating new channels smoother The channel you’re currently viewing is now highlighted on the left sidebar of the chat layout Updated types Updated navigation Updated styling Because this is mostly a refactor with minimal feature changes, I’ll just put a screenshot of chatting in a channel
Channel and user management I forgot to make a devlog for 2 days straight and I got a ton of stuff accomplished, so this devlog is gonna be a pretty long one with a ton of changes that make Codeliver one step closer to being a significantly inferior Slack clone! You can now add users to a channel (doesn’t matter if you’re an owner or a member), but only the owner can remove people. There are probably still some permission edge cases I need to test and fix, but for now it works pretty well When you click on the add member icon, a modal pops up where you can search for all Codeliver users, grouped into added users and people not in the channel, so you can search for them and manage them easily Added an API endpoint for the user lookup with channel integration to improve frontend data fetching and backend performance When you click on the edit channel icon a modal pops up, where you can edit its name (must be unique), description, and visibility (more channel settings coming soon) When you click on the leave channel button, a warning modal pops up for you to confirm the change When you click on browse channels from the channel management menu, a modal pops up (this entire update is about modals) where you can search for all the channels on Codeliver to view, join, or leave Added an API endpoint for channel lookup, with respect to user and channel permissions, to make the searching process easier When you visit a public channel that you haven’t joined, it shows a join message section instead of the message field similar to slack When you visit a private or nonexistent channel, it just redirects you to the chat homepage Your sidebar now actually shows the channels you’ve joined, and shows the browse channels button if you don’t have any Every backend or data state change is revalidated and updated in realtime to ensure smooth and responsive UX Updated database/backend schema and types Updated styling and navigation Fixed deployment issues (the demo site still doesn’t work yet because the Express backend is a mess and hasn’t been set up)
More channel & user management features I’ve been pretty busy this past week and haven’t been able to spend a lot of time on Codeliver or Stardance in general until now. Hopefully I’ll have more time the rest of the summer do get more hours and actually finish my projects In this update, I added channel settings, some channel ownership and user management features for each channel, as well as the ability to delete channels When you click on the new channel settings icon in a channel (that only shows if you’re the owner), a settings modal pops up, currently only with 2 options, transfer ownership and delete channel When you click on transfer ownership, another modal pops up where you can search for a user already added to the channel, select them, and transfer channel ownership after confirmation If you try to leave a channel when you’re its owner, Codeliver prompts you to transfer the ownership to someone else first to avoid orphaned relations in the database When you press on delete channel, a confirmation modal pops up and the channel and all its data will be deleted after confirmation When you click on browse users, your permissions are also displayed and you are able to see who the owner is Updated styling and navigation Updated API endpoints Updated README
Codeliver is back!!! Stardance is ending in 7 days , and I’ve been coming back to finish some of my abandoned temporarily paused projects from a few months ago, and now it’s time for me to finally complete and ship my final project on Stardance: Codeliver!!! I already logged a few hours before moving on from Codeliver to another project and abandoning it for like 3 months, but I can’t remember exactly what I did so this devlog will only cover the 2 hours I logged recently In this update, I dockerized the entire application into a docker compose of 2 containers, express.js backend and Next.js frontend, and configured the environment variables, ports, and build and setup instructions to make the fullstack app a lot easier to deploy or self host in case anyone wants to run their own instance of Codeliver Added complete support for light mode for the entire platform, which is basically my method of refamiliarizing myself with an abandoned code base after a long time since this basically means going through the entire app again to modify every file and component’s styling/Tailwind classes Added message replies, where you can hover over a message and click on the reply button, and if a message is replying to another message it’ll show a thread linking back and highlighting the original message when clicked (similar to Discord’s reply) Fixed some display issues and permission bugs Hopefully I can quickly finish Codeliver (there are still a TON of stuff to be done before it’s functional and shippable ) and ship it in time, or maybe even have time to ship another project(?), especially since I’m also doing right now and am super busy with school…
Direct messages! Another massive devlog with a ton of updates and changes! I really need to lock in on this project if I want to be able to finish it and ship before Stardance ends You can now create DMs on Codeliver to directly message other users! I added a browse user modal where you can search for a user by their name and email, and clicking on the message option creates a new DM A DM is basically identical to a channel, (so it was surprisingly easy to implement) except it’s private to only the two of you and no one else can join or see your messages You can view DMs on the left chat sidebar below your channels, as well as on the new DM homepage that lists all your recent DMs and message previews, as well as a search bar and a add DM button to make browsing and managing your DMs easier You can also leave and rejoin DMs whenever, similar to channels, and DMs show up a little differently since they’re named after the other user and don’t need as much customization/settings as normal channels Since I added a DM homepage listing all the DMs, I also created a channel homepage that displays all the channels you’ve joined, as well as a search bar and a join channel button to make viewing all your different messages a lot more convenient Updated some content and layout styling on the landing homepage preview Updated types, schema, and styling Removed some originally planned pages like notifications and settings because I procrastinated so much and can’t implement them in 3 days...
|
1793278379.9333014
|
1793883179.9333014
|
|
27251
|
My awesome macropad! by @Kampfkiwi08 | Stardance
|
Kampfkiwi08
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Kampfkiwi08 | Star Title: My awesome macropad! by @Kampfkiwi08 | Stardance...
|
1793278381.241567
|
1793883181.241567
|
|
8904
|
Untitled by @lando | Stardance
|
lando
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @lando | Stardance
|
1793278383.0458105
|
1793883183.0458105
|
|
10271
|
Untitled by @thanlan | Stardance
|
thanlan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @thanlan | Stardance
|
1793278383.9431171
|
1793883183.9431171
|
|
13006
|
Toluene by @smatt | Stardance
|
smatt
|
0
|
44.88
|
0
|
[]
|
[{"post_id": 39800, "ts": "202 [{"post_id": 39800, "ts": "2026-08-03T00:58:30Z", "hours": 6.395, "text": "my safe pointer let me down ;-; turns out i cant use the WindowSafe class so easily. the destructor gets called when an instance needs to be relocated in a vector… now i’m using shared_ptr s again, because i found where the object slicing was happening before! besides troubles with that, i made many writing functions, like hline , or box , or fill . i can also move around with move ! the mainwin has its own instance so i have to handle less edge cases. i also changed names so they are consistent. before i handled echoing and console input with curses.h functions, so i added mine for Tui . there are a bunch more details, but i don’t wanna yap, because they’re not important. what’s important is that i think these functions work, but not in this screenshot!"}, {"post_id": 36765, "ts": "2026-07-29T01:06:33Z", "hours": 2.7853, "text": "drawing and safety? i’ve made drawing functions so tui windows draw in order and properly get their draw() member called! i’ve also put window pointers inside a class which makes sure to delete the pointer AND SET IT TO nullptr when the class is destructed. as a cherry on top InputEvent s have a new bool valid (by default 0) so i know if an input is empty because of an error, or actually means something. i hope it will serve its purpose for now! i also had this neat little bug. ncurses may or may not have encountered an error, but i’m not sure ’cuz of the TESTING!!!!’s…"}, {"post_id": 34405, "ts": "2026-07-25T02:48:52Z", "hours": 3.1603, "text": "rendering and… GDB. today i implemented rendering for tui, tried cleaning up code and documentation, and had trouble with using shared_ptr s to store window references. no lifetime guarantee anymore… i replaced them with regular pointers instead, and ill just give them to the tui, which will also delete them. good for temporary popups and constant visuals! copies or instances within the tui aren’t so robust… i gotta admit though. figuring out shared_ptr s slice classes took me way. too. LONG. in the image below you can see an accurate depiction of how i felt doing that! … in more detail though, i intend the tui to store pointers which point to dynamically allocated windows made with new . however, the pointers will be inside a class, and though the class allows full access to the pointer, the destructor makes sure to delete the store pointer. dynamically allocated windows are good because temporary, unimportant windows (like popups, or a dropdown) can be created locally and just added to the tui, they don’t have to be kept in members or vectors, and they’ll stay alive!! yippers! but if you want a pointer in a member or vector, thats no problem! this is much easier than hacky solutions with shared_ptr s, or instances, let alone copies in the tui… all of that though, just to allow classes which inherit Toluene::Window to override base functions. i think it will be okay, though! woah, uh, this is a bit of a long devlog. it… may be because i’m really unsure whether this “ creative ” solution will work… and cuz i’m angry. and tired"}, {"post_id": 33804, "ts": "2026-07-24T01:05:52Z", "hours": 2.5347, "text": "got windows (as in text boxes) for the tui working. should’ve been like 20 more lines in a couple of minutes, ended up falling into endless debugging hell. call stack did not help one bit. nor did the decompiled library and assembly code. pro tip: always use make_shared() to make shared_ptrs."}, {"post_id": 32668, "ts": "2026-07-21T23:40:48Z", "hours": 3.7739, "text": "so… i have been feeling really demotivated for a long time now, and so i did very little work. mainly because it turns out planning out software is really damn hard, and structuring, and everything is really hard to wrap my head around it. i also have some more personal stuff, like loneliness, to deal with, but that’s not important what IS important is that i know how ill make tui work, and i’ve done a bit of cleaning up, making core stuff, and added more features. they’re minor though i have very little to show, so ill just show a bit of code"}, {"post_id": 15361, "ts": "2026-06-24T23:40:47Z", "hours": 2.9361, "text": "started work on making the text user interface do something. ncurses is a pain to work with, but i managed to get wide characters working too! also, i learnt you can put parameter names in header files… so imma do that now. in the screenshot below you can see unicode working!… and the code is beautiful ."}, {"post_id": 14475, "ts": "2026-06-23T16:36:55Z", "hours": 3.8183, "text": "i spent time in Slovenia, visiting stuff like Vintgar gorge and Planica zipline. boohoo, could’ve used that time for toluene 😒 ok to be fair vintgar is beautiful in retrospect luckily i had my laptop! i cleaned up a lot of code, mostly relating to the audio backend, and now im starting with the tui… and im struggling really hard (just look at the time). … but it’s fine! ill probably handle it…"}, {"post_id": 12233, "ts": "2026-06-19T23:34:56Z", "hours": 1.4408, "text": "SOUND! this program officially makes sound! after looking at raw disassembles, library code and trying out random c++ nonsense, it’s worth it! my audio streams work (although very barebones), and i quickly made a funny sound with interaction :D"}, {"post_id": 12132, "ts": "2026-06-19T20:31:26Z", "hours": 1.5475, "text": "??? i have been trying to get the audio streams to start, but i get some really weird runtime exceptions, or aborts, or something? im trying to debug the issues, but..?"}, {"post_id": 11655, "ts": "2026-06-19T00:10:58Z", "hours": 3.9061, "text": "did a lot of work! a lot of annoying work . its 2:10am . two git commits, for things like making casts, and opening/closing audio stream stuff. i also fixed a function to get audio devices, which was a pain. i can (maybe) successfully open an audio stream with my wrapper!- but it doesn’t make sound yet, gotta add that. my code for everything is a mess, and it’s getting worse, but i’ll get to it one day! before that, here’s a demonstration of some kinda (albeit empty) audio stream coming into existence:"}, {"post_id": 10635, "ts": "2026-06-17T14:22:10Z", "hours": 3.1517, "text": "i am COMPLETELY rethinking my knowledge of c++. i thought i had an idea of what references, or pointers were, and how i should use them, but ive been struggling and procrastinating the last few days because of how confused i am. this is just PAIN! ive done close to NOTHING!"}, {"post_id": 8277, "ts": "2026-06-13T19:23:25Z", "hours": 4.1017, "text": "first tangible progress! modified the inner workings, but you can also now choose a wanted audio api and it will detect devices! making it wasn’t too smooth, seems my c++ knowledge is rustier than i thought… the linker didn’t like what i was doing, especially with constructors and destructors. nonetheless, here is an actual recording of something working :D"}, {"post_id": 7067, "ts": "2026-06-11T20:46:19Z", "hours": 5.3308, "text": "spent 3h tugging with cmake, trying to get it to cooperate, contemplated giving up on libraries altogether, and wanted to just give up on the idea of cross-platform as well. ncurses is a curse. wanted to get help, but too socially anxious to actually ask stuff, and the only time i sent anything i was ignored ;-; . writing the wrapper for a backend audio engine was annoying, i wanna work with RtAudio, but in case i ever wanna switch, i wanna make it easy for myself. unfortunately, that includes a lot of writing, and learning headers, which is something i didnt know i didnt know. i can work with this for now though. heres a successful build message with nice code above :D"}]...
|
Title: Toluene by @smatt | Stardance
Devlogs:
spe Title: Toluene by @smatt | Stardance
Devlogs:
spent 3h tugging with cmake, trying to get it to cooperate, contemplated giving up on libraries altogether, and wanted to just give up on the idea of cross-platform as well. ncurses is a curse. wanted to get help, but too socially anxious to actually ask stuff, and the only time i sent anything i was ignored ;-; . writing the wrapper for a backend audio engine was annoying, i wanna work with RtAudio, but in case i ever wanna switch, i wanna make it easy for myself. unfortunately, that includes a lot of writing, and learning headers, which is something i didnt know i didnt know. i can work with this for now though. heres a successful build message with nice code above :D
first tangible progress! modified the inner workings, but you can also now choose a wanted audio api and it will detect devices! making it wasn’t too smooth, seems my c++ knowledge is rustier than i thought… the linker didn’t like what i was doing, especially with constructors and destructors. nonetheless, here is an actual recording of something working :D
i am COMPLETELY rethinking my knowledge of c++. i thought i had an idea of what references, or pointers were, and how i should use them, but ive been struggling and procrastinating the last few days because of how confused i am. this is just PAIN! ive done close to NOTHING!
did a lot of work! a lot of annoying work . its 2:10am . two git commits, for things like making casts, and opening/closing audio stream stuff. i also fixed a function to get audio devices, which was a pain. i can (maybe) successfully open an audio stream with my wrapper!- but it doesn’t make sound yet, gotta add that. my code for everything is a mess, and it’s getting worse, but i’ll get to it one day! before that, here’s a demonstration of some kinda (albeit empty) audio stream coming into existence:
??? i have been trying to get the audio streams to start, but i get some really weird runtime exceptions, or aborts, or something? im trying to debug the issues, but..?
SOUND! this program officially makes sound! after looking at raw disassembles, library code and trying out random c++ nonsense, it’s worth it! my audio streams work (although very barebones), and i quickly made a funny sound with interaction :D
i spent time in Slovenia, visiting stuff like Vintgar gorge and Planica zipline. boohoo, could’ve used that time for toluene 😒 ok to be fair vintgar is beautiful in retrospect luckily i had my laptop! i cleaned up a lot of code, mostly relating to the audio backend, and now im starting with the tui… and im struggling really hard (just look at the time). … but it’s fine! ill probably handle it…
started work on making the text user interface do something. ncurses is a pain to work with, but i managed to get wide characters working too! also, i learnt you can put parameter names in header files… so imma do that now. in the screenshot below you can see unicode working!… and the code is beautiful .
so… i have been feeling really demotivated for a long time now, and so i did very little work. mainly because it turns out planning out software is really damn hard, and structuring, and everything is really hard to wrap my head around it. i also have some more personal stuff, like loneliness, to deal with, but that’s not important what IS important is that i know how ill make tui work, and i’ve done a bit of cleaning up, making core stuff, and added more features. they’re minor though i have very little to show, so ill just show a bit of code
got windows (as in text boxes) for the tui working. should’ve been like 20 more lines in a couple of minutes, ended up falling into endless debugging hell. call stack did not help one bit. nor did the decompiled library and assembly code. pro tip: always use make_shared() to make shared_ptrs.
rendering and… GDB. today i implemented rendering for tui, tried cleaning up code and documentation, and had trouble with using shared_ptr s to store window references. no lifetime guarantee anymore… i replaced them with regular pointers instead, and ill just give them to the tui, which will also delete them. good for temporary popups and constant visuals! copies or instances within the tui aren’t so robust… i gotta admit though. figuring out shared_ptr s slice classes took me way. too. LONG. in the image below you can see an accurate depiction of how i felt doing that! … in more detail though, i intend the tui to store pointers which point to dynamically allocated windows made with new . however, the pointers will be inside a class, and though the class allows full access to the pointer, the destructor makes sure to delete the store pointer. dynamically allocated windows are good because temporary, unimportant windows (like popups, or a dropdown) can be created locally and just added to the tui, they don’t have to be kept in members or vectors, and they’ll stay alive!! yippers! but if you want a pointer in a member or vector, thats no problem! this is much easier than hacky solutions with shared_ptr s, or instances, let alone copies in the tui… all of that though, just to allow classes which inherit Toluene::Window to override base functions. i think it will be okay, though! woah, uh, this is a bit of a long devlog. it… may be because i’m really unsure whether this “ creative ” solution will work… and cuz i’m angry. and tired
drawing and safety? i’ve made drawing functions so tui windows draw in order and properly get their draw() member called! i’ve also put window pointers inside a class which makes sure to delete the pointer AND SET IT TO nullptr when the class is destructed. as a cherry on top InputEvent s have a new bool valid (by default 0) so i know if an input is empty because of an error, or actually means something. i hope it will serve its purpose for now! i also had this neat little bug. ncurses may or may not have encountered an error, but i’m not sure ’cuz of the TESTING!!!!’s…
my safe pointer let me down ;-; turns out i cant use the WindowSafe class so easily. the destructor gets called when an instance needs to be relocated in a vector… now i’m using shared_ptr s again, because i found where the object slicing was happening before! besides troubles with that, i made many writing functions, like hline , or box , or fill . i can also move around with move ! the mainwin has its own instance so i have to handle less edge cases. i also changed names so they are consistent. before i handled echoing and console input with curses.h functions, so i added mine for Tui . there are a bunch more details, but i don’t wanna yap, because they’re not important. what’s important is that i think these functions work, but not in this screenshot!...
|
1793278387.4259596
|
1793883187.4259596
|
|
35
|
Untitled project by @Kyle | Stardance
|
Kyle
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Kyle | Stardance
|
1793278388.7588596
|
1793883188.7588596
|
|
9155
|
My first slack bot! by @rachitsharma | Stardance
|
rachitsharma
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @rachitsharma | Star Title: My first slack bot! by @rachitsharma | Stardance...
|
1793278390.9401124
|
1793883190.9401124
|
|
28907
|
My awesome macropad! by @nightlyshelf | Stardance
|
nightlyshelf
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @nightlyshelf | Sta Title: My awesome macropad! by @nightlyshelf | Stardance...
|
1793278391.8483922
|
1793883191.8483922
|
|
2401
|
FRC Style Robotic Arm by @Mattsalt | Stardance
|
Mattsalt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: FRC Style Robotic Arm by @Mattsalt | Starda Title: FRC Style Robotic Arm by @Mattsalt | Stardance...
|
1793278392.7898126
|
1793883192.7898126
|