pict 1.0.139 → 1.0.141

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,8 +1,55 @@
1
1
  # Pict
2
2
 
3
- Behaviors and access to Retold stuff in the browser.
3
+ Pict is a non-opinionated set of tools to provide the disparate parts of Model, View and Controller patterns to web, console and other applications where the UI is primarily represented as text strings.
4
+
5
+
6
+ ## What is Model-View-Controller
7
+
8
+ Wow what a contentious question. Just like Thanksgiving dinner. Aaaanyway the pict framework doesn't care what you think Model-View-Controller (MVC) is; it lacks opinionation and is designed to work in odd circumstances. Each tool can be used discretely, or, they just work together if you want to use them as designed.
9
+
10
+
11
+ ### According to the original Inventor, Model-View-Controller is:
12
+
13
+ Trygve Reenskaug, originator of MVC at PARC, has written that "MVC was conceived as a general solution to the problem of users controlling a large and complex data set."
14
+
15
+
16
+ ### According to Wikipedia, Model-View-Controller is:
17
+
18
+ _(Wikipedia being the acknowledged universal source of truth for humanity?)_
19
+
20
+ > Model–view–controller (MVC) is a software design pattern[1] commonly used for developing user interfaces that divides the related program logic into three interconnected elements. These elements are the internal representations of information (the Model), the interface (the View) that presents information to and accepts it from the user, and the Controller software linking the two.
21
+
22
+ > Traditionally used for desktop graphical user interfaces (GUIs), this pattern became popular for designing web applications. Popular programming languages have MVC frameworks that facilitate the implementation of the pattern.
23
+
24
+
25
+ ## A software Model is:
26
+
27
+ _(according to Wikipedia)_
28
+
29
+ > The central component of the pattern. It is the application's dynamic data structure, independent of the user interface.[14] It directly manages the data, logic and rules of the application. In Smalltalk-80, the design of a model type is left entirely to the programmer. With WebObjects, Rails, and Django, a model type typically represents a table in the application's database.
30
+
31
+
32
+ ## A software View is:
33
+
34
+ _(according to Wikipedia)_
35
+
36
+ > Any representation of information such as a chart, diagram or table. Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants.
37
+ >
38
+ > In Smalltalk-80, a view is just a visual representation of a model, and does not handle user input. With WebObjects, a view represents a complete user interface element such as a menu or button, and does receive input from the user. In both Smalltalk-80 and WebObjects, however, views are meant to be general-purpose and composable.
39
+ >
40
+ > With Rails and Django, the role of the view is played by HTML templates, so in their scheme a view specifies an in-browser user interface rather than representing a user interface widget directly. (Django opts to call this kind of object a "template" in light of this.) This approach puts relatively less emphasis on small, composable views; a typical Rails view has a one-to-one relationship with a controller action.
41
+ >
42
+ > Smalltalk-80 views communicate with both a model and a controller, whereas with WebObjects, a view talks only to a controller, which then talks to a model. With Rails and Django, a view/template is used by a controller/view when preparing a response to the client.
43
+
44
+
45
+ ## A software Controller is
46
+
47
+ _(according to Wikipedia)_:
48
+
49
+ > Accepts input and converts it to commands for the model or view.
50
+
51
+ ... and then a bunch of deviance
4
52
 
5
- Uses browserify to generate dist/pict.* and such from node modules.
6
53
 
7
54
  ## Luxury Code
8
55
 
@@ -37,6 +84,7 @@ bash terminal to the instance:
37
84
 
38
85
  `npm run docker-dev-shell`
39
86
 
87
+
40
88
  ## Unit Tests
41
89
 
42
90
  The unit tests require a running API server with the retold-harness data in it. The