Audio
O1 Pro codes some Haskell to produce a tune
https://gitlab.com/dpwiz/pl-synth/-/blob/main/test/O1Pro.hs
It's... Not that good, but way better than I had expected. It took 3 tries to make it listenable. The first version was repetitive, but had a structure. I asked for more variety for the second and got something too drunk to listen to. I asked to make something in-between, combining the best of two and it delivered something listenable enough.
It's not catchy like the original material in example.c was, but a good start.
https://gitlab.com/dpwiz/pl-synth/-/blob/main/test/O1Pro.hs
It's... Not that good, but way better than I had expected. It took 3 tries to make it listenable. The first version was repetitive, but had a structure. I asked for more variety for the second and got something too drunk to listen to. I asked to make something in-between, combining the best of two and it delivered something listenable enough.
It's not catchy like the original material in example.c was, but a good start.
❤2👎1
Linear Space Program
WIP: Stealing SwiftUI layouts for geomancy
Please open Telegram to view this post
VIEW IN TELEGRAM
Linear Space Program
Huh, apparently SwiftUI layout is a free monad (for arbitrary views) 🤔
My functor - my rules views.
🔥3
Linear Space Program
Huh, apparently SwiftUI layout is a free monad (for arbitrary views) 🤔
-- TODO: fix all the remaining bugs
Linear Space Program
Photo
This media is not supported in the widget
VIEW IN TELEGRAM
And this is how we do ECS, STM, type-safe quantities, FRP, and imgui in Haskell...
DearImGui.withWindowOpen "Orbit" do
stuff <- atomically . Apecs.runWith rsOrbitSim.sWorld $ Apecs.collect Just
for_ stuff \(o@Orbiter.Orbiter{}, Orbiter.MeanAnomaly ma, entity@Apecs.Entity{}) -> do
DearImGui.text $ textShower o
inputDouble "MA" (ma # Radian) (τ/60) (τ/4) "%f rad" \ma' -> do
atomically . Apecs.runWith rsOrbitSim.sWorld $ do
-- XXX: unlikely, but the value may be updated between collecting and UI handling
let change = (ma' % Radian) |-| ma
Apecs.modify entity \(Orbiter.MeanAnomaly current) ->
Orbiter.MeanAnomaly $ current |+| change
❤1😢1
Linear Space Program
And this is how we do ECS, STM, type-safe quantities, FRP, and imgui in Haskell... DearImGui.withWindowOpen "Orbit" do stuff <- atomically . Apecs.runWith rsOrbitSim.sWorld $ Apecs.collect Just for_ stuff \(o@Orbiter.Orbiter{}, Orbiter.MeanAnomaly ma…
And, after a few passes at sweeping it under a rug...
inputOrbitElem rsOrbitSim entity "Eccentricity" (o.orbit.eccentricity # Number) (1/256) (1/8) "%.5f" \ecc' ->
Orbiter.eccentricity .~ (ecc' % Number)
inputOrbitElem rsOrbitSim entity "Periapsis" ((o.orbit.periapsis # Meter) / 1000) 1 10 "%.1f km" \p' ->
Orbiter.periapsis .~ ((p' * 1000) % Meter)
-- ...
And this is why this channel stops the posting once in a while...
https://t.me/addemoji/FactorioSpaceExploration
https://t.me/addemoji/FactorioSpaceExploration
Telegram
Factorio: Space Exploration
Emojipack with 77 emoji for Telegram Premium subscribers.
⚡1🔥1😁1
The Moon rises!
After an unscheduled rewrite of the rendering components I can now put arbitrary models on arbitrary local orbits. This also opens up a way to do LODs, daily rotation, and backscatter lighting.
Ah, and crashing into distant surfaces.
After an unscheduled rewrite of the rendering components I can now put arbitrary models on arbitrary local orbits. This also opens up a way to do LODs, daily rotation, and backscatter lighting.
Ah, and crashing into distant surfaces.
🔥3❤1👍1