Giter Site home page Giter Site logo

mbrlabs / lorien Goto Github PK

View Code? Open in Web Editor NEW
4.9K 52.0 207.0 24.97 MB

Infinite canvas drawing/whiteboarding app for Windows, Linux and macOS. Made with Godot.

License: MIT License

GDScript 99.67% GLSL 0.33%
infinte-canvas notebook drawing-app godot-engine vector-graphics note-taking whiteboard

lorien's Introduction

Lorien

Build Passing License

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 designed 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 at the manual.

Lorien demo

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.

Features as of v0.6.0:

  • Infinite canvas
  • Infinite undo/redo
  • (Almost) Infinite zoom
  • Infinite grid
  • Distraction free mode (toggles the UI on/off)
  • Extremely small savefiles (File format specs)
  • Work on multiple documents simultaneously
  • Tools: Freehand brush, eraser, line tool, rectangle tool, circle/ellipse tool, selection tool
  • Move and delete selected brush strokes
  • SVG export
  • Rebindable keyboard shortcuts
  • Built-in and custom color palettes
  • Designed to be used with a drawing tablet (Wacom, etc.). It also supports pressure sensitivity
  • A little Surprise Mechanic™ when pressing F12
  • Runs on Windows, Linux & macOS
  • Localizations: English, German, Italian, Korean, Russian, Spanish, Turkish, Brazilian Portuguese, Chinese

Download

You can download the latest stable releases on Github.

If you want to check out the bleeding edge main branch without building the project yourself you can also check out the CI builds. But make sure to backup your files and be prepared for bugs if you do that.

More information

Credits

lorien's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lorien's Issues

Shape Tools

A tool to quickly create shapes lice rectangles or ellipses.

Usage:

  1. Select the tool.
  2. Click and drag. The shape gets created within your selection.

Additional keys:
Ctr → squares and circles.
Shift → create from center.

Brush smoothing settings

First off, thanks for the awesome tool!

I really like the simplicity of the current brush tool, but I noticed that it seems to be very sensitive to the perturbations of my pen when I use it with my drawing tablet. It might be useful to add some configurable smoothing options in order to allow smoother strokes. There are several line smoothing algorithms that could work, here's a discussion of a few: https://stackoverflow.com/questions/5829437/efficient-line-smoothing-and-or-simplification.

Fullscreen shortcut and menu action

Feature/enhancement description:
Fullscreen enhances the "distraction free mode". I have a local branch of Lorien with fullscreen support and I think many users may find it useful.

2021-10-28.19-52-28.mp4

If having fullscreen follows Lorien's philosophy, I could make a PR. Let me know!

Supereraser

In some whiteboard apps, like on whiteboardfox.com, the eraser is very 'dangerous' and the moment it touches an object the whole object just vanishes. It would be helpful to have a tool like this, either replacing the current eraser or implemented as a separate tool. For the time being, simply using the selection tool and pressing 'delete' is a good option.

Default canvas color setting does nothing

Lorien version:
Current Github version

OS/device including version:
Manjaro Linux

Issue description:
When changing the default canvas color in the settings the background color is still gray by default after relaunching the app.

Steps to reproduce:

  • Change the canvas color in the settings
  • Open a new tab or restart -> empty default canvas is still gray

Add Ability to Use Text Boxes Alongside Writing

Feature/enhancement description:

Add the ability to create text boxes.
Although this is primarily a drawing app, a really cool feature would be the ability to create text boxes, almost like how in photoshop you can draw, but also create text boxes.
Godot already has the text labels, so it might just take some readjusting if implemented.
Text boxes allow users to kinda draw their ideas, then label what they drew in a clean font, especially if their handwriting is messy like mine.

Changing Background color doesn't work

When you go into settings and attempt to change the default background color. It does not affect opening on a fresh file or any previous files. Brush color does change, however, so that is functional.

wish chinese file path support

Now, It not support chinese file path, when save or open white board. I wish this project can support chinese file path in futher, thank you.

Adding android/ios support

Feature/enhancement description:
Title explains it self although this goal might be quite a bit in the future

Add missing keys to translation, add automatic localization addition and some minor changes

I'm proposing the following changes, which, if approved, I will implement myself and make a pull request:

Add keys for:

  • Untitled project name
  • Theme names
  • Anti-aliasing methods

Also, currently it seems that there is a ERROR_NOT_IMPLEMENTED key, but then in the theme selector, "(not implemented yet)" is hardcoded in english. For this, first of all there should be code for translating the OptionButtons' items. Then I think ERROR_NOT_IMPLEMENTED should be changed to a more general NOT_IMPLEMENTED, as it would be used in places other than errors. Finally, it should be possible to have more than one space separated keys in a same string, and translate them separately. This would allow for, for example, "THEME_LIGHT NOT_IMPLEMENTED".

I think the least cumbersome way of implementing that would require a method in Utils.gd for translating strings that would, assuming that keys cannot contain spaces, translate each space separated word on it's own. This could also very easily accommodate for the use of placeholders in translations, such as "Autosave not yet implemented for (CURRENT_PROJECT_NAME)" or the such.

Finally, I would replace the manual addition of new localizations with an automated one by adding a NAME key at the top of every localization file and adding it to the language OptionButton, as well as replacing the const LANGUAGE_ID_*s and const LOCALE_*s with an array of locales created automatically at startup.

v0.2.0 mac release unable to start (Lorien is damaged and can't be opened)

Lorien version:
v0.2.0

OS/device including version:
MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)
Processor: 1,4 GHz Quad-Core Intel Core i5
Memory: 8 GB 2133 MHz LPDDR3
Graphics: Intel Iris Plus Graphics 645 1536 MB
running BigSur 11.2.3

Issue description:
When opening application it fails and gives error:
Lorien is damaged and can't be opened
The app has been modified, and its code does not match the original signed code. The app may be broken or corrupted, or it may have been tampered with

Steps to reproduce:
Download mac release and try to open

Lorien Crash when scaling window

Lorien version:
Lorien v0.3.0-dev

Tested on Code from Commit:
09cea89

OS/device including version:
Windows 10 x64 | v10.0.19042 Build 19042

Issue description:
Lorien Crashes When scaling window as small as possible
Screenshot (93)

ERROR: get: FATAL: Index p_index = 1 is out of bounds (size() = 1). At: ./core/cowdata.h:156

Steps to reproduce:
Scale the window as small as it can go. It will hang for a few seconds then crash

Add export configurations to project repository

In order to make it easier for users to build or package this project, would it be possible to add the export.cfg and export_presets.cfg files to this repository?

Godot supports exporting projects directly from the command-line using this syntax: --export <preset> <path>

(The <path> argument overrides the export_path option in export_presets.cfg)

So having those files included in the repository would allow users to clone and export the project automatically, such as through a script

Suggestions

Feature/enhancement description:

Hi to the contributors! First of all, amazing work. This is an exciting project. Here are some ideas that might help, I hope you find them useful.

Shortcut keys.

Although they should be programmable, I would recommend copying industry standards. If I jump into say Aseprite I have the same keys as Photoshop and I can move at ease. Space and click for grab and pan. B - Bush. E - Eraser. L - Line. G - Fill paint. Shift with brush activated should turn into real time line. Etc. (aseprite has the easiest to understand if you want to check their system)

Mouse and Navigation.

Mouse wheel should zoom in and out. (already does)

CTRL Mouse wheel should make cursor / brush larger / smaller.

Press and hold Mouse Wheel (button 3) and pan (same as Space and left click to pan)

Zooming in I should be able to continue with smaller and smaller brush sizes. So I can make use of that infinite zoom type / vector type effect. I could have a planning chart this way with all the notes in each little square I draw. Images inside. Text etc. Smaller and smaller it goes.

Paint issue:

