Personal tools

Ultra Changes

From OrganicDesign Wiki

Jump to: navigation, search
Image:legacy.png
Legacy: This article describes a concept that has been superseded in the course of ongoing development on the Organic Design wiki. Please do not develop this any further or base work on this concept, this is only useful for a historic record of work done. You may find a link to the currently used concept or function in this article, if not you can contact the author to find out what has taken the place of this legacy item.


I started calling the new changes the Ultra Changes as a joke, but now my mind has associated this development thread with it, so that's the name of it now ;) The Migration Day milestone has been too difficult to strive for directly, so a smaller "stepping-milestone" called Interface has been defined which is about implementing the current style of "ultra changes" in the peerd.c environment, and then in peer.as as well so it can replace the current recent-changes and logo-changes check out http://www.airtightinteractive.com/flash/marquee/MarqueeFlipper.html for a sweet effect.


Contents

1 General aspects

  • Based on Geometry, create a hard-wired table in the current nodal structure incl event model for filtering
  • Requires user-prefs for remote changes, last-used filters and rendering size/format etc
  • Must have configurable background and columns so can be used for RC, logo or standalone (ie query-string-based pref settings)
  • Distribute external wiki polling across peers (by distributing information and scheduled lookup work)
  • Use existing XmlWiki->peer change notification method instead of polling
  • Use a png chr set for now so fixed font size/style, but extend later to build/cache the pngs from font metrics

2 Current todo

When I get back into the peerd.c development in the next few days I'm going to extend the current onClick-create test toward the ultra-changes:

  • Make PNG a property of sprite instead of hard-wired
  • add fill-colour property for clipped filled-rects again
  • Containment: allow child rects with relative x,y positioning based on dimension property
    • Containers are the node (device independent), sprites are spriteInfo-structs (device-specific)
  • hard-wire some children into each created sprite node
  • do collision workflow
  • change onClick to nodal recipient of collision
  • make onClick create the new node within said recipient

3 Nodal structure

The curent deserialised nodal structure must be slowly refined and extended to create the ultra-changes as a nodally executing user-interface environment. This is a prototype-based environment, so this "hard-wired" interface structure of tables and rows is actually defining both class and instance - ie an instance of today can become a "base class" as more refined version evolve...

3.1 Sprite

  • read PNG from a property instead of hard-wired colour-wheel test
  • use a fill property to create a background fill (behind the PNG if any)
  • Do containment and add dimension layout property, then alignment

3.2 Table

  • currently this is the desktop node, the root of the user-interface

3.3 Rows

  • The root Table is a list of rows
  • rows has metrics function is a workflow completed before the end of the frame

3.4 Columns

  • cols has metrics function is a workflow completed before the end of the frame

3.5 Paragraph

  • The content of each cell is a paragraph
  • It can start simply as a single-line text composed of a sequence of PNG's (which is what a word will be later)

3.6 Content

  • The actual content (which words and in what order)
  • changed by functions hooked in from change-events from XmlWiki and from polling results
  • external site polling will later be changed to distributed polling schedule

4 See also

The GNU Project Debian Linux Ubuntu Linux Wikipedia online encycopedia MediaWiki