Commit graph

123 commits

Author SHA1 Message Date
45c954cb03 haku2: fix implementation of / (div)
it was multiplying instead of dividing
2025-06-13 20:56:20 +02:00
667eef136e remove redundant imports and leftover log timestamp disabling thing 2025-06-13 20:41:58 +02:00
845c9f0f5b add support for aarch64-unknown-linux-gnu 2025-06-13 20:38:00 +02:00
354d49d927 haku2: make build.rs spit out unknown targets 2025-06-13 20:33:18 +02:00
48d03699bd haku2: make server use haku2 (and make it work!) 2025-06-13 20:11:54 +02:00
c5e2892def #broken haku2: progress on making it work 2025-06-11 16:42:43 +02:00
7658e0d4e8 haku2: VM logging 2025-06-11 10:43:40 +02:00
5de4f9d7c6 hotwire haku2 into rkgk
really a bodge job right now and it crashes but it's a start
2025-06-04 00:28:43 +02:00
550227da34 haku2: rest of functionality (hopefully) & Rust->Zig FFI 2025-06-03 21:53:49 +02:00
01d4514a65 beginning of haku2: a reimplementation of haku in Zig
the goal is to rewrite haku completely, starting with the VM---because it was the most obvious point of improvement
the reason is because Rust is kinda too verbose for low level stuff like this. compare the line numbers between haku1 and haku2's VM and how verbose those lines are, and it's kind of an insane difference
it also feels like Zig's compilation model can work better for small wasm binary sizes

and of course, I also just wanted an excuse to try out Zig :3
2025-06-01 23:19:05 +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
65645f410f additional list functions (range, map, filter, reduce, flatten) (#74)
also make the VM cope with reentrancy
2025-05-27 22:25:29 +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
9f62582ef5 add italic, bold, bold italic variants for Iosevka in the CSS (#109) 2025-05-26 19:15:57 +02:00
c4f6f80166 make Backspace delete the current selection correctly (#108) 2025-05-26 19:07:44 +02:00
7727e62655 s/liquidex/riki 2025-05-26 18:53:17 +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
628fafdc1b docs/system: document len and index 2024-10-25 23:26:20 +02:00
e2f9538156 haku: add len and index functions for reading lists 2024-10-25 23:22:06 +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
43e6951f7d fix crash occurring when a path cannot be created
this can occur if tiny_skia decides it doesn't like the path (e.g. circle with negative radius)
i don't really care to render these since they're degenerate cases anyways
2024-10-23 21:53:44 +02:00
b059ef4c35 fix broken with_dotter_identity test
probably broke after evaluation style changes
2024-10-23 21:52:36 +02:00
581a1778ca change no_mangle to unsafe(no_mangle) 2024-10-23 21:52:05 +02:00
718e574d3a fix broken defaultBrush in editor
JS interprets escape sequences in backtick literals
2024-10-23 21:21:09 +02:00
e0e64f7e24 implement auto-saving under reticles 2024-10-23 21:09:00 +02:00
4ba7e25510 fix server not resetting VM on brush eval request 2024-10-23 20:46:06 +02:00
6e88999662 document withDotter (and reticles) in docs/system.dj 2024-10-23 20:46:04 +02:00
e19e47e6ad fix clippy lints 2024-10-23 20:45:34 +02:00
7c40505d7d disallow running another reticle after a dotter 2024-10-23 19:46:23 +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
fd3f37d744 update documentation to include reticles and vector math
It's probably not very good though.
2024-10-23 19:44:52 +02:00
37c575748b add support for vectors as operands to math operations 2024-10-22 21:58:32 +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
4430d6d125 add documentation for new math functions 2024-09-07 15:39:54 +02:00
4bf3d685b8 add libm math functions to haku 2024-09-07 14:33:20 +02:00
e12573566e add Debug impl for InvalidId 2024-09-07 14:32:38 +02:00
958cab5452 improve error reporting for missing else clauses 2024-09-07 14:31:48 +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
c59a651ea3 add jsconfig.json 2024-09-06 22:50:42 +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