code cleanup:
- vyuzit pridaneho Scheduler::sceneOffset a nahradim jim vsude, kde se offset doluje ze sceneMasks[i]
- projit vsechny new konstrukce a podivat se, jestli tam potom take dela delete
- IDs pri 8bit maskach se vypisuji jako znaky (chybi pretypovani)


pridat cestu k pnArrayCache souboru do INI souboru, chceme to??


non-rigid: obecne spise male, casteji (nyni 2x, mozna 3-4x) udelat velke non-rigid
non-rigid: zachovava sice vicemene objem, ale vubec neresi tvar

customizace na kontretni data

proverit jak se zachovava trackovaci informace u bodu (a chrCentres) behem cytokineze atd.

lepsi reprezentaci nebo renderovani bunky: masky vice uzavirat
udelat treba watchdog na tvar masky: abychom neztraceli izolovane body, aby maska byla jakoby vice kompaktni, hladký tvar
(ale musi to svihat, renderovani je nevytezovanejsi funkce)

nepujdou nejake operace udelat vektorove? aby se omezilo preskakovani mezi seznamem bodu a rastrovanim

02-metaphase nema jeste uplne natvrdo asynchronizaci..., prokontrolovat i ostatni: anafaze taky ne

poladit objemy, aby G1 delala vetsi rozptyl vysledku, ktery se musi empricky zjistit z jiz vygenerovanych bunek
rust asi nebude uplne linearni.. promyslet s tim, ze pocet bunek se mnozi exponencialne a bunka ma fixni objem
mozna vice zajistit, aby po deleni byl soucet objemu dcer vicemene podobny objemu matky... nyni to umi dost kolisat


pohyb bunky: zda se, alespon u tomour cells, ze bunka je bud mesenchymalni nebo amoeboidni. Prve je v podstate
druh pohybu, kdy je bunka relativne protazena (je tam recognized polarity) a funguje takovy to protrusion
and retraction a bunka se posouva ve smeru polarity. Druhe je v podstate druh pohybu, kdy je bunka spise kulata
a vice menavkoidni pomerne nevypocitatelne/nepredvidatelne, volne se promenuje kdekoliv (blebbing).

lepsi rotace, vice ve stylu nahlych pootoceni (podobne jako non-rigid), hodnoty odtusit ze soucasnych modes


aby se snizil pocet neuspesnych simulaci napr. due to "Can't find any way out of here", muzeme
zkusit udelat backup bunky pred tim, nez se ze Scheduleru zavola jeji DoNextPhase(), a chytat jeste
ve Scheduleru vyjimky, kdyz se chyti vyjimka, bunka se obnovi z te backup kopie a zkusi se DoNextPhase()
zavolat znovu, takhle treba max 3x nez se to definitivne vzda, na konci se v kazdem pripade zrusi ten backup
|
to vyzaduje, aby bunky vzdy uklidili lokalne vytvorene heapove alokace predtim nez zavolaji throw()
|
tohle reseni zachovava atomicitu fazove funkce bunky, kdy ta fce jede dale primocare bez nejakych
zadnich vratek a moznosti navratu k nejakym checkpointum atd.
||
alternativne muzeme restartovat stejnou bunkou s nejakou SetDelay()
||
alternativne muzeme zkusit preplanovat a "tahnout" jinou bunkou



{
ZRUSENO A NECHANO NA POSTPROCESSING:
scheduler bude mit VOI, do ktereho bude exportovat vysledek generovani
je ale potreba detekovat, kdy bunka zmizi z VOI a upravit tracks.txt
a je potreba detekovat, kdy se bunka objevi ve VOI, poprosit ji o nové VOI a upravit tracks.txt
detekce se dá například udělat tak, že se bude pamatovat jaké IDs byly viděny naposledy

obcas muzeme pohnout celou scenou jakoze "drbnuti do stolu"

ODLOZENO, PROTOZE TO ZATIM NEPREDSTAVUJE PROBLEM:
Comety muzou vybihat ze svych lokalnich masek, upravit AllocateAndZeroNewMask()
(ale ta potom bude vyrabet velky obrazky a vse se tak hodne zpomali)
}

Reinicializaci textury (ChrRepairDistrWeighted) provadime jen jednou za konstantni pocet frames (nyni 3).
Chtelo by tam dat nahodnost, aby se to neprovadelo pro vsechny bunky stejne.
