Skytrias | Michael Kutowski's Avatar
Skytrias | Michael Kutowski
Working on a node based Task Editor
Member since

Recent Activity

Short blog post on using Orca as a new Odin target! https://odin-lang.org/news/orca-odin/

Here is how to open a window

package src

main :: proc() {}
View original message on Discord

midi input and piano preview -playthrough also highlights the piano notes

View original message on Discord

Short video on the tabulation project im doing & shows a bit of editing with some more notes.
Been a really fun project so far
https://www.youtube.com/watch?v=f1roE1jytt4

View original message on Discord

fretboard preview on the tab editor/player (starts at 0) 🎶 showing off my own version of "css" but in ini, including colors, cut presets, editor options and element styles

View original message on Discord

Little Guitar Tab player/editor im doing for transcribing my own stuff, the ones played are not mine tho 😛

View original message on Discord

more rectcut "microui" fun - cut_mapping is the "file format" i had shown previously which changes the cutting properties used throughout the UI

View original message on Discord

simple format to customize rect-cut layouting parameters - linked to a string name. easy to lookup through a map in code and makes imgui code a bit cleaner (ignore the code in the top-left, its just experimenting)

heres the thing so far:

// following format is used
UNIQUE_NAME DIRECTION px/unit margin gap

// DIRECTION SHORTNAMES SET "LRTBFVH?"
L = LEFT CUT
R = RIGHT CUT
T = TOP CUT
B = BOTTOM CUT 
F = FILL FROM REMAINDER
V = LEFT CUT 50/50 or custom range
H = TOP CUT 50/50 or custom range
? = UNUSED
View original message on Discord

been implementing :rxi: 's cached renderer but with compute (&sdf) instead of software rendering. Efficient & Fast!

View original message on Discord

been working on compute vector graphics rendering in OpenGL for a while now ~ its finally stable enough to show off.
the text is rendered using line/quadratic curves directly from the font
its based off of @ forkingpath metal implementation of the MPVG paper https://w3.impa.br/~diego/projects/GanEtAl14/

View original message on Discord

more work on the &todool multiplayer - switched to a CRDT like state based solution
the host only forwards messages to other clients and distributes client IDs

View original message on Discord

giving &todool "multiplayer" an attempt again - 3 clients all sharing undo/redo state across the server

View original message on Discord

having some fun implementing ryan's IMGUI + nanovg rendering

View original message on Discord

reworked theme editor with a focus on randomization with roots & variation 🎨 &todool

View original message on Discord

did a full port of NanoVG to odin, here is the demo 🎉

View original message on Discord

minor additions: basic spell checking, better link support, task separator, single task highlight &todool

View original message on Discord

Added simple zooming & Task Drag animation, added options to customize some visuals &todool

View original message on Discord

https://www.youtube.com/watch?v=k4Xd59kzouI did a devlog on my IMGUI -> RMGUI transition, hoping to do these weekly 🙂 &todool

View original message on Discord

Task children sorting options and per parent sort locking 🔥 &todool

View original message on Discord

task dragging 🔥 drag outside the window or to the trash area to remove the task &todool

View original message on Discord

multi select tasks with the mouse while holding shift 🎉 &todool also using vulkan now instead of GL

View original message on Discord

tasks can have dates set + agenda mode to get an overview of each day &todool

View original message on Discord

optimized global utf8 textbox, cut, copy & paste, topbar to select focus tree &todool

View original message on Discord

mouse caret selection & a progress bar in kanban mode 🎉 &todool

View original message on Discord

auto centering x / y based on render mode & more work on text boxes &todool

View original message on Discord

2 instances of &todool sharing subtrees with each other over http 🔥 commit a tree -> other user can sync back to the recent tree or push his own optionally you can submit a read only tree

View original message on Discord

color setting bar - modifies a line / selection by default when Apply is on or via command, can be used on other elements like tag colors 🎨 &todool

View original message on Discord

reworked &todool recently to text lines + additional data 🎉 making my life simpler to implement more meaningful features
https://www.youtube.com/watch?v=XT5d28Iv9I8

View original message on Discord

testing out more automation - leave your thoughts &todool

View original message on Discord

reimplemented a cool feature i had a while ago &todool 🎉

  • right mouse dragging task upwards / downards pops the task and its children out - place it in the trashbin or near another line
  • right mouse dragging task left <-> right shifts their indentation
View original message on Discord

first day working fulltime on &todool 🎉

