Doesn't save what you type in yet. This is just a demo for playing with.
I have no idea what attributes to include besides fg/bg/margin. So get in touch if this sparks ideas/suggestions.
Doesn't save what you type in yet. This is just a demo for playing with.
I have no idea what attributes to include besides fg/bg/margin. So get in touch if this sparks ideas/suggestions.
:exploding_head:
A constant trickle of disk reads replaces an unbounded amount of stuff hanging around in memory.
This is a data-oriented solution in the footsteps of Mike Acton. I'm not removing fields from structs or switching to SoAs, but I am trying now to manage my caches.
GC is missold as "automatic memory management". All memory management is manual (you have to be careful about nulling references out); GC just simplifies freeing memory.
When something new pops up, a queue continues what they were doing. A stack switches.
Obviously this is a spectrum, but I find it very easy to rationalize that the new tasks are "quick".
Anyway, being a stack is hard with a new project. Every 2 minutes I discover something broken, and now I have to resist working on it.
Notation:
Implementation:
Render:
Is there a better name for this than "DOM"? A notation for a tree of rectangles, often containing text, to be rendered to screen and united with mouse events.
Rects contain either text or rows/cols of other rects. Other attributes: fg, bg, margin. Margin is margin-top or margin-left depending on whether the rect contains rows or cols.
No inline styling yet (bold, span, etc.), that feels like a separate concern.
Does it make sense why the top graph when averaged 10x yields the bottom?! Sure doesn't to me.
I just spent some time trying to add hyperlinks between a handful of pairs of notes. The notes are seldom next to each other for me to type the id of one into the other.
Then I realized I should just use regular links below notes. The grab mechanism works well. Links can't be inside notes like hyperlinks, but I can't linkify arbitrary text anyway. And I get automatic backlinks.
Research is awesome, but sometimes when you read a paper you just want to add it to your toolbox right now. In a way that fits in with your other tools.
Properties of my tools:
Done so far: Potluck annotations
An example LÖVE repo that can be used to modify its own sources.
Editor: a lightly forked version of lines.love
Debugger: a graphical log of what the program did, as demonstrated here.
These tools aren't general-purpose. Instead, they're intended to evolve with the sole app they're used to modify: themselves.
It's kinda funny to add a code editor to a text editor. The code editor can hide debug prints, and has a teeny bit of colorization. On the other hand it doesn't (yet) support drawings or selecting text.
Deep in the guts of the renderer, right before it renders a fragment of text, check if it's a file, and turn it into my button abstraction if so.
Caveats: links can't wrap over multiple lines, links can't contain spaces.
Incredibly inefficient, to check the file system for every single word. So it's in a fork for now while I decide just what to do with this new super power.
Gemini: links on their own line, support arbitrary link text.
Me: inline links are ok, but the text will always be the URL.