2025-05-04  - 2025-11-04 
	
	
		
		
	
Overview
33 issues closed from 2 users
				Closed
				#68 Disconnected dialog takes precedence over error dialog
				
				Closed
				#128 Rethink operator precedence
				
				Closed
				#126 Introduce | pipe operator
				
				Closed
				#127 Introduce . dot operator
				
				Closed
				#129 Additional identifier characters (prime ' and question mark ? suffixes)
				
				Closed
				#104 Consider porting the frontend codebase to TypeScript
				
				Closed
				#125 Get rid of let keyword
				
				Closed
				#71 Resend chunks and notify client if server drops any render requests
				
				Closed
				#49 Server reduces precision of plot coordinates, which causes a desync between clients
				
				Closed
				#88 Brush recompilation rate limiting
				
				Closed
				#81 Compiling brush doesn't seem to finish correctly sometimes, which causes loss of data
				
				Closed
				#98 Brush preview should be resizable
				
				Closed
				#38 Unloading chunks from memory (backend)
				
				Closed
				#70 () should be a scribble
				
				Closed
				#35 Limit renderer recursion depth
				
				Closed
				#19 Zoom should be anchored at the mouse cursor
				
				Closed
				#60 Buttons should have a hover state
				
				Closed
				#61 Interpolate users' cursor positions to the frame rate
				
				Closed
				#95 Zoom towards the mouse cursor instead of the center of the screen
				
				Closed
				#96 Basic tools support (pre-defined brushes support)
				
				Closed
				#100 Ensure scripts are downloaded in parallel
				
				Closed
				#107 Hide brush cost gauges until costs get too high
				
				Closed
				#2 Exceptions should have stack traces
				
				Closed
				#32 Saving and using multiple brushes
				
				Closed
				#111 Panic when trying to draw with a brush that doesn't compile
				
				Closed
				#113 Shrinking viewport is permanent
				
				Closed
				#74 List generation and transformation
				
				Closed
				#39 Zoom level indicator
				
				Closed
				#109 Iosevka is missing a bold variant in the CSS
				
				Closed
				#108 Backspace is broken with non-empty selection
				
				Closed
				#94 Try to make haku depend on std and see what happens
				
				Closed
				#112 DPI scaling support
				
				Closed
				#55 Whenever url changes it gets saved in the browser's history
				
22 issues created by 1 user
				Opened
				#113 Shrinking viewport is permanent
				
				Opened
				#114 It should be possible to hide the code editor when it's not needed
				
				Opened
				#115 Custom wall backgrounds
				
				Opened
				#116 Image export
				
				Opened
				#117 Automated tests for documentation
				
				Opened
				#118 Large viewport coordinates are floating point when sent to the server, which causes the app to stop working
				
				Opened
				#119 Zoom 0% causes the application to freeze
				
				Opened
				#120 rakugaki as a Worthy Image Editor
				
				Opened
				#121 haku, version 2
				
				Opened
				#122 Make it possible to write a selection tool
				
				Opened
				#123 Rectangle manipulation reticles
				
				Opened
				#124 Bitmap manipulation functions
				
				Opened
				#125 Get rid of let keyword
				
				Opened
				#126 Introduce | pipe operator
				
				Opened
				#127 Introduce . dot operator
				
				Opened
				#128 Rethink operator precedence
				
				Opened
				#129 Additional identifier characters (prime ' and question mark ? suffixes)
				
				Opened
				#130 then reticle
				
				Opened
				#131 Alpha blending is not matched between client and server
				
				Opened
				#132 rakugaki should have a public instance
				
				Opened
				#133 Offline-first editing
				
				Opened
				#134 haku error "field with this name does not exist" does not point to the correct source line
				
25 unresolved conversations
				Open
				#23
				
				Unloading walls from memory
				
				
				Open
				#25
				
				Chunk garbage collection
				
				
				Open
				#26
				
				Slowing down growth of the app
				
				
				Open
				#37
				
				Unloading chunks from memory (frontend)
				
				
				Open
				#46
				
				Login service computes password hashes on a single thread
				
				
				Open
				#52
				
				Replace heavyweight Argon2 hash with something else
				
				
				Open
				#62
				
				Display all online users
				
				
				Open
				#69
				
				Tell the user to reregister if their login fails
				
				
				Open
				#86
				
				Replace a wall's max_chunks with file size
				
				
				Open
				#87
				
				Wall does not check for max_sessions
				
				
				Open
				#103
				
				Implement a binary protocol instead of sending JSON over WebSockets
				
				
				Open
				#22
				
				Undo and redo
				
				
				Open
				#27
				
				Implement a custom rasterizer instead of using tiny-skia
				
				
				Open
				#24
				
				Consider using TypeScript
				
				
				Open
				#110
				
				A type system for haku
				
				
				Open
				#44
				
				and and or
				
				
				Open
				#106
				
				lerp function
				
				
				Open
				#21
				
				Version history
				
				
				Open
				#31
				
				Blend modes
				
				
				Open
				#42
				
				Menu bar
				
				
				Open
				#64
				
				Own brush reticle
				
				
				Open
				#79
				
				Pixel grid
				
				
				Open
				#16
				
				System functions should be first-class
				
				
				Open
				#93
				
				Richer diagnostics
				
				
				Open
				#82
				
				Add numeric indices to distinct sessions of the same user on a wall