diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2018-07-01 23:09:48 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2018-07-01 23:27:17 +0000 |
| commit | 986bcec799268514e328f411972b8cd03800f220 (patch) | |
| tree | 72b265bd6a2b7828c60a25bfcb871567325b24b7 | |
| parent | export asnode, append helpers (diff) | |
| download | mmm-986bcec799268514e328f411972b8cd03800f220.tar.gz mmm-986bcec799268514e328f411972b8cd03800f220.zip | |
write realities paper
| -rw-r--r-- | app/index.moon | 6 | ||||
| -rw-r--r-- | app/realities.moon | 374 | ||||
| m--------- | dist | 0 |
3 files changed, 295 insertions, 85 deletions
diff --git a/app/index.moon b/app/index.moon index d566ed1..9b94436 100644 --- a/app/index.moon +++ b/app/index.moon @@ -5,9 +5,9 @@ import h1, p, a, br, ul, tt, li from require './html.moon' moon = '\xe2\x98\xbd' demos = - twisted: 'canvas animation', - todo: 'Todo demo of a simple reactive UI framework', - realities: 'SVG graphics for a paper on VR and realities', + 'twisted': 'canvas animation', + 'todo': 'Todo demo of a simple reactive UI framework', + 'realities': 'draft of a paper on virtual and other realities', 'center-of-mass': 'aligning characters by their centers of mass', 'test-component': 'Test suite for the UI framework', diff --git a/app/realities.moon b/app/realities.moon index 3e35252..990d9f4 100644 --- a/app/realities.moon +++ b/app/realities.moon @@ -1,7 +1,7 @@ window = js.global { :document, :eval } = window -import div, button from require './component.moon' +import asnode, h1, h2, p, i, div, br, span, button, article from require './component.moon' require 'svg.js' SVG = @@ -55,8 +55,7 @@ class Diagram arrow: (char, x, y) => with @arrows\plain char \attr arrattr - print 60 - \move (x + 1) * GRID_W, (y - 0.5) * -GRID_H - 9 + \move (x + 1) * GRID_W, (y - 0.5) * -GRID_H - 11 -- inout: (x=@width, y=@y) => @arrow '⇋', x, y -- U+21CB -- inn: (x=@width, y=@y) => @arrow '↼', x, y+0.25 -- U+21BC @@ -67,14 +66,14 @@ class Diagram mind: (label='mind', ...) => @block '#fac710', label, ... phys: (label='phys', ...) => @block '#8fd13f', label, ... - tech: (label='tech', ...) => @block '#9510ac', label, ... + digi: (label='digi', ...) => @block '#9510ac', label, ... next: => @y = 0 @width += 1 - getNode: => - return @node if @node + finish: => + return if @node @svg\add @arrows @width += 1 @@ -82,86 +81,297 @@ class Diagram @svg\size w, h @svg\viewbox 0, -h, w, h @node = @svg.node - @node -diagrams = - 'Solipsism': with Diagram! - \mind! - - 'Cartesian Dualism': with Diagram! - \mind! - \inout! - \next! - - \phys! - - 'Waking Life': with Diagram! - \mind! - \inout! - \phys! - - \next! - \phys '', 2 - - dream: with Diagram! - \mind! - \phys! - - 'VR2018': with Diagram! - \mind! - \phys! - - \next! - \phys '', 2 - - \next! - \tech! - \phys '' - - \inout 0, 1 - \inout 1, 1 - - 'Matrix': with Diagram! +addlabel = (label, diagram) -> + with div style: { display: 'inline-block', margin: '20px', 'text-align': 'center' } + \append diagram + \append div label + +figures = do + style = + display: 'flex' + 'align-items': 'flex-end' + 'justify-content': 'space-evenly' + (...) -> div { :style, ... } + +document.body\append asnode with article style: { margin: 'auto', 'max-width': '750px' } + \append h1 "Reality Stacks" + + \append h2 "Abstract" + \append p "In this paper we compare various multi-reality approaches such as VR and AR with each other as well as + related idealized technologies from popular culture.", br!, + "To this end we propose a new type of diagram that allows visualizing the complex structures encompassing multiple + reality laters that are concurrently inhabitated by the subject of such an experience." + + \append h2 "Definitions" + for term, definition in pairs { + "layer of reality": "a closed system consisting of a world model and a set of rules or dynamics operating on and + constraining said model.", + "world model": "describes a world state containing objects, agents and/or concepts on an arbitrary abstraction level.", + break: 1, + "reality stack": "structure consisting of all layers of reality encoding an agent's interaction with his environment + in their world model at a given moment, as well as all layers supporting these respectively." + next: 2, + "physical reality": "layer of reality defined by physical matter and the physical laws acting upon it. + While the emergent phenomena of micro- and macro physics as well as layers of social existence etc. may be seen + as separate layers for the purpose of this paper we will group these together under the term of physical reality." + "mental reality": "layer of reality perceived and processed by the brain of a human agent.", + "digital reality": "layer of reality created and simulated by a digital system, e.g. a virtual reality game." + "phys, mind, digi": "abbreviations for physical, mental and digital reality respectively.", + } + if 'number' == type definition + \append document\createElement 'hr' + continue + \append with div style: { 'margin-left': '2rem' } + \append span term, style: { + display: 'inline-block', + 'margin-left': '-2rem', + 'font-weight': 'bold', + 'min-width': '140px' + } + \append span definition + + \append h2 "Introduction" + \append p "Reality stack diagrams provide a way to plot two main axes of a given stack against each other:", br!, + "On the vertical axis ownership or nesting of layers of realities is shown; from the bottom upwards each block, + representing a layer of reality, is contained within the one above; i.e. it exists within and can be represented + fully by the parent layer’s world model and its rules emerge from the dynamics of the parent layer.", br!, + "The horizontal axis arranges layers of reality based on their appearance with respect to subjects interacting + with the model. In the bottom left corner the subject’s internal model and reality provides the origin of + the diagram. The world models that the subject is aware of are placed in the opposing right corner." + + \append p "Information flows, as represented by the white arrows, in two directions; + towards the left, corresponding to information received and perceived by the subject, as well as + towards the right, corresponding to actions taken in the space of the world model.", br!, + "In between the two poles additional layers may be traversed by the information flowing one or both ways." + + \append p "Before we take a look at some reality stacks corresponding to current VR and AR technology, + we can take a look at waking life as a baseline stack. To illustrate the format of the diagram we will compare it + to the stack corresponding to a dreaming state:" + + \append with figures! + \append addlabel "Waking Life", with Diagram! + \mind! + \inout! + \phys! + + \next! + \phys '', 2 + \finish! + + \append addlabel "Dreaming", with Diagram! + \mind! + \phys! + \finish! + + \append p "In both cases, the top of the diagram is fully occupied by the physical layer of reality, colored in green. + This is due to the fact that, according to the materialistic theory of mind, human consciousness owes it's existance + to the physical and chemical dynamics of neurons in our brains. Therefore our mental reality must be considered + fully embedded in the physical reality, and consequently it may only appear underneath it in the diagram." + + \append p "During waking life, we concern ourselves mostly with the physical reality surrounding us. + For this reason the physical reality is placed in the lower right corner of the diagram as the layer holding the + external world model relevant to the subject. Information flows in both direction between the physical world model + and the subject's mental model, as denoted by the two white arrows: Information about the state of the world model + enter the subjects mind via the senses (top arrow, pointing leftwards), and choices the subject makes inside of and + based on his mental model can feed back into the physical layer through movements (lower arrow, pointing rightwards)." + + \append p "In the dreaming state on the other hand, the subject is unaware of the physical layer of reality, though + the mind remains embedded inside it. When dreaming, subjects' mental models don't depend on external models, hence + the mental layer of reality must be the only layer along the bottom of the diagram." + + \append h2 "Current Technologies" + \append p "Since recent technological advancements have enabled the development of VR and AR consumer devices, + AR and VR have been established as the potential next frontier of digital entertainment.", br!, + "As the names imply, the notion of reality is at the core of both technologies. + In the following section we will take a look at the respective stacks of both experience types:" + + \append with figures! + \append addlabel "VR", with Diagram! + \mind! + \phys! + \inout nil, 1 + + \next! + \phys '', 2 + \inout nil, 1 + + \next! + \digi! + \phys '' + \finish! + + + \append addlabel "AR", with Diagram! + \mind! + \inout nil, 1.25 + \inn nil, 0.5 + \phys! + + \next! + \phys '', 2 + \inn nil, .5 + + \next! + \digi nil, .5 + \phys '', 1.5 + \finish! + + \append p "In both cases we find the physical layer of reality as an intermediate between the mental and + igital layers. Actions taken by the subject have to be acted out physically (corresponding to the + information traversing the barrier between mental and physical reality) before they can be again digitized using + the various tracking and input technologies (which in turn carry the information across the boundary of the physical + and digital spaces)." + + \append p "The difference between AR and VR lies in the fact that in AR the subject experiences a mixture of the + digital and physical world models. This can be seen in the diagram, where we find that right of the diagram origin + and the mental model, the diagram splits and terminates in both layers: while information reaches the subject both + from the digital reality through the physical one, as well as directly from the physical reality, the subject only + directly manipulates state in the physical reality." + + \append p "The data conversions necessary at layer boundaries incur at the least losses in quality and accuracy of + information for purely technical reasons. However intermediate layers come at a higher cost than just an extra step + of conversion: For information to flow through a layer, it must be encodable within that layer’s world model. + This means that, akin to the metaphor of the ‘weakest link’, the range of information that can flow between layers + of reality, and thereby the upper bound of experiences possible with a given reality stack, depends on the layer + least fit to encode a respective piece of information.", br!, + "As a practical example we can consider creating an hypothetical VR application that allows users to traverse a + large virtual space by flying. While the human mind is perfectly capable of imagining to fly and control the motion + appropriately, it is extremely hard to devise and implement a satisfying setup and control scheme because the + physical body of the user needs to be taken into account and it, unlike the corresponding representations in the + mental and digital world models, cannot float around freely." + + \append h2 "Future Developments" + \append p "In the previous section we found that the presence of the physical layer in the information path of + VR and AR stacks limits the experience as a whole. It follows that the removal of that indirection should be + an obvious goal for future developments:" + + \append figures addlabel "holy grail of VR: 'The Matrix'", with Diagram! \mind! \inout! \phys! \next! - \tech! + \digi! \phys '' - - AR: with Diagram! - \mind! - \inn! - \out! - \out 1, 1 - \phys! - - \next! - \phys '', 2 - - \next! - \tech nil, .5 - \phys '', 1.5 - - magic: with Diagram! - \mind! - \inn! - \out! - \phys! - - \next! - \tech nil, .5 - \phys '', .5 - \out 1, 1 - \phys '' - - \next! - \phys '', 2 - -for name, diagram in pairs diagrams - parent = div style: { display: 'inline-block', margin: '20px' } - parent\append diagram\getNode! - parent\append div name - parent\append button 'export', onclick: => window\alert diagram.svg\svg! - document.body\appendChild parent.node + \finish! + + \append p "In the action movie 'The Matrix', users of the titular VR environment interface with it by plugging cables + into implanted sockets that connect the simulation directly to their central nervous system.", br!, + "While these cables and implanted devices are physical devices, they don't constitute the presence of the + physical layer of reality in the information path because while they do transmit information, the information + remains in either the encoding of the mental model (neural firing patterns) or the encoding of the digital model + (e.g. a numeric encoding of a player character's character) and the conversion is made directly between those two - + the data never assumes the native encoding of the physical layer (e.g. as a physical motion)." + + \append p "While we are currently far from being able to read arbitrary high-level information from the brain + or to synthesize sensual input in human perception by bypassing the sensory organs, brain-computer interfaces (BCI) + are a very active area of research with high hopes for comparable achievements in the near future." + + \append p "Applying this same step of removing the physical layer of reality from AR, we end up with something similar + to the nano-particle drug in ", (i "Nexus"), ". However this does not grant the user a similar amount of control + over his experience as the holy grail of VR does, since the user and the physical part of the environment remain + bound by the physical layer of reality's laws.", br!, + "Instead the holy grail of AR is reached with the creation of a god machine that can manipulate the state of the + physical world according to the user's wishes. In this way the digital and physical realities become unified and + full 'augmented'." + + \append with figures! + \append addlabel "'Nexus'", with Diagram! + \mind! + \inout nil, 0.75 + \inout nil, 1.25 + \phys! + + \next! + \digi nil, .5 + \phys '', 1.5 + \finish! + + \append addlabel "holy grail of AR: 'Deus Machina'", with Diagram! + col = '#92807c' + + \mind! + \inout! + \block col, '' + + \next! + \block col, '', 2 + .svg\plain('phys + digi')\attr(o fill: 'white', 'font-size': '14px')\move 6, -2 * GRID_H + \finish! + + \append h2 "Conclusions" + \append p "Despite the similarities of VR and AR, the two can be considered polar opposites, as becomes evident when + we compare their respective utopian implementations: they share the goal of allowing us to experience realities + different from the one we naturally inhabit, but while VR seeks to accomplish this by creating a new, nested reality + inside ours, thus giving us full control over it, AR is instead an attempt to retrofit our specific needs directly + into the very reality we exist in." + + \append h2 "Relation to Theories of Mind" + \append p "This paper starts from a deeply materialistic point of view and borders on microphysicalism. + However it should be noted that the diagram style introduced above lends itself also to display other + philosophical theories of mind. As an example, the following graphics show a typical VR stack as interpreted by + Materialism, Cartesian Dualism and Solipsism respectively:" + + \append with figures! + \append addlabel "VR in Materialism", with Diagram! + \mind! + \inout nil, 1 + \phys! + + \next! + \phys '', 2 + \inout nil, 1 + + \next! + \digi! + \phys '' + + \finish! + + \append addlabel "VR in Solipsism", with Diagram! + \mind nil, 2 + \inout nil, 1 + + \next! + \digi! + \mind '' + \finish! + + \append addlabel "VR in Cartesian Dualism", with Diagram! + \mind nil, 2 + \inout nil, 1 + \next! + + \phys nil, 2 + \inout nil, 1 + \next! + + \digi! + \phys '' + \finish! + + \append p "However these philosophical theories of minds also constitute reality stacks by themselves and as such can + be compared directly:" + + \append with figures! + \append addlabel "Materialism", with Diagram! + \mind! + \inout! + \phys! + + \next! + \phys '', 2 + \finish! + + \append addlabel "Solipsism", with Diagram! + \mind! + \finish! + + \append addlabel "Cartesian Dualism", with Diagram! + \mind! + \inout! + \next! + + \phys! + \finish! diff --git a/dist b/dist -Subproject 58a4468e7e2ab737c12d3c46770462294fceb00 +Subproject 6462cfe7581ed71780de1b5572192de85b07afe |
