PEG projectsplit--tjl: Splitting and renaming Gzz

Author: Tuomas J. Lukka
Last-Modified:2003-02-21
Revision: 1.13
Status: Incomplete

Issues

Changes

The Gzz project will cease to exist: despite not being an acronym and being a buZZword, Gzz brings zzStructure to mind too easily.

The code that constitutes Gzz will be split into new projects in a layerwise fashion: some will depend on others but with as much independence as possible. This will enable reuse by others.

There will be an overall project called Fenfire which will depend on all the others. Fenfire is the 'real' system we're working towards.

The new projects (in order from least dependencies on others to most)

The following sections explain the new projects and what needs to be done for the first proper standalone release.

All projects shall continue using the PEG style process for frozen APIs; this is especially important since now others may begin to rely on those APIs. However, PEG 201 shall be changed so that the respective maintainers of each package have the final words on things.

The initial dependency structure is shown in the diagram below. There may be at least one more package needed, for example if the same classes in gzz.util are used by more than one package.

peg.gen.html#projectsplitting projectsplitting

Additionally, all packages use UMLLinker for documentation.

The packages are briefly detailed below, with their maintainers.

UMLLinker

Maintainer:Asko Soukka
License:GPL

A software engineering documentation tool using ReST and providing multidirectionally hyperlinked UML diagrams.

Storm

Maintainer:Benja Fallenstein
License:GPL

A new type of distributed computer storage framework with global, unique ids.

Todo:

  • Figure out whether to do the "storm2" headerless stuff?
  • URN-5 code should be moved into this software

Xu-Storm

Maintainer:Tuomas J. Lukka or Benja Fallenstein
License:GPL

An implementation of xanalogical hypertext on top of the distributed Storm library.

GLMosaicText

Maintainer:Tuomas J. Lukka
License:LGPL

An OpenGL library interfacing to freetype, providing fonts in textures, able to dice.

Uses templates to provide flexible interfaces, allowing flexible geometry processing by the programmer.

CallGL

Maintainer:Janne V. Kujala
License:LGPL

A library for 1) wrapping up OpenGL calls, 2) calling OpenGL dynamically.

LibVob

Maintainer:Tuomas J. Lukka
License:GPL

A graphical library providing automatic animation between unrelated views, if the views are reasonably defined, and connections crosscutting view hierarchies.

Todo:

  • Take out all Gzz-related renderables
  • Make the renderable structure better and easily extensible by external code
  • document well
  • tools for linebreaking formatted text

LibPaper

Maintainer:Janne V. Kujala
License:GPL

A library which creates unique backgrounds from given seed values. The backgrounds are maximally recognizable as well as legible for black text.

Todo:

  • License change to GPL
  • Might it be possible / feasible / worth it to untie the code from LibVob; possibly later.

Fenfire

Maintainer:Tuomas J. Lukka
License:GPL

Todo:

  • Figure out the new structure
  • Write the code to make use of the new structure