Lorien - Infinite canvas drawing/notetaking app for Windows, Linux and Mac. Made with Godot.

  •        373

Lorien is an infinite canvas drawing/note-taking app that is focused on performance, small savefiles and simplicity. It's not based on bitmap images like Krita, Gimp or Photoshop; it rather saves brush strokes as a collection of points and renders them at runtime (kind of like SVG). It's primarily desinged to be used as a digital notebook and as brainstorming tool. While it can totally be used to make small sketches and diagrams, it is not meant to replace traditional art programs that operate on bitmap images. It is entirely written in the Godot Game Engine. For an overview on how to use Lorien have a look here. ⚠ This is very much a WIP and still a bit rough around the edges ⚠. The savefile format might also change in the future. Contributions (be it bug reports, code, art or translations) are very welcome.




Related Projects

canvas - Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc.

  •    Go

Canvas is a common vector drawing target that can output SVG, PDF, EPS, raster images (PNG, JPG, GIF, ...), HTML Canvas through WASM, OpenGL, and Gio. It has a wide range of path manipulation functionality such as flattening, stroking and dashing implemented. Additionally, it has a text formatter and embeds and subsets fonts (TTF, OTF, WOFF, WOFF2, or EOT) or converts them to outlines. It can be considered a Cairo or node-canvas alternative in Go. See the example below in Figure 1 for an overview of the functionality. Figure 1: top-left you can see text being fitted into a box, justified using Donald Knuth's linea breaking algorithm to stretch the spaces between words to fill the whole width. You can observe a variety of styles and text decorations applied, as well as support for LTR/RTL mixing and complex scripts. In the bottom-right the word "stroke" is being stroked and drawn as a path. Top-right we see a LaTeX formula that has been converted to a path. Left of that we see an ellipse showcasing precise dashing, notably the length of e.g. the short dash is equal wherever it is on the curve. Note that the dashes themselves are elliptical arcs as well (thus exactly precise even if magnified greatly). To the right we see a closed polygon of four points being smoothed by cubic Béziers that are smooth along the whole path, and the blue line on the left shows a smoothed open path. On the bottom you can see a rotated rasterized image. The result is equivalent for all renderers (PNG, PDF, SVG, etc.).

Cairo Graphics

  •    C

Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL (through glitz), XCB, BeOS, OS/2, and DirectFB.

Inkpad - Vector drawing app for the iPad.

  •    Objective-C

Inkpad is a vector illustration app designed from scratch for the iPad. It supports paths, compound paths, text, images, groups, masks, gradient fills, and an unlimited number of layers. Create arbitrary bezier paths with the Pen tool, Create text objects, Gradient fills with interactive editing on canvas, Powerful scale and rotate tools and lot more.

nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.

  •    C

NanoVG is small antialiased vector graphics rendering library for OpenGL. It has lean API modeled after HTML5 canvas API. It is aimed to be a practical and fun toolset for building scalable user interfaces and visualizations. The NanoVG API is modeled loosely on HTML5 canvas API. If you know canvas, you're up to speed with NanoVG in no time.

react-art - React Bridge to the ART Drawing Library

  •    Javascript

React ART is a JavaScript library for drawing vector graphics using React. It provides declarative and reactive bindings to the ART library. Using the same declarative API you can render the output to either Canvas, SVG or VML (IE8).

raphael - JavaScript Vector Library

  •    Javascript

raphael is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library.

Inkscape - Vector Graphics Editor

  •    C++

Inkscape is a vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format. It supports many advanced SVG features (markers, clones, alpha blending, etc.) and great care is taken in designing a streamlined interface. It is very easy to edit nodes, perform complex path operations, trace bitmaps and much more.

KLONK Drawing Board


This project was inherited from: http://www.codeproject.com/KB/graphics/SimpleVectorShapes.aspx . It is a 2D vector graphic editor. It manages simple graphic objects like rectangles, lines and ellipses. Commited by KLONK

Macaw - Powerful and easy-to-use vector graphics Swift library with SVG support

  •    Swift

Macaw is a powerful and easy-to-use vector graphics library written in Swift. Modern designs contain tons of illustrations and complex animations. Mobile developers have to spend a lot of time on converting designs into native views that will be resizable for different screens. With Macaw you can reduce development time to a minimum and describe all graphics in high level scene elements. Or even render SVG graphics right from your design tool with Macaw events and animation support.

VSCodeNotebook - 📝 Use VS Code as a reliable note-taking/journal application

  •    Python

VSCode Notebook is an attempt to use VSCode as a complete note taking application. This is a VSCode port of the popular SublimeNotebook project. Because of these reasons, I had to lose my notes a number of times and was forced to start from scratch. This was frustrating, and finally, I decided to do something about it.