When drawing, if I try and draw a box say, often the corner will 'bend' behind my brush. IE: It's not creating a new vector point at the time I move the brush 90 degree. So I get a box with beveled corners. It should recognise a hard turn is occurring and add a point at that moment to keep the clarity of the shape.

Other:

Antialiasing is too blurry on the painted lines. I turn it off and it looks WAY better. Maybe a simple 1 pixel AA or similar? I'm not sure but it's too much at present.

I hope these points help. I love your project and am excited to see it happening.

Suggestion: Weblate for Translations

Feature/enhancement description:

Hello,

I'd like to suggest using Weblate for translations, makes it much easier for the translators.

I would then add Swedish. :D

Idea: better color picker

Feature/enhancement description:
Currently, our color picker is great, but not good for quickly changing commonly used colors:
image

Inkscape has an amazing color picker and I think Lorien could really benefit from implementing something like this:
image

While it's not necessary to do it exactly like that, the colors themselves and the idea of putting commonly used colors somewhere easy to access is a really great thing to have.

Win 10 Open with... support

Feature/enhancement description:

I am double clicking on a .lorien file in windows explorer. It opens the "open with" dialog and I select lorien.exe.
When I try to open the .lorien file it should open the file in lorien. It instead opens a new untitled file in a new window of lorien.

I am running windows 10 pro 21h1

The program should be able to open a supported file by selecting the lorien.exe in the "open with..." dialog.

Add resizing and rotation of strokes

Feature/enhancement description:

Title. I did bring this up on the reddit, but felt it should be on here for record. Rotation isn't too necessary atm, but I do feel that scaling is definitely something that should exist.

Also, side note, but is the eraser not actually erasing? Is it just the color grey?

Rounded off Line Endings Option/Default

Feature/enhancement description:
I'd prefer the line endings shown in the image below:
Screenshot (90)
rather than:
Screenshot (89)

I already kind of have a solution to this, I'd like to ask though if this could just be the default or if I should make this an option in the menu.

Line disappers if you draw it for too long

Lorien version: 78c06a8 or release v0.2.0

OS/device including version:
KDE neon Testing Edition 20.04
Nvidia driver: 460.80

Issue description:
If you draw for long enough with pressed left mouse button the line you drew disappears.

Demonstration here: https://www.youtube.com/watch?v=LDZc1JiYunI

--- Debugging process started ---
Godot Engine v3.3.2.stable.official - https://godotengine.org
OpenGL ES 2.0 Renderer: GeForce GTX 1650/PCIe/SSE2
OpenGL ES Batching: ON
 
Loading i18n file: res://Assets/I18n/en.txt
Loading i18n file: res://Assets/I18n/it.txt
Loading i18n file: res://Assets/I18n/es.txt
Loading i18n file: res://Assets/I18n/de.txt
Stroke points: 1571 (517 removed by optimizer)
Stroke points: 1592 (739 removed by optimizer)
Stroke points: 19 (7 removed by optimizer)
Stroke points: 17 (8 removed by optimizer)
Stroke points: 1237 (918 removed by optimizer)

Steps to reproduce:
Just draw a line for long enough and it will disappear

Discussion board?

Feature/enhancement description:
Hi, it's me again!

Lately I've been (successfully) using Lorien with my Huion tablet to make some sketches and taking some notes during my engineering study sessions. So thanks again for making this software and letting us contribute.

WMSRr20sZQ.mp4

Would you consider opening a Discussion section here on this repo?
I've been using it quite a lot for some of the plugin I'm co-developing (as this example) and I've found it very useful in order to discuss about features and stuff directly with users, without having the necessity to have a discord server, or receiving emails, or using Issues.

I'd like to propose some features, but first I'd like to understend if they are even relevant to your roadmap or not, so having a direct discussion would be helpful. Thanks!

UI scaling for high resolution screens

Some users on Reddit reported that on high resolution screens the UI is very small (the UI is designed around 1920x1080 right now). I think the best way to handle this is to autodetect the resolution and set the ui scale appropriately. But i would also add an option to manually set the scale in the settings.

