hayatbiralem / eco.json

Encyplopedia of Chess Openings (ECO) json data.
MIT License
46 stars 13 forks source link

new data added #4

Closed JeffML closed 1 year ago

JeffML commented 1 year ago

There are some differences, so please review. Explanation below.

image

Each opening object has a src, which is one of [eco_tsv, eco_js, scid]. The eco_tsv object comes from the eco project mentioned in the readme. It is the "record of authority", meaning it supercedes the eco_js and scid sources. The eco_js openings are from the original data of this project, and only occur if no eco_tsv was found (as determined by FEN). The scid openings exist only if no matching eco_tsv or eco_js FENs are found.

Move order conflicts are resolved in favor of eco_tsv (and eco_js in case of scid). Opening name conflicts are recorded in the aliases child. In the case of scid openings, there is an additional scid code field (scid has extended ECO codes).

Openings are in name order.

Oh, also: this is an object, whereas the current eco_js data is an array. I don't know if it matters, it's just that my original data object was keyed by FEN, then transformed to the new object. Converting to an array is trivial.

JeffML commented 1 year ago

I've thought about it some more and I think an array structure is better, rather than an object keyed by Opening Name. The array should still be stored by name, though.