Commit eeb86da7 authored by Jonathan Wilkes's avatar Jonathan Wilkes
Browse files

add new idea initially suggested by Jens Dreske, fix a link

parent a5609201
......@@ -26,6 +26,8 @@
[Visual Diff](#visual-diff)
[Encapsulation Ergonomics](#encapsulation-ergonomics)
Inject Purr Data Directly into the Web
......@@ -594,11 +596,12 @@ or unbind symbols even within a single call stack.
Visual/Animated Diff
Visual Diff
### Goal
Make a tool to visually show the changes in a Purr Data patch.
Make a tool to visually show the changes in a Purr Data patch, possibly
with animation.
### Details
Pd has a source file format that is difficult to read. Furthermore,
......@@ -616,3 +619,38 @@ solving that problem.
### Languages
C, possibly HTML5.
Encapsulation Ergonomics
### Goal
Improve Purr Data's techniques for encapsulation in the language.
### Details
Pd currently has two basic techniques for organizing diagrams. One is simply
to copy part of the diagram and paste it into a subpatch. That part of the
diagram becomes hidden inside a new object that appears on the parent window.
The other is to use so-called "abstractions", which are other Pd files that
are instantiated as an object on the parent.
Both cases present problems for developers. For example, the program should
be able to take a selection of objects and immediately put it into a subpatch
with the relevant inlets and outlets created inside the subpatch. Instead,
the user must manually cut, paste, and redraw the connections in the editor.
Second, users who want to encapsulate and reuse code must first save a
patch to the filesystem in the current Pd path, and then create a new object
with the same name as that file (minus the ".pd" extension). This makes
proper encapsulation more difficult than simply cutting/pasting subpatches,
leading to quick-and-dirty copy/pasta where more robust code reuse through
abstractions would have been preferred.
### Challenges
Much of Pd's current code assumes that abstractions must be loaded from
the file system instead of from some template that already exists in the
current patch file.
Additionally, a new class must be added to define a patch template that
fills the role that ".pd" files currently do for abstractions.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment