[ ] Cache improvements
     [ ] why 65k splits for 8g cache, but only 256 splits for 4g cache? 8g cache: distribution ok (chains maxed out start very early it seems)
      [ ] Possibly fill in cache splits one at a time? Or at least start out with 1 at first
          -> check hardware /paging/cache lines issues.
      [ ] rolling cache eviction -> has bug still!
      [x] cache eviction due to maxed out chains.
      [x] maybe keep positions reached with few moves longer than those with a lot of moves.
      [ ] evtl immobile pieces wegrechnen ->platz sparen.
      [ ] full eviction cache: also combine even/odd moves
[ ]
[ ] list strategies (only histogram). 1: 0+1, 2: 3+0, 3: 1:1, ...

[ ] P1254150: internal error in new cache in case sizeByHalfMove is only 40 long. why?? are we playing too long?

[ ] cook output: histogram by paths or similar.

[ ] Headless.jar via IJ
[x] insert all the pdbRemaining/winchloeRemaining out files into db. see what is left.

[ ] could use immediate fp logic also for ProblemAnalysisPiece

[ ] check mc mails for examples, check which collision cases are not ok.

[ ] Check cases where Euclide/Natch have less strategies
[ ] neben ppm stand evtl weiter verfeinern im ui? sub-counter?

[ ] Memory issue when there are loads of partition permutations
     [ ] See sent mail 15.10. to MC.
     [ ] new Problem("RRR1RRRR/1pPB2p1/1n1kb2r/3q3r/b5r1/N3q1bN/7b/5K2", 75)
     [ ] new Problem("RRRRRRRR/1p1B1bp1/1n1kq2r/1b1q3r/2N3r1/6bN/7b/5K2", 81)
[ ] v1.x: In case an edge is not yet valid, because there are enough free moves and is violated while playing, this
    then allocates free moves for the concerned mt. could be used to dynamically reduce freeM while playing!

[ ] wenn man s drückt: im problems_out kenntlich machen.
[ ] virtual fp for Sb1-d2, d2-d3.

[ ] collisions that make shortest path impossible or non-unique, e.g. WID251907, 1n2r3/1pp1p2p/3p1ppn/p4rbk/3QB3/1PN2NPb/P1PPPP1P/RqB1K2R, 39. Qd8-h8-b2-b1 impossible because of Rh8-d8 and only 1 free move.

[ ] Rh1xh7 hat start square collision mit h2-h8, es sollte bei < 2 free moves die strategy unmöglich werden, see getGraphIdRestrictionsByPieceTypes liefert momenten aber bound 0 für rooks.

[ ] v1.x: in case an mt arrives early on its destination square (because more move were attributed for it, say because it otherwise stands on fp), then add the moves not to freeMoves but to ExtraFMByMt.
[ ] check special distances cases: In case we allocate more moves for a path segment than seems appropriate (e.g. fp end traversal case, but also k<->q case, then make sure that we do not need to arrive in shortest time on square in spi (special distance flag checked there))

[ ]
Le dernier todo signalé se retrouve aussi dans le WID227176 :
Pa2-a5 Pa7-a2 et Ta8xPa5 en 1 coup?? dans les stratégies où on passe le plus de temps.

[ ] collisions like Ra1xa7-a1, a2-a8

[ ] SPCollisionDetector: Go through all cases that are commented out

[ ] king checking conditions: in case some parts of the kingpath are inevitably in check by others, there are quite a few conditions implied.

[ ]Grâce aux 2 coups de Roi entrainés par la promotion. Cela aurait été plus rapide encore, si le programme voyait que dans cette configuration, la promotion en Dame n'est pas possible (peut-être un futur todo?!)
Par contre, les 2 coups de Roi ne sont pas trouvés dans les WID175045 et WID48536 alors que la configuration est similaire?
warum nicht 2 züge für k?

[ ] WID55707 Si Stelvio déduisait la capture sur é7 et ne gardait que les stratégies avec capture sur é7, cela pourrait donner un "vrai C+" dans un temps raisonnable. Un autre todo?!
   ->king in check issue


[ ] Ta1Sb1, promotion on a1 -> either Ta1_??_a1 (4) oder Ta1-??-a1 (2) + Sb1_??-b1 (2)

[ ] check in diagram position:
   [ ] muss der schachgebende zug schlagen? müsste fast seekpart sein sofern schlag obl
       r/b/q: kann man orthogonal hinziehen. 1sq daneben? dame: mögliche start squares, die nicht bereits schach geben?

[ ] WID114115 ; conflit de trajet Ta8-Dd8 -> Dd8-a8 2 et non Dd8-a8 1

[ ] e2-e4, Bf1-d3, e7-e4xd3 unmöglich falls 0 freie wZüge.

[ ] cage detection, like for mc 2x check protection.

[x]
En complément pour le WID298711 (stratégies où le Ff1 est capturé avant le Fc1 à exclure donc).
pour les stratégies où le Fc1 est capturé en premier :
-4 coups au moins séparent la capture du Fc1 de celle du Ff1 (soit la pièce fait le tour, soit elle dégage pour laisser sortir le RB par a2)
-le premier coup du RB, si la Dame/Tour capturante n'est pas capturée sur f1, est Re1-d1 ou 0-0-0.
=> bei problemen mit doppel-bishop captured at home: t/d können nicht zurst fB und dann cB schlagen


[ ] unter gewissen umständen sind uw in d/t/l unmöglich, da dem K immer schach geboten wird und er nicht ausweichen kann.
  zb ke1-d2< und e7-e1=L mit keinen freemoves.


[x] im fall von 000: q kann im sppii nicht e8/a8 betreten.
 [x]
  WID406917 :
  dans les cas 0-0-0 blanc et Dd1-f1, la DB doit jouer 2 coups (précisément Dd1-e2-f1)
  (quelque chose de similaire a déjà été rencontré dans le WID490987 Dd1-g2 en 3 coups)
 [x] WID303631 :
  0-0-0 noir force le chemin précis Dd8-a5-h5
  a prioiri pas d'économie de stratégies mais les coups a7-a5 b7-b5 f7-f5 g7-g5 doivent attendre le coup Da5-h5

[x]
WID379892
Un cas déjà signalé peut-être? (en tout cas assez fréquent?!)
Si une Tour (ou Dame) noire passe en f1 (ou d1, ou e2) sans y être capturée, le Re1 doit jouer 2 coups
Si un Fou (ou Dame) noir passe en f2 (ou d2) sans y être capturé, le Re1 doit jouer 2 coups
(Cela est déjà traité pour un Pion noir en f2 ou d2 je pense?)->JA.
(et si une Dame noire passe en e2 sans y être capturée, le Re1 doit jouer 4 coups)
(auch für springer denkbar)

[x] mc 2x check protection 1999:
Le cas Dd8-f5 plus élaboré: Normalement des chaines de conditions absolus comme cela fonctionne déjà, mais pas ici comme j'ai vu (je suppose parceque le PNb7 est capturé sur b5, mais je vais encore analyser de près). Encore qc à améliorer...

[ ] mc 2x check protection. strategies with Qf4 impossible:
Cb8-c6-e5
c7-c6
Dd8-c7(b8)
Ce5-g4
Dc7-f4
g2-g3xDf4
Ta8(h8)-g8-g2?? impossible à cause du Cg4

[ ] backpressure/frontpressure-freemoves. e.g. if 7 wMoves need to be played in the first 8, then there is 1 front pressure free move up to the eigth move.