Lua Feature Priorities

Started by Tlaloc

Theoreticus Lv 1

Yes, I do fully agree with your post. Foremost I would like to be able to use the mathematical functions. Second on my list would be a good import possibility, packaging would even be better.
If import of packaging doesn't come, then please a decent cutting and pasting mechanism in the Foldit editor.

Rav3n_pl Lv 1

PHP and Java in foldit?? For what reason?
All "external" things we need is few standard libraries and plain text files access.
Internals are well listed by Tlaloc (cant wait for bands over 20…).

fishercat Lv 1

Being able to use external scripting languages could allow you to a lot off things. Least of which would be abilities to create interface tweaks. Imagine a choice of Recipe managers or being able to have a choice of editors to create recipes instead of the native kludge editor. With php and javascript (not Java, close but sorta different) you would have file system access to create recipes that save settings and data betweeen instances.

Best of all you could real AI programs like GAs and Neural Nets that could apply from puzzle to puzzle.

The game becomes a whole different entity that way. It changes from a project on how people use foldit to how foldit itself evolves.

Rav3n_pl Lv 1

  1. select/deselet single segment
    void select_index(int sn)
    void select_index_range(int ss,int se)
    void deselect_index(int sn)
    void deselect_index_range(int ss,int se)

  2. read all selected segments and/or test that segment is selected
    table get_selected() {bool,bool,bool…}
    bool is_selected(int sn)

  3. freeze/unfreeze segement/range
    void do_freeze(int sn, bool backbone, bool sidechain)
    void do_freeze_range(int ss, int se, bool backbone, bool sidechain)
    void do_unfreeze(int sn, bool backbone, bool sidechain)
    void do_unfreeze_range(int ss, int se, bool backbone, bool sidechain)

  4. read freeze state
    bool is_frozen(bool backbone, bool sidechain)
    table get_frozen() {{bool bb, bool ss},{…},…}

  5. read data form band
    bool is_enabled(int bn)
    float get_band_str(int bn)
    float get_band_ln(int bn)
    table get_band_ends(int bn) {ss,se}

  6. mass band change
    void bands_set_str(float str)
    void bands_set_len(float len)

  7. slotted load/save bands set - different slots than "normal" saves!
    void save_bands(int slotNo)
    void load_bands(int slotNo)