Bucket Fill option:

Bucket Fill option:

This is a great app, but I am really missing the option to fill an area with a single colour.

Lines are hard to select

Lorien version:
v0.3.0

OS/device including version:
Manjaro Linux

Issue description:
When using the line tool to draw lines, it's hard to select them afterwards because you have to select either the start or the end. But if you try to select the line in the middle it wont work. I'm working on subdividing the line so that there are more points (still not many!) so you can select it better.

Decrease file size by storing colors in a table

I realize that this is not something the project needs currently, but I had the idea for it so I'm suggesting it.

Basic concept:

Instead of storing color separately for every stroke:

  • store all colors in a table
  • hold an index to the table in every stroke

Further improvements

Allocate a region of the indices (say, 0x00 - 0xFF) for predetermined, heavily used colors (Ideally, the ones being suggested by the color picker).

Implementation

  • null-terminated table
  • store a value containing the size of the indices (i.e. 8 for uint8, 16 for uint16) so we don't store unnecessary 0's while also allowing for infinitely many colors

User Interface: Zoom In / Out Using Keyboard / Pen

Zoom In / Out Using The Keyboard/Pen

ALT- Pen already 'pans' across the board, so that is good, but the Zoom needs to be consistent with using the pen and keyboard as well, and could mimic other software interfaces that users are already familiar with and expecting to work the same way.

Photoshop, Krita, Affinity Designer:
Spacebar-Down = Pan image
Ctl - Spacebar + PenDown + Up/Down Movement = Zoom In / Out

Pretty sure this is common for many other applications, with some variation.

Note: I don't consider this an enhancement, but a basic UI interface requirement :D

UI issue

Lorien version:
0.2

OS/device including version:
Manjaro Linux

Issue description:
When switching to Spanish in the settings the UI gets smaller. I think i know how to fix it but i'm still struggeling a bit with Github/Git. I am going to upload a fix if i figured it out though.

esp

Steps to reproduce:
Change language to spanish

Color Presets don't save after 1

Lorien version:

Lorien v0.2.0

OS/device including version:

Windows 10 Pro Version 1909

Issue description:

In the Color Preset menu (top right), selecting a new color and clicking the plus button closes that color window instead of adding a new color 99% of the time. It works eventually if there are no other saved colors, but once there's at least one color saved no more will save, and enough attempts at adding another causes the program to eventually crash.

Steps to reproduce:

Example demonstration.
https://gyazo.com/ea22705f1ef3c8c12d98a1565d55542e

I was able to get that ^ previous color to save eventually, but it proceeded to not save further colors.
image

Flatpak?

Feature/enhancement description:

It would definitely be useful to have this to make Linux distribution easier. There's a Godot runtime that can be used, but I was having some trouble getting it set up as there is no documentation yet.

Center view to mouse cursor

Shortcut to center the view in the mouse cursor, so when we are sketching a diagram or something like it, it is not so troublesome to keep scrolling the view everytime.
Centering it will make the whole task more productive

EDIT: I could try to implement this myself, but I would need some guidance. If you can point me a direction, I would love to help!

UI changes to accomodate for new themes

Feature/enhancement description:

  • Add a directory for each theme in the Themes directory
  • Make the names of the files inside each of those folders generic
    That would allow for easy updating of the theme by using load("res://UI/Themes/[the theme name]/[the file name].tres"), where the file name can be 'theme', 'style_tab_active', etc.
  • Save the PanelContainer custom style for the ColorPickers as a resource
  • Make the CheckButton's background transparent
  • Add a theme_changed(theme_directory) signal to Settings, and connect to it from Main.gd, ProjectTab.gd, and in general any object that needs to update when the theme changes
  • Change the STYLE_ACTIVE and STYLE_INACTIVE consts in ProjectTab.gd to regular vars, and update them on receiving the theme_changed signal
  • Change the UITheme enum in Types.gd to a PoolStringArray of theme names, which should correspond with the directory name for those themes. Maybe it would make sense to move it to Settings.gd because of its similarity with locales and language_names
  • Add a function in Settings.gd to set the values in the aforementioned PoolStringArray from the names of the sub-directories of Themes
  • Set the options in the theme OptionButton in the settings dialog from script in a similar manner to the languages. I don't really think they should be sorted in any particular way, since there's not gonna be hundreds of them like the languages.

