2a783aba71
make zooming zoom toward the mouse cursor
2025-06-26 17:18:52 +02:00
385a691e3e
make the brush discard dialogue more clear
...
change text from 'Yes' to 'Discard changes and switch brush'
2025-06-26 01:22:15 +02:00
7a52dbebd0
fix some rough edges around stack traces
...
hide irrelevant CallFrames
fix span info for the implicit stack frame
2025-06-25 21:11:02 +02:00
e49885c83a
stack traces in the brush editor
...
after 35 thousand years it's finally here
good erro message
2025-06-25 20:51:45 +02:00
c1612b2a94
brush picker!
2025-06-19 13:48:12 +02:00
9b82b211b4
hide brush cost gauges if they're irrelevant
2025-06-17 00:18:48 +02:00
8b464d50f4
haku: more cleanups: remove old unused VM
...
also remove some leftover TODOs
2025-06-16 18:57:51 +02:00
c80cd1c7fe
haku1 API cleanups (removing 2 suffix)
2025-06-16 18:34:28 +02:00
00a48527ca
haku2: add stats + fix crash w uninit vm
2025-06-16 16:40:01 +02:00
e667c6336a
haku2: on the client
...
resource indicators are currently unimplemented
2025-06-15 21:30:37 +02:00
598c0348f6
fix viewport shrinking permanently ( #113 )
...
what was happening is we were setting style.width and style.height which overrode the styles from CSS that gave us the BoundingClientRect from which we were calculating the canvas size
I also added a sendViewportUpdate to prevent chunk jank
2025-05-27 22:25:30 +02:00
2b924c3efb
make squigglies render themselves correctly over multiple lines
...
turns out there was a stupid typo, and the diagnostic's firstLine was == its lastLine
2025-05-26 21:53:03 +02:00
6b82593414
add zoom indicator in lower left corner ( #39 )
...
it looks like this:
- 3200% +
I'm giving up on the 100% zoom button from the original idea, because rkgk's scaling curve makes it easy to go back to 100% if you need to.
2025-05-26 20:23:26 +02:00
c4f6f80166
make Backspace delete the current selection correctly ( #108 )
2025-05-26 19:07:44 +02:00
39886291cf
HiDPI support
...
the main canvas is now DPI-aware; it should no longer be pixelated on 4k
this couldn't be done for the brush preview, so it's just kinda pixelated
also fixed the horrendous scrollbar that could appear on HiDPI for some reason
2025-05-25 21:26:21 +02:00
273eaa6ce3
docs.css: fix the size of the left grid column
2024-10-25 23:36:54 +02:00
dd955b0649
code-editor: make Backspace remove full indents at the start of a line
2024-10-25 23:08:12 +02:00
10d384f3d7
brush-cost: prevent percentage values from overflowing
2024-10-25 21:46:05 +02:00
913d65b0a8
implement brush cost gauges
...
they're a little ugly at the moment, and can be a little useless for most simple brushes, but whatever we'll make them better later
2024-10-25 21:39:53 +02:00
718e574d3a
fix broken defaultBrush
in editor
...
JS interprets escape sequences in backtick literals
2024-10-23 21:21:09 +02:00
37ff06c704
remove unneeded console.log
2024-10-23 19:45:58 +02:00
d6bb4e9911
make code examples horizontally scrollable
2024-10-23 19:45:39 +02:00
5b7d9586ea
introduce tags, structs, and reticles
...
this was meant to be split into smaller changes, but I realised I edited my existing revision too late.
2024-10-22 21:39:04 +02:00
8356b6c750
fix compilation errors not setting error flag in brush preview
2024-09-08 12:12:45 +02:00
37520f34f7
add brush preview
2024-09-08 12:09:21 +02:00
ec773b7fe1
add error squiggles to brush editor
...
gosh I hate this code. CSS custom highlight API when, pleeeeeease Firefooooox
2024-09-06 22:51:19 +02:00
3cd0d4afb5
fix code editor gutter sizing
2024-09-05 22:13:19 +02:00
92e3b8fcb7
add line numbers to code editor
...
this is the sort of fancy stuff we can do now
2024-09-05 22:06:02 +02:00
09a81ec032
fix brush editor not saving your brush
2024-09-05 22:05:44 +02:00
b8d6b3edb3
introduce new code editor with support for extra shortcuts such as Tab
for indenting/unindenting lines
...
I'm sure this will yield _lots_ of bugs in the long run, but it's also a really exciting thing to have.
2024-09-05 21:30:47 +02:00
5e6b84bed5
cache busting
...
for faster load times, and seamless updates.
because for some reason ServeDir can't do it correctly, and it tells the client "yeah hey nothing changed" even if something changed
2024-09-04 21:50:30 +02:00
9b190165ff
fix resize handle setting the default size to NaN
...
I hate NaN
I hate NaN
I hate NaN
I hate NaN
I hate NaN
I hate NaN
I hate NaN
can someone put a NaN to good use for once and store a pointer to some helpful metadata in it.
please.
I beg you.
2024-09-04 20:39:48 +02:00
17f3f573b5
shader optimizations
...
- make the shader not compile for over a minute on Windows
- stop calculating matrices inside the shader, per vertex
2024-09-04 20:37:40 +02:00
8f69552b02
resize the brush editor's text area whenever the brush editor is resized
...
this can now happen if you use the resize handle
2024-09-03 23:13:00 +02:00
a924147e26
force font size to 14px in the app
...
I've been (hotly) debating this with myself today and I _think_ this is the right decision for an app.
note that I'm not changing the font size in the docs; that I think is valuable to have be user-controllable, but I'd really prefer if users would see the app the way _I_ design it to look
2024-09-03 22:58:08 +02:00
255511ac16
give the brush editor resize handle a maximum size
...
this is to prevent the size from going negative, which fucks a lot of things up (you end up not being able to drag it anymore 💀 )
2024-09-03 22:53:55 +02:00
740a62447e
make canvas dragging a bit snappier by calculating the drag delta ourselves
...
I'm really thankful for `listen` here.
it makes this sort of logic super easy without having to add class fields.
2024-09-03 22:52:35 +02:00
bfbde0dee3
simplify CSS rules for brush editor overflow
2024-09-03 22:42:09 +02:00
5b22a50036
fix overflow in brush editor
2024-09-03 22:40:08 +02:00
83754a0282
new! fast! WebGL renderer
2024-09-03 22:16:40 +02:00
bf4d538651
add ping/pong between client and server
...
the purpose of this is to hopefully prevent nginx from reaping the connection, since there's data flowing through it every so often
2024-09-02 23:17:35 +02:00
b3911b7af1
add resize handle to brush editor
2024-09-02 22:38:12 +02:00
26d3b8ed8a
add a lot more logging to both client and server to analyze #81
...
> #81 Compiling brush doesn't seem to finish correctly sometimes, which causes loss of data
> Sometimes it seems like the client state can get desynced (server render thread dies due to a panic?) and then the server starts dropping all requests for drawing the brush.
> These panics should never happen of course, but we need better logging first to determine the exact cause.
2024-09-02 20:15:28 +02:00
6cfbc4f05f
fix nickname in cursor reticle being able to wrap onto multiple lines
2024-09-01 20:03:04 +02:00
d1a6fb364e
fix more syntax v2 bugs, update docs
2024-09-01 18:55:16 +02:00
bf37d7305c
update default brush
...
I started updating the docs but v2 is really not ready for general use yet (we're missing lists!)
2024-09-01 10:09:53 +02:00
a3e5e8bd10
change fonts to Atkinson Hyperlegible and a custom-built variant of Iosevka
2024-08-27 20:44:39 +02:00
ca25f27b4b
fix horizontal scrollbar in docs
...
maybe putting domain-specific rules in your shared css doesn't make sense
2024-08-27 14:24:18 +02:00
3380498441
add a menu bar; and also a favicon because there's now a logo
2024-08-27 14:13:19 +02:00
879d17d904
docs; rendering docs from .dj to .html
...
still no in-app link to these docs though
2024-08-26 23:26:03 +02:00