### Navigation

- index
- modules |
- next |
- previous |
- PyFFI 2.2.2 documentation »

# Todo list

Todo

Write documentation.

(The original entry is located in /usr/lib/python3.2/site-packages/pyffi/spells/cgf/__init__.py:docstring of pyffi.spells.cgf, line 4.)

Todo

Limit the size of shapes (see operation optimization mod for Oblivion!)

(The original entry is located in /usr/lib/python3.2/site-packages/pyffi/spells/nif/optimize.py:docstring of pyffi.spells.nif.optimize.SpellOptimizeGeometry.branchentry, line 8.)

Todo

- Write dedicated utilities to optimize particular games (start with Oblivion, maybe eventually also do Fallout 3, Morrowind, etc.).

(The original entry is located in ../TODO.rst, line 3.)

Todo

Aion caf format (MtlNameChunk header?).

(The original entry is located in ../TODO.rst, line 9.)

Todo

refactoring plans

- what’s up with get_global_child_names?

- common base classes for pyffi.object_models.xml.basic.BasicBase/StructBase and pyffi.object_models.xsd.SimpleType/ComplexType (e.g. pyffi.ObjectModel.SimpleType/ComplexType)

- derive object_models.array_type and object_models.StructType from common subclass pyffi.object_models.ComplexType, use these then as base classes for object_models.xml.array and object_models.xml.struct_.StructBase

- use pyffi.utils.graph for all object_models.XXX implementations

- upgrade QSkope and XML model to use GlobalNode instead of the current ad hoc system with Refs

- improve the abstract object_models.Delegate classes (i.e. naming, true abstract base classes, defining a common interface); also perhaps think about deriving these delegate classes from TreeLeaf (only leafs have editors!)?

- ditch version and user_version from the object_models interface, and instead use object_models.Data as a global root element that contains all file information with a minimal format independent interface; implementation plan (this is already partially implemented, namely in the nif format):

  > - use abstract Data and Tree base classes fo the XSD parser, in subsequent 2.x.x releases
  > - update the XML parser to follow the same scheme, when switching from 2.x.x to 3.0.0, and document the 2.x.x -> 3.0.0 migration strategy
  > - deprecate the old methods (XxxFormat.read, XxxFormat.write, XxxFormat.getVersion, and so on) in 3.x.x
  > - remove old method in 4.x.x

- one of the aims is that qskope no longer relies on any object_models.xml/object_models.xsd specific implementations; if it only relies on the abstract base classes in object_models.Graph and object_models.Data then future expansions are a lot easier to cope with; in particular, qskope should never have to import from object_models.XXX, or Formats.XXX

(The original entry is located in ../TODO.rst, line 13.)

Todo

Doctests for all spells.

(The original entry is located in ../TODO.rst, line 62.)

Todo

Improve overall documentation, for instance:

> - add docstrings for all spells
> - add docstrings for all spell methods

(The original entry is located in ../TODO.rst, line 66.)

Todo

- move all regression tests to the tests directory (but keep useful examples in the docstrings!)
- add spell support for qskope directly using the pyffi.spells module
- allow qskope to create new spells, from a user supplied spells module
  - custom spell module creation wizard (creates dir structure for user and stores it into the configuration)
  - custom spell creation wizard (adds new spell to user’s spell module)
  - automatic templates for typical spells
- pep8 conventions
  - resolve all complaints from cheesecake’s pep8 checker

(The original entry is located in ../TODO.rst, line 73.)

Todo

- Write dedicated utilities to optimize particular games (start with Oblivion, maybe eventually also do Fallout 3, Morrowind, etc.).

Todo

Aion caf format (MtlNameChunk header?).

Todo

refactoring plans

- what’s up with get_global_child_names?

- common base classes for pyffi.object_models.xml.basic.BasicBase/StructBase and pyffi.object_models.xsd.SimpleType/ComplexType (e.g. pyffi.ObjectModel.SimpleType/ComplexType)

- derive object_models.array_type and object_models.StructType from common subclass pyffi.object_models.ComplexType, use these then as base classes for object_models.xml.array and object_models.xml.struct_.StructBase

- use pyffi.utils.graph for all object_models.XXX implementations

- upgrade QSkope and XML model to use GlobalNode instead of the current ad hoc system with Refs

- improve the abstract object_models.Delegate classes (i.e. naming, true abstract base classes, defining a common interface); also perhaps think about deriving these delegate classes from TreeLeaf (only leafs have editors!)?

- ditch version and user_version from the object_models interface, and instead use object_models.Data as a global root element that contains all file information with a minimal format independent interface; implementation plan (this is already partially implemented, namely in the nif format):

  > - use abstract Data and Tree base classes fo the XSD parser, in subsequent 2.x.x releases
  > - update the XML parser to follow the same scheme, when switching from 2.x.x to 3.0.0, and document the 2.x.x -> 3.0.0 migration strategy
  > - deprecate the old methods (XxxFormat.read, XxxFormat.write, XxxFormat.getVersion, and so on) in 3.x.x
  > - remove old method in 4.x.x

- one of the aims is that qskope no longer relies on any object_models.xml/object_models.xsd specific implementations; if it only relies on the abstract base classes in object_models.Graph and object_models.Data then future expansions are a lot easier to cope with; in particular, qskope should never have to import from object_models.XXX, or Formats.XXX

Todo

Doctests for all spells.

Todo

Improve overall documentation, for instance:

> - add docstrings for all spells
> - add docstrings for all spell methods

Todo

- move all regression tests to the tests directory (but keep useful examples in the docstrings!)
- add spell support for qskope directly using the pyffi.spells module
- allow qskope to create new spells, from a user supplied spells module
  - custom spell module creation wizard (creates dir structure for user and stores it into the configuration)
  - custom spell creation wizard (adds new spell to user’s spell module)
  - automatic templates for typical spells
- pep8 conventions
  - resolve all complaints from cheesecake’s pep8 checker

### Navigation

- index
- modules |
- next |
- previous |
- PyFFI 2.2.2 documentation »