added a pomodoro tree today with a couple of looping options

  • work, short_break, long_break as editable timer nodes
  • looping can be ignored or turned on
  • repeat_count is the limit until the long_break starts
  • timer durations can be added to a line ~ still gotta flesh this out
  • break times can be included if you want them to count in as work time
View original message on Discord

transitioned &todool to fully use RectCut imgui 🔥 its really nice, thanks goes out to rxi for suggesting it 😄

View original message on Discord

working on time related features -> Stopwatch & Timer ⏲️ &todool

View original message on Discord

made a prompt to spawn different sub node types instead of having to remember multiple commands 🔥 &todool

View original message on Discord

task color outlining 🎨 when you want to highlight certain regions visually, often found in kanban &todool

View original message on Discord

proper mouse selection, horizontal auto scrolling and a relayouting bug in the end :BestPractice: &todool

View original message on Discord

cut & paste - now you can actually make use of import from code 💪

View original message on Discord

implemented search, you can switch between parent scoped search and global document one

View original message on Discord

works on folders now, optimized comment lookup speed, not going to support multiline strings for now

View original message on Discord

sorry for the big upload import supports multi line comment queries now 🎉 someone suggested using this on the linux source ~ keep in mind this is single threaded 😅

trying out import from code where tags like // TODO can be extracted easily, what do you guys think?

View original message on Discord

added keymap table'ish layouting back and split things up a bit 🔥

View original message on Discord

shift up / down implemented back with undo / redo

View original message on Discord

found a nice way to change states without having to interact with the text 😮

View original message on Discord

command based undo history using a ring buffer for a limited size (i.e. 20 for testing)

View original message on Discord

todool is getting a makeover, using flat arrays + handles, data belonging to the tree, roots like options, theme, keymap are used directly

View original message on Discord

loading globals / specific view data with ease 🔥

View original message on Discord

worked on a new de/serilization format for todool

  • ~50% smaller in size (binary)
  • read / write directly to tree
  • mem copying instead of text conversion
  • backwards compatible & extendible
View original message on Discord

position + simulate mode 🔥 showing hover animation... triggered when hovering 😛

View original message on Discord

handmade ui: small texture drawer, next up is animation, different textures per element state

View original message on Discord

been exploring file formats / sql lately, implemented msgpack and am using it for a single table db i plan to use for my main structs in todool 🔥 in the vid you can see a small viewer i built, pretty much just table info + its columns with type slices

View original message on Discord

wondering how task deletion should be handled:

  1. allowed, other selections will automatically jump out
  2. disallowed, cant be deleted
View original message on Discord

custom renderer + WYSIWYG style copy of the selected tree

View original message on Discord

back after a break, recording time can be allowed only during pomodoro (Work) run, adds time spent to a task (and its children)

View original message on Discord

table movement is dope now - made the shortcut calls tree a table for easier call picking

View original message on Discord

date node 🎉 really wanted this for changelogs 😛 tab toggles between modes

View original message on Discord

task pointer (visual) fixes + basic mouse support

View original message on Discord

reworked search, has its own keymap now and stupid profiler expanding 😛 also have my own server for discussion and more spam previews https://discord.gg/UZaXnYaHWA

View original message on Discord

nothing crazy ~ key commands which shortcut early will be notified to the user by turning the cursor red

View original message on Discord

worked on splits, tasks can be focused in their own splits, should fold levels be view / split independant?

View original message on Discord

task lerps, cut tree, basic multi editing of same words (not sure if its useful)

View original message on Discord

todool is now using vectorized rendering thanks to nanovg 💯 also tried out special string storage like trie, radix / suffix trees - conclusion is they're shitty to deal with and i dont think it's worth the effort

View original message on Discord

search works great now, word highlight, better fuzzing, parent based and works anywhere

View original message on Discord

search - cursor jumps to the search branch, one text box updates results, results are pointers to other nodes

View original message on Discord

indent guide (green), color picker is back, task states, simpler save file based on indentation amount (only saves selected / mark when inside Todool tree)

View original message on Discord

screw floaty windows - just a simple tree of all nodes - no bs. next up is v / h splits, more visual work, fixes and actual task oriented mechanisms again 😄

View original message on Discord

color picker pops up when pressing on colors - color wheel moveable via w a s d, mouse xy and int text values, same with the hue slider

View original message on Discord

keyboard shortcuts: editing keys is simple text input - editing calls (enum) is done in another tree

