/draw

🎨 An infinite canvas application to do pixel art. This is a fun project; use at your own risk.

Primary LanguageGo

Backend: Golang, PostgreSQL, chi, go-sqlbuilder for quick query building and prototyping, R2 for tile caching

Frontend: TypeScript, React, Pixi.JS

TODO

Implement a tile caching mechanism

  • Create a function that takes a point and returns the tile it belongs to
  • Create a new table that stores Tile <> Changed timestamp for quick lookup
  • Create a function that detects changed tiles since time T
  • Create a function that generates updated cached tiles
  • Implement the TileCache
  • [-] Create an endpoint that update tiles every minute

Implement the LandRegistry

  • Define the initial interface:
    • saveLease
    • getLeasesByPixel
    • getLeasesByArea

Miscellaneaous

  • Handle bulk pixels on the frontend when polling (e.g., after an image was added)
  • Fix the flickering grid on the frontend

Implement Auth/IAM/Users

  • Auth PoC