Commit graph

25 commits

Author SHA1 Message Date
0ddc42c00f sidebar layout
switch the app from floating panels to a static sidebar on the right with resizable tools
expect more layout bugs from now on
2025-06-27 23:24:09 +02:00
a40480a464 add interpolation to cursor reticles
cursor reticles are now interpolated to the update interval, so they should be smooth at > 60 fps
2025-06-26 18:48:48 +02:00
d445eb9915 debounce updateUrl; make debounce always execute a function call after at least one is dropped
this should also fix the issue where the cursor position sometimes ends up at the wrong position after you stop moving
2025-06-26 17:33:25 +02:00
c1612b2a94 brush picker! 2025-06-19 13:48:12 +02:00
c80cd1c7fe haku1 API cleanups (removing 2 suffix) 2025-06-16 18:34:28 +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
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
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
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
83754a0282 new! fast! WebGL renderer 2024-09-03 22:16:40 +02:00
7465913944 make the app listen to hashchange and move the viewport accordingly, or reload the page when the wall changes 2024-08-25 14:15:24 +02:00
0d831698e2 add proper error and disconnect handling
error handling shows you the error and offers the ability to reload;
disconnect handling shows you that the page will reload in a few seconds.
it uses exponential backoff with some random sprinkled into it to prevent overwhelming the server once people's clients decide to reconnect.
2024-08-25 12:55:07 +02:00
84abba3e0b add loading screens instead of dropping the user into an app that's not ready to use 2024-08-25 00:06:49 +02:00
7f78d0ce1b remove some leftover code 2024-08-24 22:03:23 +02:00
be6a47ae13 user authentication through a secret token (NOT AUDITED FOR SECURITY. DO NOT RELY ON THIS CODE.)
it's probably okay, but it's incredibly easy to read localStorage from the frontend and get a hold of the secret
would be nice (would it?) to have more proper session tokens I guess but we're not doing that right now

I'm not entirely sure if generating the password on the server is legit like this, but it leads to an incredibly frictionless experience and I'd like to keep it. if possible.
I don't really see a difference compared to password managers generating passwords for you and showing them in plaintext
obviously actual passwords are stored within the manager which requires a master password, but like. do we really need that. the secret isn't shown to the user and it's very long.
too bad the browser secure storage API or whatever isn't ready yet
2024-08-23 19:50:42 +02:00
6ce1389d12 replace console.info with console.debug for received chunk data 2024-08-22 21:50:26 +02:00
1c0fa7197c rudimentary error reporting 2024-08-20 23:00:29 +02:00
6eab20bb25 disable image smoothing, add support for wall fragment urls 2024-08-19 23:56:03 +02:00
70e979057c persistence in database
only maybe a little bit shitty but it works very well
still needs chunk unloading
2024-08-19 22:39:22 +02:00
2594afcc1b a more robust system for syncing chunks
as long as the server tells you there are more chunks, there are definitely more chunks.
just wait for them a bit.
2024-08-18 12:28:19 +02:00
2f7bcbb14e sync 2024-08-17 22:16:21 +02:00
26ba098183 a whole load of work in progress 2024-08-15 20:01:10 +02:00
caec0b8ac9 initial commit 2024-08-10 23:10:22 +02:00