Overview
From Create Wiki
The Create Framework is meant to allow generation of print output (currently in PDF and PPML formats).
Print output applications are written in dC, a data specification language made specifically for the framework, and inspired somewhat by JSON. Scripts may also be used to make output more dynamic.
From a Code Perspective
There are several components to the Create Framework. They also correspond to the top-level folders.
- Common Has several common components, including arrays, filesystem components, and most importantly, strings. This component can stand completely on its own.
- Bindable A library that provides, amongst other things, data-binding features. This is also where the smart pointers used in some portions of the framework are implemented. This component can stand completely on its own.
- PDF A PDF library. Currently, it only supports PDF output. However, it was made with the idea of reading PDF in mind, so hopefully, support for reading PDFs will be added.
- Create The core of the framework. Has outputs for PPML and PDF, and several components that may be used inside them. This component requires both Common and Bindable.
- InputKit An input engine. It currently is very limited, but does offer support for reading in comma delimited files.
- dC A data specification language. This would be standalone except that it uses the filesystem path components from Common to allow #includes in the language.
- Script A scripting abstraction layer. This should be standalone. Unfortunately, it requires Bindable for smart pointers. The smart pointers are defined in only two files, however (Mem.h and Ref.h), so we do integrate them. Just have to figure out how.
- Spec A bindings layer that binds Create to both dC and Script. Requires pretty much everything.
- Engine/Shell The application which runs dC applications. Requires absolutely everything.