Recursive rectangles

From Organic Design wiki
Revision as of 01:30, 6 December 2006 by Nad (talk | contribs)

Completed on 14:29, 6 Dec 2006 (NZDT), next milestone is box model

This milestone integrates the layers (rectangles) achieved by the geometry milsetone with the nodal model by giving them containment as a (tree of layers), and integrates the mouse input with tree allowing a particular rectangle in the tree to be clicked on. The render method of rectangles and the collision-detection test method for the mouse click are both nodal workflows passed around the tree until completed.

This is the first step towards widgets for the nodal interface. This very basic milestone involves a mouse-click event initiating a workflow to resolve the recipient of the click. This recipient then creates a sprite within its own bounds.


Recursive-rectangles.png


This example image of the recursive rectangles output based on the current peerd.c/interface.c shows the kind of sprites and their layout configuration as they're created. The current version of interface.c does not resolve a recipient, rather all sprites are created in the background (desktop) layer, the image above was made to show the recursive aspect with photoshop, but should be outputting this kind of structure natively very soon.

Process and testing

  • Mouse click event is detected in interface.c environment
  • New click-node created containing click-type, time info and a spriteInfo struct for click metrics
  • click-node would be hooked in to current time-tree loop here if record needed
  • click-node/nodeCODE is set to &click (later all function references read from nodal function structure, see execution)
  • when &click resolves a recipient node,
    • create new sprite-node (using &spriteInit)
    • hook the sprite-node into time-tree wco click-node
  • aggregate click-node info and destroy (node is merged in to parent)