Talk:Nodal geometry

From Organic Design wiki





old stuff to reintegrate later

The nodal geometry (aka layer model) underlies the two fundamental hierarchical layout methodlogies which are the polar and the rectangular. The general idea of containment applied within the geometrical context is implemented in the form of relativity of child co-ordinates to their parents.

The geometry notion is the base-class of polar and rectangular and as such encapsulates all that they share in common. The polar and rectangular notions are then defined as extending this base-geometry notion in their respective specialised directions. The graphical user interface of a peer is Desktop which defines the collection of widgets and can also be seen as the generic application to be extended by more sepcific application based on requirements fed back from the field of use.

At the most general level the geometry is defining the three dimensions of space. In the nodal model, as in the Taoist and the Advaita Vedanta systems, Time is not treated as simply one of the four dimensions composing the space-time continuum, but all four of them do work using the same method of discrete recursive sub-division.

The geometry is a sub-class of the Nodal Space which is in turn based on List Space. The geometry defines the three dimensions which each apply the nodal-recursion allowing the division of the dimension into a potential continuum.

At the level of interface, the base-geometry is sructured as a stack of z-ordered layers, which each contain a graphical object. All the layers at this level share the same origin, and the z-coordinate system is an integer sequence.


  1. The rectangular geometry (BoxModel)

This model extends the base-geometry in a slightly different way, in this case the layers follow the same hierarchy as the object's own containment and an object can create and remove layers from their context (by creating or removing child objects), and can directly manipulate which objects are assigned to which layers.

In this model, the parents rectangular bounds can be enforced onto the children (ie a window), and then various specific layout mechanisms applied within this context. There are two fundamental rectangular layouts used for the interface, table and paragraph, which are both designed to be conceptually compatible with the W3C Box Model.

The nodal BoxModel implementation uses standard properties to determine border and spacing metrics and styles and allows the organisation of the child objects into rows within the bounding rectangle. This level also handles the layout issues involved with the children occupying a larger rectangle than the parent (eg. scrollbars etc).

    1. Rectangular parent properties
  • dimension   (horizontal or vertical, order is the z dimension)
  • direction   (iterate list with prev or next)
  • border
  • margin
  • padding
  • background
  • children   (the items in the list to be laid out)
    1. Rectangular subclasses
Rectangular :: Table
Rectangular :: Paragraph
  1. The polar geometry (3DSpace)

The polar implementation of the geometry is being ported from space.as which already handles hierarchy, recursion and relativity of coordinates. Currently its coordinate system is actually rectangular (x,y,z), but this is actually not too important at this time.

In this system there is only one set of layers that all objects in the entire space reside in. The objects in the space form their own containment relationship independently of the layer-stack, and indeed have no direct knowledge themselves of the layers. The layer that any object resides on is handled by the polar geometry based on the object's 3D coordinates, not by the individual objects.

  • see Wikipedia:Octree - recursive subdivision used for collision detection in OpenGL.
    1. Polar parent methods & properties
(these are still in the process of being migrated to the nodal conceptual structure)
  • create
  • reduce
  • active
  • rotation
  • zbuff
  • zbLength
  • children
  • template
  • zSCREEN
  • zcmp
    1. Polar child properties
  • space
  • time
  • create
  • reduce
  • motion
  • die
  • x,y,z,scale
  • colour,alpha