View original message on Discord

easy undo redo on any sub node type and (4coder like) mark jumping

View original message on Discord

zordering root tasks, more usability when tab / shift tabbing through values like excel, float and int edit nodes

View original message on Discord

theme editing in the same node system - instead of completly seperate ui systems, will do all ui this way 😄

View original message on Discord

column jumping similar to non monospace editors - still some odd cases to fix

View original message on Discord

ported todool fully to seperate server / client setup, server only sends out draw commands to each client, data lives on the server side only. this way its really easy to add drawing calls about other users

View original message on Discord

user mouse is shared, trying out some highlight rectangles where you can point at things. at the end it bugs out a bit and goes out of sync 😓 this stuff is difficult to get right

View original message on Discord

auto align tasks based on state change, when wanted 😛

View original message on Discord

getting my old mouse support back in, normal left click = cursor movement, ctrl click = fold task, shift click = drag task also in the end i show the menu for changing task state that im going to work on next 😄

View original message on Discord

simple folding, via ui / key command, error message if failed. was pretty easy, just disable children to be drawn when folded, thankfully its not plain text 🙃

View original message on Discord

auto scroll when something:

  • draw mode is changed
  • task selection changes (move up or down) and out of sight doesnt look perfect yet but its usable on small windows now 😄
View original message on Discord

fleshing out my concept switching draw modes to kanban overview with the same interaction - same data, any ideas on other draw modes? 😄

View original message on Discord

stuff is coming along nicely, im focusing more on mouse interaction this time. i liked the panning in dion so i made it in todool 😄 also check out odin above, todool is made with it haha

View original message on Discord

undo / redo editing history in todool - takes 4 lines 😛

View original message on Discord

worked quite a bit on todool:

  • heavy left / right / middle mouse button support added
  • multiple views possible into the same file
  • consistent undo / redo across views
  • undo / redo shows amount of undo / redo
  • all actions can be held down now like undo / redo, delete etc
  • clipping stuff like text now
  • kb preview of undo buffer (saving the entire array now which is kinda wasteful)
  • capping fps now cuz it was a pain trying to get it working
View original message on Discord

took a break this week, back on track again working on todool - got some simple animation done for ui, mouse integration, reworked all of the magnet ui api to be much simpler - stuff like the undo / redo ui was super simple to do. dont mind the text glitches

View original message on Discord

been working on custom ui for todool based on magnets that link to other ui elements via placement directions. very simple but effective for the way i usually create ui 🙂 also got nice automatic keyboard navigation working based on the closest ui element in the arrow direction in 180°

View original message on Discord

todool color picker for custom themes - all done via :rxi: cached software rendering

View original message on Discord

todool now has the undo / redo system from :rxi: - its super simple but powerful - go read his blogs 🙂

View original message on Discord

todool is my now semi serious project, worked on the cached software renderer that :rxi: also uses and its awesome - minimal cpu usage / no gpu usage at all, no unnecessary redrawing. if anyone wants to test it, msg me 🙂

View original message on Discord

bit more juice, made the window sizes adjust to the amount of (sub) topics there are. love it ❤️

View original message on Discord

made my own todo app, cuz i got sick of having thousands of todo files around. i want to quickly edit topics with info and be able to focus on the matter, any ideas for improvements?

View original message on Discord

experimenting with different console / immediate mode ui control interaction, now has fuzzy matching ```c if (ui_begin()) { if (ui_button("right")) { rect_x += 10; } if (ui_button("left")) { rect_x -= 10; } ui_checkbox("change", &change); ui_checkbox("red", &red_background); ui_slider("rect_x", &rect_x, 0, 250); ui_slider("rect_x", &rect_x_other, 250, 500 - rect_width); ui_slider("rect_width", &rect_width, 50, 250 - rect_width); ui_slider("ui_y", &ui_y, 0, 500 - 50); ui_end(0, ui_y, 500, 50); }

View original message on Discord

lite custom todo file rendering, kinda what i did in 4coder

View original message on Discord

AI start and visualization of the move AI state, pausing helps understanding what the AI determined

View original message on Discord

Not entirely handmade but here's what i've been working on for about a month in rust, its tetris attack like and i've been working on ai for the first time. about a week into ai and i've probably tried thousand ways to make my life easier 🙃

View original message on Discord

not as cool as the others but heres a puzzle game im making in odin and rewrote the rendering today. not sure if i should release the source code

View original message on Discord