Todo list¶
Todo
Write documentation.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/pyffi-tagnum/checkouts/latest/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 /home/docs/checkouts/readthedocs.org/user_builds/pyffi-tagnum/checkouts/latest/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