Player can stand on erase paths

Lorien version:

Latest commit on player branch

OS/device including version:

Operating System: Arch Linux
KDE Plasma Version: 5.22.4
KDE Frameworks Version: 5.84.0
Qt Version: 5.15.2
Kernel Version: 5.13.8-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 8 × Intel® Core™ i5-8265U CPU @ 1.60GHz
Memory: 15.5 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics 620

Issue description:

When the player is spawned, they have collision with both draw and erase paths, which looks unnatural.

2021-08-08.14-30-34.mp4

Steps to reproduce:
Draw with the eraser.
Spawn player and move them to where you have drawn with the eraser.

Only a part of the screen is drawing in full screen mode

Lorien version:
v0.1.0

OS/device including version:
Device Surface Pro 7
Processor Intel(R) Core(TM) i5-1035G4 CPU @ 1.10GHz 1.50 GHz
Installed RAM 8.00 GB (7.60 GB usable)
System type 64-bit operating system, x64-based processor
Pen and touch Pen and touch support with 10 touch points

Issue description:

image

Steps to reproduce:
Full screened, zoomed in and drew around as much as possible however not all the screen was drawing.

Selection rectangle stays if right click pressed without letting go of left click

Lorien version: 0.2.0

OS/device including version:
Operating System: Arch Linux
KDE Plasma Version: 5.21.5
KDE Frameworks Version: 5.82.0
Qt Version: 5.15.2
Kernel Version: 5.12.9-arch1-1
OS Type: 64-bit
Graphics Platform: X11
Processors: 8 × Intel® Core™ i5-8265U CPU @ 1.60GHz
Memory: 15.5 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics 620

Issue description:
When holding left click to drag a rectangle with the selection tool, if right click is pressed the selection is cancelled. The expected behavior in this case would be for the selection box to disappear, but it remains in it's last state before the selection was cancelled until another selection is started.

Steps to reproduce:
Start dragging a selection rectangle and, without letting go of left click, press right click.

Remember last session/canvas

Hey! First off, love the tool. I had switched to linux as my daily driver and I've been missing an app like this that looks nice and feels good to use. Coming from Windows, there is a program called Milton which is similar in a few ways. That said...
Feature/enhancement description:
I think it would be useful for Lorien to remember the last session(s) the user had open. This removes the need for a "save" nag screen and, in my opinion, helps the simplicity and non-intrusiveness aspect of Lorien.

I can think of two ways to implement this off the top of my head:

  1. Have a default session/file that is saved in the user:// directory. This could be most useful for people like me who like to sketch on a single canvas and don't use different files much.
  2. Save every unsaved session into user:// or the custom directory set in the settings on quit, perhaps with a setting to turn it on or off. This would eliminate the "save on quit" dialog entirely, potentially at the cost of higher load if the user has a number of canvases open.

I was going to fork this and implement it in the near future anyway and wondered if this is something you'd like to have in the base repo. Let me know what you think!

Adjustable pressure sensitivity

Hello,
i am using Lorien as a Paint replacement to quickly design new levels for my game with my drawing tablet. Thank you for developing it and making it open source....i really love it! I didn't even know Godot could do that.

I was just wondering if it is possible to add adjustable pressure because i need to press pretty hard on my tablet. Thanks

Custom texture as background

It would be nice to be able to choose an image (PNG or JPEG) to use as a 'repeating texture' instead of a background color. This would help people who want a more interesting background texture. Personally, my use case is a bit different. I want to be able to set the background to an image containing a math problem to solve (e.g. it might say "Solve x^2 - 1 = 0"). For my particular use case, it's very important that the image remain un-stretched; I'd like it displayed pixel-by-pixel.

