Open shippy opened 7 years ago
Things that came up with @rj299 & @sdk39 (thank you both!):
lib/config.m
, tasks/XYZ/XYZ_config.m
and tasks/XYZ/XYZ_config_A.m
?MDM
, documenting well how generateTrials
and generateBlocks
works is especially important.)Quoting from #26:
This will definitely problematize the cookbook (#62). It's yet another approach to get things done. At this point, in decreasing level of removedness from code, we have:
- Write your task with phase abstractions, re-using & configuring existing draw & action scripts. No need to write any trial or phase scripts -- just specify in
drawCmds
andaction
whatever you need.- Re-use phase scripts fully, but specify what callbacks they should have in
XYZ_runTrial
(and have phase scripts construct their ad-hoc phase configs before the callback).- Write those phase scripts that draw slightly different elements and/or take slightly different action than the general-library phase scripts. Re-use some draw scripts and/or action scripts, and re-use
runTrial
andrunBlock
. (see: current version of tasks/UVRA)- Write separate trial and phase scripts for each task (never did that)
- Write separate block scripts for each block (see:
initial_RA
branch).
Documenting approaches (1)-(3) seems like a good next step.
Note: The right place for this is in docs/
, not the wiki.
62_docs
branch has a good start. A particularly useful entry point is this article.
Ask someone who is worked with the framework a little to implement a new task while mostly relying on the docs. Here are some ideas, and what problems would need to be overcome in order to implement them:
choseLottery
meaningless, and requires the choice fields to be reliable. (Which it should, but see #115.) drawLotto
relies on offCenterByPx
set in the configuration file. It does not assume that the same configuration file could want to call it with different off-center values. In other words, this might require implementing #98.drawLotto
& generateTrials
assume that there is exactly one winning payoff, and possibly that there is a reference. This might require refactoring. generateTrials
assumes that all ambiguity combinations use the 50% value as a split — so, ambiguityCenter
would need to be introduced to .generate
and generateTrials
would need to be fixed. Of course, all of this might take anyone a day or two, so the new task had better be worthwhile.
Complete:
Missing: overview of the standard library, but that seems like the task for a different issue / something to do with Sphinx (#123).
I would say that at this point, despite the incompleteness, this might be good enough to have someone read through it and provide an independent voice.
README
updatesreversal learning, illustrate the steps needed to make a functional taskRA
MDM
fromRA
, andSODM
fromMDM