Hello all!

I’m developing a pixel-art editor called Fossprite that runs in the browser and is meant to be used offline.

It’s a single HTML file, so there’s no server, account, CDN, or npm runtime involved. Just download it, open it, and use it on your machine. Everything runs locally, so your artwork stays on your own computer.

Right now it has drawing and painting tools, color palettes, layers, animation, project saving and loading, image-to-pixel-art conversion, keyboard shortcuts, and import/export for several formats.

It’s still in beta. Some parts aren’t finished, some image formats aren’t supported yet, and there may be bugs. Please back up anything valuable while you test it.

Here’s what you should know about the code and licenses:

I used AI-assisted coding during development.

The repo contains original Fossprite code, adapted code, and embedded third-party libraries. Some of the drawing, palette, and other tools are documented as adaptations of DogSprite and Simple Pixel Art. The embedded libraries keep their original licenses, including MIT, Apache-2.0, Ms-PL, Zlib, and BSD-3-Clause.

I’m not distributing the whole HTML file under the MIT License. The root LICENSE is scoped only to original Fossprite code, and its copyright-holder field is currently marked UNVERIFIED because the provenance audit isn’t finished. The known third-party components and remaining uncertainties are documented in THIRD-PARTY-NOTICES.md.

Repo: https://github.com/xizar280513/Fossprite

I’d like to hear what you think of the editor, but also of the repo and its licensing documentation. Is the scope of the licenses easy to understand? Did I miss any notable third-party components? And what’s the first thing you’d change?

    • Xizar@programming.devOP
      link
      fedilink
      arrow-up
      0
      ·
      15 days ago

      Fair point, tbh. Putting everything in one file, plus the AI assisted development, has left me with code that’s hard to read and maintain. Some parts still use minified style names, and that’s on me. I went with a single file so people could download it and run it offline, no build step and no dependencies. fwiw, that’s a reason, not an excuse for code that’s hard to follow. What I still need to do is split it into clearer modules, rename things properly, and document where the original, adapted, and third-party code begin and end. If you have specific suggestions for making it easier to debug or contribute to, lmk.