Remember The Window State & Last File Opened

To Remember The Last Opened State Of The Window

The app right now does not remember it's last window sizing state, and always opens in default size. On a UHD window, where the UI is already tiny, this just adds another obstacle to working within the app quickly.

If Lorien is closed full screen, it should open full screen.

Use case: Quality of life and happiness using the app. Quick access to working in the app without interruption.

Related: To Remember The Last Opened File and Auto Load It

Use case: Be able to continue working in the last file opened, as Whiteboards will always be constantly opened and new content added, perhaps many times during the day. If the app closes (or crashes), the file is forgotten and the user must open the file again.

Improve macOS installer

I like that you provide a .dmg for installing Lorien to macOS, but it would be even better if there would be the typical 'drag the application to the applications folder'-experience.

Export functionality (svg, png, etc.)

Right now the export functionality essentially acts like a screenshot, only exporting what is visible on the window. I believe most users would prefer the default functionality to be to export the whole canvas, with the corners set to make sure nothing is cut off. They can then use a screenshot tool to take a picture of the visible space on the canvas if they want.

Brush tool inactive when switching to unfocused window

Lorien version:
Git main

OS/device including version:
Manjaro Linux, xfce

Issue description:
When Lorien is unfocused and i switch to it from another program, the brush tool sometimes won't activate. To fix it i have to click on a ui element like the menu bar. Then it works.

Interactive wheel shortcut

Have a shortcut to create an interactive wheel shortcut, this way we can select any type of tool without having to take our hands out of the pen, and with a single shortcut.
image

This is only a sketch to illustrate what I am thinking

Preset colour/fade combinations

In ppInk, you can set up 9 different colours, corresponding to the hotkeys 1 through to 9. Each color can also be given a "time to live", after which it fades away. This is very useful for recording videos. The persistent stuff can all be one colour (e.g. blue) and the stuff that just needs to be there temporarily can be another colour (e.g red). You can configure the red to fade away after 10 seconds, which ensures the screen never gets cluttered with annotations that were only helpful in the very short term. It would be quite helpful if Lorien were to implement this feature.

Improve selection feature - finer grain, and ability to unselect individual objects in a collection set

Tested on Linux Ubuntu 20.04.

Feature/enhancement description:
Allow for more fine-grain selection of objects. We should be able to box-select part of an object and have that object selected. For example, here I box-select the end of an arrow (arrow head and arrow line) but upon mouse release they are not selected.

Screenshot at 2021-06-04 13-45-05

The only way to select that arrow is to bounding-box select the entire object, which includes other objects I don't want to select...

Screenshot at 2021-06-04 13-50-38

Once objects have been selected, there seems to be no way to unselect individual objects in that collection. If I shift+mouse-box-select one selected object in a collection of selected objects, I would expect that one object to be unselected.

Screenshot at 2021-06-04 13-56-59

Add partial selection support

Feature/enhancement description:

It's a common feature in CAD software to be able to select elements based on "partial" or "total" selection.

In FreeCAD, dragging the selection rectangle from right-to-left will only select elements that are entirely contained within the selection rectangle.

However, dragging the selection rectangle from left-to-right will select any element entirely or partially contained in, or "touched" by, the selection rectangle.

Having this sort of functionality for the selection rectangle would be very useful and more powerful than how it currently operates.

If, for example, I have two overlapping elements, one larger than the other, it can be difficult if not impossible to select the larger element without selecting the smaller element as well using the current selection tool, but "partial" selection makes this very easy.

(Also, I don't want to create a separate issue for it, but it currently seems impossible to select an element by simply clicking on the stroke. It seems you have to select it inside the rectangle. So, that's another minor enhancement that would be nice to have.)

Thanks for developing this software! I'm already using it almost every day as a replacement for Milton, and it works very well. I'm not sure if I explained this feature very clearly, so please ask questions if you have any.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.