Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marcello3d/lascaux-sketch
Lascaux Sketch 2 is an open source web-based digital painting tool
https://github.com/marcello3d/lascaux-sketch
art painting typescript webgl
Last synced: 15 days ago
JSON representation
Lascaux Sketch 2 is an open source web-based digital painting tool
- Host: GitHub
- URL: https://github.com/marcello3d/lascaux-sketch
- Owner: marcello3d
- License: zlib
- Created: 2018-11-29T01:20:56.000Z (almost 6 years ago)
- Default Branch: latest
- Last Pushed: 2023-01-06T08:16:08.000Z (almost 2 years ago)
- Last Synced: 2024-10-18T15:06:00.307Z (29 days ago)
- Topics: art, painting, typescript, webgl
- Language: TypeScript
- Homepage: https://lascaux.studio
- Size: 6.63 MB
- Stars: 23
- Watchers: 5
- Forks: 1
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Lascaux Sketch 2.0
Open source WebGL-based drawing tool using in React/TypeScript.
- Go try it now at [lascaux.studio](https://lascaux.studio)!
- Star and watch this repo!
- Follow me [@marcello3d](https://twitter.com/marcello3d) on Twitter for updates## Background
Lascaux Sketch was originally a Java Applet I wrote back in [2002](https://web.archive.org/web/20041009175410/http://www.cellosoft.com/sketchstudio/)
used on [2draw.net](https://2draw.net/). This is a new version built from the ground up using TypeScript and WebGL.## Technical stack
- [TypeScript](https://www.typescriptlang.org) for type-checked JavaScript
- [React](https://reactjs.org) for UI
- [Create React App](https://reactjs.org/docs/create-a-new-react-app.html) for scaffolding (this may change to [Next.JS](https://nextjs.org))
- [Vercel](https://vercel.com) for deployment
- [WebGL](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API) for graphics compositing
- [Dexie](https://dexie.org) for IndexedDB-based browser local storage## Code structure
- `src/` main source code
- `db/` local-storage related files, including storage implementation
- `icons/` icon files (not open source!)
- `lascaux/` **main drawing app logic**
- `browser/` browser integration
- `data-model/` core data model for drawing (strokes, gotos, modes, storage interface)
- `test/` (tests? lol, not actually used)
- `util/` various helper utility functions
- `webgl/` all drawing, blending, and compositing logic
- `pages/` the logic for the various pages
- `react-hooks/` React helper hooks
- `ui/` misc UI components
- `public/` static files served on deployment
- `patches/` [patch-package](https://www.npmjs.com/package/patch-package) patches for broken types## Contributing
This is a side project, but I welcome collaborators! I'm tracking and planning work in
[Github Projects](https://github.com/marcello3d/lascaux-sketch/projects), so be sure to check
that out, and probably easiest to reach out to me on Twitter or by email.## License
Source code is licensed under [Zlib open source license](https://opensource.org/licenses/Zlib).
**Note:** Lascaux Sketch logo and name cannot to be used without permission.
**Note:** [Font Awesome Pro icons](https://fontawesome.com) cannot be redistributed without a license (I have one for my own usage)