diff --git a/TODO b/TODO --- a/TODO +++ b/TODO @@ -5,6 +5,8 @@ M-LordofWar needs to fix this E-normaldotcom needs to fix this x-finished task =-Long-term goal +~-Cancelled goal +a-Goal needing assessment ?-needs reconsideration/explanation/rewording Notes: @@ -14,51 +16,56 @@ Notes: Build General -=-documenation: manpages -=-runtime support: should we eventually just go with APR, glib, maybe something from suckless people? Is libdaemon (or whatever's out there) useful? -=-XML (XML-RPC): useful as a communication protocol? as RPC protocol? see atheme; useful as job description format possibly. -*-remoteio: figure out how to handle communications; async + callbacks seems the best method to me atm + =-documenation: manpages + =-runtime support: should we eventually just go with APR, glib, maybe something from suckless people? Is libdaemon (or whatever's out there) useful? + =-XML (XML-RPC): useful as a communication protocol? as RPC protocol? see atheme; useful as job description format possibly. + B-remoteio: figure out how to handle communications; async + callbacks seems the best method to me atm Master -*=Add lockout of slaves below a certain version -*-Complete testing with interactive test mode - -update frame assigner to distribute some frames for lower-priority jobs when there's a higher priority job -B-Add calls to remotio -> make API for sending messages ~= a function for every type of message defined in protocol.h - -Write a stub for getting info from the tarball/validifying the tarball. Read distren-job.xml, a file in the tarball, to find out 1. which rendering system to use (that system, e.g. blender/povray, can read more specifics, such as name of file to pass to blender and frames. Options common between different systems will be handled in common as best as possible) - -Write a stub for publishing file and constructing job description so that the job can be shared -B-XML-RPC interface for obtaining info -=-charsets: the program should operate in UTF-8. This is partially required by libxml2's (and XML's) usage of UTF-8. We want the program's internal charset to be UTF-8 and figure out if we need w_char/whatever to fulfill UTF-8. I don't believe we do... mabye we just need a declaration that al data stored must be in UTF-8 format. -> we need to consider how charsets work when and if issues come up -M-explain members of struct general_info; e.g., what is timestamp used for, what's the point of the hibernate var, etc. -*-resolve conflict between liblist and libmysqlclient -*-figure out delete-during-traversal for liblist -*-zip images into one file + ?*-update frame assigner to distribute some frames for lower-priority jobs when there's a higher priority job (Ask LordOfWar if this is implemented in sprocs already) + B/E/?-Add calls to remotio -> make API for sending messages ~= a function for every type of message defined in protocol.h (are SendSignal() and SendExtSignal() good enough?) + a-XML-RPC interface for obtaining info + =-charsets: the program should operate in UTF-8. This is partially required by libxml2's (and XML's) usage of UTF-8. We want the program's internal charset to be UTF-8 and figure out if we need w_char/whatever to fulfill UTF-8. I don't believe we do... mabye we just need a declaration that al data stored must be in UTF-8 format. -> we need to consider how charsets work when and if issues come up + *-figure out delete-during-traversal with liblist + *-after job is complete and verified by the user, tar frames for easy download + x-Complete testing with interactive test mode + x-Complete DB testing with php server workaround + x-resolve conflict between liblist and libmysqlclient + Slave - -Fix current bugs -*-Add calls to remoteio, once it works or even before it works -> write message API functions and API -=-Make code more flexible for different types of jobs and operating systems (such as paths, libs, etc) -=-Add code to allow pausing/resuming of the slave (including a running blender process) -> signal handling (SIGTSTP vs. SIGSTOP), distrenslave_control cmdline interface -B-Add tmpdir variable (just like the datadir variable) that is compile-time or whatever -> simple API to allow configuration-file override while taking into account defaults set by ./configure -*-Finish stub to delete old job data and output -=-Upload finished frames' output files while rendering subsequent frames -x-Add simpleslave with code to work around nonexisting server codebase + E-Backport SimpleSlave functionality to slave code + B-UnpackJob() and supporting functions need to work + E-Restore tar functionality after unpackJob() is functional + E-Add calls to remoteio, once it works or even before it works -> write message API functions and API + =-Make code more flexible for different types of jobs and operating systems (such as paths, libs, etc) + =-Add code to allow pausing/resuming of the slave (including a running blender process) -> signal handling (SIGTSTP vs. SIGSTOP), distrenslave_control cmdline interface + B-Add tmpdir variable (just like the datadir variable) that is compile-time or whatever -> simple API to allow configuration-file override while taking into account defaults set by ./configure + E-Finish stub to delete old job data and output + =-Upload finished frames' output files while rendering subsequent frames + + x=Add lockout of slaves below a certain version + x-Add simpleslave with code to work around nonexisting server codebase Options -=-Rewrite some stuff, try to make it simpler -x-Move server and client confuse code into their individual files, rather than in the common file. -- note: there wasn't any client code in options.c. There was the ``server'' section. That section is passed multiple times and provides information to remoteio on how to connect to servers -=-Review all confuse interfacing -B-Push patch for relative includes in confuse to the confuse developers -- windows/mingw32 testing required first -?-Expand execio() to support stderr + B-Push patch for relative includes in confuse to the confuse developers -- windows/mingw32 testing required first + ?-Expand execio() to support stderr + =-Rewrite some stuff, try to make it simpler + =-Review all confuse interfacing + + x-Move server and client confuse code into their individual files, rather than in the common file. -- note: there wasn't any client code in options.c. There was the ``server'' section. That section is passed multiple times and provides information to remoteio on how to connect to servers WebInterface -*-Scale images on web interface, imagemagick? -E-Begin working on MeshLib seamless integration with DistRen -E-Simplify web interface, make it more lightweight -E-Make some icons for deleting/editing/etc that aren't horribly ugly -E-Get rid of "My Output" or move some functionality to this area -E-Allow "archiving" of jobs? + *-Tarball validation and other checks + *-Scale images on web interface, imagemagick? + *-Add "stop" button functionality and other missing button functionality + E-Simplify web interface, make it more lightweight + E-Make some icons for deleting/editing/etc that aren't horribly ugly + E-Get rid of "My Output" or move some functionality to this area + =-Allow "archiving" of jobs? + =-Begin working on MeshLib seamless integration with DistRen Overall -*-Output type is currently a placeholder option at this point, make it actually affect the output -*-Change the way the database handles storage of paths to frame data (path + extension?) -*-Output resolution is currently a placeholder option, make it actually affect the output + *-Output type is currently a placeholder option at this point, make it actually affect the output + *-Change the way the database handles storage of paths to frame data (path + extension?) + *-Output resolution is currently a placeholder option, make it actually affect the output