liquidex
4ba7e25510
fix server not resetting VM on brush eval request
2024-10-23 20:46:06 +02:00
liquidex
6e88999662
document withDotter
(and reticles) in docs/system.dj
2024-10-23 20:46:04 +02:00
liquidex
e19e47e6ad
fix clippy lints
2024-10-23 20:45:34 +02:00
liquidex
7c40505d7d
disallow running another reticle after a dotter
2024-10-23 19:46:23 +02:00
liquidex
37ff06c704
remove unneeded console.log
2024-10-23 19:45:58 +02:00
liquidex
d6bb4e9911
make code examples horizontally scrollable
2024-10-23 19:45:39 +02:00
liquidex
fd3f37d744
update documentation to include reticles and vector math
...
It's probably not very good though.
2024-10-23 19:44:52 +02:00
liquidex
37c575748b
add support for vectors as operands to math operations
2024-10-22 21:58:32 +02:00
liquidex
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
liquidex
8356b6c750
fix compilation errors not setting error flag in brush preview
2024-09-08 12:12:45 +02:00
liquidex
37520f34f7
add brush preview
2024-09-08 12:09:21 +02:00
liquidex
4430d6d125
add documentation for new math functions
2024-09-07 15:39:54 +02:00
liquidex
4bf3d685b8
add libm math functions to haku
2024-09-07 14:33:20 +02:00
liquidex
e12573566e
add Debug impl for InvalidId
2024-09-07 14:32:38 +02:00
liquidex
958cab5452
improve error reporting for missing else
clauses
2024-09-07 14:31:48 +02:00
liquidex
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
liquidex
c59a651ea3
add jsconfig.json
2024-09-06 22:50:42 +02:00
liquidex
3cd0d4afb5
fix code editor gutter sizing
2024-09-05 22:13:19 +02:00
liquidex
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
liquidex
09a81ec032
fix brush editor not saving your brush
2024-09-05 22:05:44 +02:00
liquidex
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
liquidex
a35ac17b86
bump up limits even further
...
my VPS has 8 gigabytes of RAM. it's not exactly out of the question to buy a larger one, and in the future we could just, y'know, not preallocate _all_ the memory, and instead reallocate if a certain threshold is reached
2024-09-04 22:29:32 +02:00
liquidex
d309211558
allow up to 65536 parser events
...
parser events don't take up enough memory to warrant a stricter limit.
I do wonder if this limit is actually reachable with a 65536 character limit though.
2024-09-04 22:16:01 +02:00
liquidex
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
liquidex
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
liquidex
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
liquidex
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
liquidex
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
liquidex
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
liquidex
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
liquidex
bfbde0dee3
simplify CSS rules for brush editor overflow
2024-09-03 22:42:09 +02:00
liquidex
5b22a50036
fix overflow in brush editor
2024-09-03 22:40:08 +02:00
liquidex
83754a0282
new! fast! WebGL renderer
2024-09-03 22:16:40 +02:00
liquidex
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
liquidex
b3911b7af1
add resize handle to brush editor
2024-09-02 22:38:12 +02:00
liquidex
c1ccc1be24
fix an unnecessarily large amount of locals being emitted for each function
...
previously we'd create (argument_count + let_count) locals, which doesn't make sense.
so now `let`s use their own counter for their own locals, and we only request as many empty locals as there are `let`s.
2024-09-02 21:43:27 +02:00
liquidex
39989e555a
fix SetLocal not taking into account the stack bottom
...
y'know, when you look for locals relative to the call frame's bottom, but then set locals relative to index 0...
boom.
closes #78
2024-09-02 21:39:04 +02:00
liquidex
f4ceb0057e
add a bunch of logging to haku, including vm-trace for tracing what the VM does
2024-09-02 21:36:38 +02:00
liquidex
337de0b57b
return an error when the parser is at its event capacity
2024-09-02 20:41:13 +02:00
liquidex
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
liquidex
6cfbc4f05f
fix nickname in cursor reticle being able to wrap onto multiple lines
2024-09-01 20:03:04 +02:00
liquidex
a30c36c92a
fix compilation errors on release mode due to missing #[cfg(debug_assertions)] with parser event tracing
2024-09-01 19:20:24 +02:00
liquidex
1543534101
update docs, add favicon to docs template
2024-09-01 19:17:46 +02:00
liquidex
ef1e35fcf0
remove redundant arity checking code from system functions, update error messages
...
the arity of unary and binary ops is guaranteed by the fact they're, well, unary and binary ops.
right now there's no way to call them with less or more arguments, so we may as well.
2024-09-01 19:15:58 +02:00
liquidex
d1a6fb364e
fix more syntax v2 bugs, update docs
2024-09-01 18:55:16 +02:00
liquidex
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
liquidex
084012d65f
parser debugging utilities + fixed paren sometimes producing unbalanced events
...
parser events now have a `from` field which has the source location of where the event was emitted.
this location is pretty-printed when using `Debug`
2024-09-01 10:03:21 +02:00
liquidex
c5b2eb376f
simplify Compiler lifetimes
...
the 2nd 'b lifetime parameter was not needed
2024-09-01 09:32:21 +02:00
liquidex
2595bf0d82
syntax v2
...
introduce a new, more ergonomic syntax for haku
not all features are implemented just yet. still missing:
- custom tags (non-True/False)
- color literals
- lists
2024-09-01 09:29:11 +02:00
liquidex
a3e5e8bd10
change fonts to Atkinson Hyperlegible and a custom-built variant of Iosevka
2024-08-27 20:44:39 +02:00