Skip to content

Latest commit

 

History

History
33 lines (23 loc) · 2.71 KB

README.md

File metadata and controls

33 lines (23 loc) · 2.71 KB

Latgrid

Presenting latgrid! An web app built to set puzzles of classic variants or allow you to create your own. Try it now on your phone or PC at https://latgrid.vercel.app

(Note: images may be out of date)

Mobile screenshot of latgrid Desktop screenshot of latgrid

Status

Latgrid is currently in development. While most planned features and ideas are in a private notebook at the moment (mostly for personal convenience), you can look at some of the notes that made their way into an issue by checking the issues tab. Here's a quick checklist of some things that are or will be implemented.

  • A few common tools (tentatively called layers) to draw numbers, lines, killer cages, etc.
  • Exporting puzzles to share with others with simple answer check.
  • Easier editing of large grids on mobile.
  • Hex grids, triangular grids, etc.
  • Dark theme, Colorblind theme.
  • Managing your library of puzzles in a single tab with an export to/import from file feature.
  • Multiple grids in a single puzzle separate or joined with portals or wrapping edges.
  • Programmable constraints so that the rules of your custom puzzle variant don't have to be imagined but can actually be enforced.
  • General Artificial Intelligence paperclip generator. That will have to wait for a different project.

Why make another tool?

There are many other tools out there for setting puzzles, but most are to make specific genres (you cannot create your own variant). Penpa+ is an exception to this, but it has a few problems that made me still want to create a separate tool, most of which are technical.

  • It has to support legacy urls. This is not a bad thing in and of itself (it's a very good thing since it means it is a success), but it does mean some tricks for shortening urls are not possible.
  • It uses canvas instead of svg or dom elements. This means you don't have access to css to style elements and image scaling becomes much more of a problem. Additionally, you can't get true dark mode.
  • It uses global scope js instead of modules making it hard to write tests. I contributed some code that expanded the amount of puzz.link puzzles that could be imported into penpa and had to go through some hoops just to set up a few snapshot tests.
  • You can't use typescript. While some would consider that a plus, having typescript and other linting tools help catch certain mistakes early and often makes refactoring much easier.

That all said, Latgrid will not replace Penpa+. It has some nice features that make it a better choice, e.g. everything is pure javascript meaning you can clone the project and run it locally without any build steps.