macSVG - macSVG - An open-source macOS app for designing HTML5 SVG (Scalable Vector Graphics) art and animation with a WebKit web view ---

  •    Objective-C

May 8, 2018 – macSVG v1.1.4 is released, with minor user interface improvements, and various bug fixes. See the Release Notes for details. macSVG is a MIT-licensed open-source macOS app for designing HTML5 SVG 1.1 (Scalable Vector Graphics) art and animation.

rough - Create graphics with a hand-drawn, sketchy, appearance

  •    Javascript

Rough.js is a light weight (~9kB gzipped) graphics library that lets you draw in a sketchy, hand-drawn-like, style. The library defines primitives to draw lines, curves, arcs, polygons, circles, and ellipses. It also supports drawing SVG paths. Rough.js works with both Canvas and SVG.

rough - Create graphics with a hand-drawn, sketchy, appearance

  •    TypeScript

Rough.js is a small (<9 kB) graphics library that lets you draw in a sketchy, hand-drawn-like, style. The library defines primitives to draw lines, curves, arcs, polygons, circles, and ellipses. It also supports drawing SVG paths. Rough.js works with both Canvas and SVG.

Pencil - Animation and Drawing software

  •    C++

Pencil is an animation/drawing software for Mac OS X, Windows, and Linux. It lets you create traditional hand-drawn animation (cartoon) using both bitmap and vector graphics. Animations made with Pencil can be exported as QuickTime.

vkvg - Vulkan 2D graphics library

  •    C

vkvg is an open source 2D graphics library written in c using Vulkan as backend. It's api follows the same pattern as Cairo, but new functions and original drawing mechanics may be added. vkvg is in early development stage, api may change, any contribution is welcome.

notable - The Markdown-based note-taking app that doesn't suck

  •    Typescript

The Markdown-based note-taking app that doesn't suck. I couldn't find a note-taking app that ticked all the boxes I'm interested in: notes are written and rendered in GitHub-Flavored Markdown, no WYSIWYG, no proprietary formats, I can run a search & replace across all notes, notes support attachments, the app isn't bloated, the app has a pretty interface, tags are indefinitely nestable and can import Evernote notes (because that's what I was using before).

drawingboard.js - A canvas based drawing app that you can integrate easily on your website.

  •    Javascript

This is a canvas based drawing app that you can integrate easily on your website. drawingboard.js consists of a blank canvas surrounded by a few UI elements that control it: a color picker, a pencil, a paint can, an eraser, a pencil size chooser, navigations and reset buttons.

nb - CLI and local web plain text note‑taking, bookmarking, and archiving with linking, tagging, filtering, search, Git versioning & syncing, Pandoc conversion, + more, in a single portable script

  •    Shell

and more, in a single portable script. nb creates notes in text-based formats like Markdown, Org, and LaTeX, can work with files in any format, can import and export notes to many document formats, and can create private, password-protected encrypted notes and bookmarks. With nb, you can write notes using Vim, Emacs, VS Code, Sublime Text, and any other text editor you like, as well as terminal and GUI web browsers. nb works in any standard Linux / Unix environment, including macOS and Windows via WSL. Optional dependencies can be installed to enhance functionality, but nb works great without them.

CoreTextWrapper - An Objective-C wrapper around Core Text for creating multi-column text and loading custom fonts

  •    Objective-C

One of the most promising and mysterious new frameworks introduced in iOS 3.2 is Core Text. Apple defines Core Text as a “text drawing engine”, which allows Mac (and now iPad) apps to render rich text on any graphics context. Strings drawn with Core Text feature lots of custom settings such as detailed font information, columns, variable line and paragraph heights and several different attributes, which designers and font aficionados surely understand much better than I do. Many new apps have been using this framework since the release of the iPad, particularly newspapers and ebook reader applications, rendering gorgeous text in custom fonts, many of them not available natively in iOS. This framework is also used in lifestyle and corporate applications, too, where using a custom font is sometimes required to match the specifications of brands and trademarks. It is very important to understand that Core Text is really just a text drawing engine to be used on top of Quartz (Core Graphics), to render rich text on any graphics context. Core Text cannot be used to create a rich text editor, for example, so don’t expect to extend UITextView with it. But you can use it to draw any kind of rich text on screen, which can make you avoid using UIWebView instances for that.

Keepnote - Note Taking and Organization

  •    Python

KeepNote is a note taking application in which you can store your class notes, TODO lists, research notes, journal entries, paper outlines, etc in a simple notebook hierarchy with rich-text formatting, images, and more. Using full-text search, you can retrieve any note for later reference. It supports Full-text search, Hierarchical organization for notes, Built-in backup and restore, Attachments and lot more.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.