unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: dalanicolai <dalanicolai@gmail.com>
To: Qiantan Hong <qhong@mit.edu>
Cc: "larsi@gnus.org" <larsi@gnus.org>, Emacs Devel <emacs-devel@gnu.org>
Subject: Re: new package: sketch-mode
Date: Mon, 30 Aug 2021 16:20:25 +0200	[thread overview]
Message-ID: <CACJP=3=3g6mujFC+DkZLVyq0TBUqc9=MJM1+m0rzRPVcshNbDw@mail.gmail.com> (raw)
In-Reply-To: <2F22AA60-BE0C-4FC2-BC97-B368C618E685@mit.edu>

[-- Attachment #1: Type: text/plain, Size: 3955 bytes --]

Ah, I remember that I linked to the package in my original
message, but indeed I do not find any link there (let me see if
this <https://github.com/dalanicolai/sketch-mode> works, otherwise the
package can be found at:
https://github.com/dalanicolai/sketch-mode).

Anyway, although I do not immediately see any big advantage of
having the image overlayed on a 'semantically corresponding
text', it sounds like an interesting idea. Maybe you can explain the
advantages in a little more detail.

I was thinking of creating a togglable side-window that can show various
'levels` of definitions (layers, objects etc.). It is not very useful to
get the
full definition of the svg image, as it is 'polluted' with the definitions
of
the grid and the object's labels. So a sketch-mode image is build up
modularly
using svg-groups, where the grid and labels and the different layers are
added
as different modules/groups. So when I overlay the image on semantically
corresponding text, I would not immediately know which part of the
definition
best to use for the text (the svg definition, the full elisp image
definition,
only the layers?)

Indeed, the package is only an isolated editor emulated in Emacs, but it has
certain advantages over more specialized software especially for simple svg
images; i.e. it is in Emacs, sketches can be created really quick and
finally it
is an Emacs package and therefore ultimately/easily hackable. So users can
implement whatever they like, e.g. snippets, and use elisp functions for
drawing certain patterns etc.

I have written a little motivation and vision in the sketch-mode wiki
<https://github.com/dalanicolai/sketch-mode/wiki>
(https://github.com/dalanicolai/sketch-mode/wiki).

Furthermore, if you would like to contribute/join in development then you
are
very welcome.

Finally, I think we should move further discussions to either a github
issue or
to the discussions board
<https://github.com/dalanicolai/sketch-mode/discussions> (
https://github.com/dalanicolai/sketch-mode/discussions).

Daniel

On Mon, 30 Aug 2021 at 08:00, Qiantan Hong <qhong@mit.edu> wrote:

> > I am writing primarily to notify you about a package, sketch-mode, I am
> working on. It provides a handy interface to quickly draw svg's using, well
> Emacs, but in particular svg.el and transient.el.
> > It is handy in particular for creating svg sketches really fast, while
> of course, it has the advantage over other svg drawing applications that it
> is very hackable in your favorite langauge :)
>
> This looks very exciting! Is the code available somewhere?
>
> One important question I have is, do you implement it by putting an SVG
> overlay/property over a single dummy character,
> or do you put it on a range of text that *semantically* correspond the SVG
> being displayed?
> I strongly recommend the latter model because it makes it possible to
> blend in Emacs,
> e.g. you can get cursor movement, selection, copy/yank etc relatively
> easily.
> Just for a started, suppose underlying text is structured as one word
> correspond to and SVG element,
> then one can use forward-word backward-word to move between elements.
> And there’s much more to explore using other existing structural editing
> command.
> On the other hand, overlaying over a single dummy character just sounds
> like inventing
> a different, isolated editor emulated in Emacs.
>
> I posted some more in-depth discussion over such issue here
> http://lambda-the-ultimate.org/node/5630#comment-96710
>
> If you find the above proposals compelling, I’m happy to collaborate on it
> if that’s helpful!
> I once experimented building a music notation software using the above
> discipline
> (character -> note head, word -> chord, sentence -> beamed note, paragraph
> -> bar)
> but eventually I abandoned it and get away with MuseScore.
>
> Best,
> Qiantan
>
>

[-- Attachment #2: Type: text/html, Size: 4725 bytes --]

      reply	other threads:[~2021-08-30 14:20 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-23 10:17 new package: sketch-mode dalanicolai
2021-08-23 13:31 ` Lars Ingebrigtsen
2021-08-24 21:57 ` Stefan Monnier
2021-08-27 10:06   ` dalanicolai
2021-08-30 22:45     ` Stefan Monnier
2021-09-15 15:42       ` dalanicolai
2021-09-15 15:42         ` dalanicolai
2021-09-15 20:03         ` Stefan Monnier
2021-09-18 11:25           ` dalanicolai
2021-08-30  6:00 ` Qiantan Hong
2021-08-30 14:20   ` dalanicolai [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CACJP=3=3g6mujFC+DkZLVyq0TBUqc9=MJM1+m0rzRPVcshNbDw@mail.gmail.com' \
    --to=dalanicolai@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    --cc=qhong@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).