Pgn_logic / Pgn2tex to Pgn_to_tex. The old modules are removed with no compatibility aliases.Pgn_to_tex.to_tex takes optional ~diagram_data and ~clock arguments before the PGN string, and defaults to no diagrams and no clock output.diagram_data is now an abstract type.main.bc.js to pgn_to_tex_js.bc.js.Pgn_to_tex.to_tex, Pgn_to_tex.parse_diagrams_json, Pgn_to_tex.empty_diagrams, and the abstract diagram_data type.path, ply, or both. Paths identify mainline and variation positions; path lookup takes precedence over the legacy ply fallback, and path-only variation entries are supported.smallboard size.js_of_ocaml and js_of_ocaml-ppx are declared as test-only dependencies.Author and player header no longer produces an empty author line.Title without a Subtitle no longer emits an empty subtitle block.0.1.0.Replace the old import and module prefix:
(* 0.0.x *)
open Pgn_logic
let diagrams = Pgn2tex.parse_diagrams_json json
let tex = Pgn2tex.to_tex pgn ~diagram_data:diagrams ~clock:false
(* 0.1.0 *)
let diagrams = Pgn_to_tex.parse_diagrams_json json
let tex = Pgn_to_tex.to_tex ~diagram_data:diagrams ~clock:false pgnUse Pgn_to_tex.empty_diagrams when a game has no diagrams. Diagram data is now abstract, so replace any hand-built MoveMap.t with Pgn_to_tex.parse_diagrams_json. The JavaScript to_tex function keeps the same three arguments; only the artifact name changed.
path (the SAN move sequence from the root) alongside the legacy ply; diagrams whose path resolves inside a variation are rendered inline within the variation. parse_diagrams_json returns a diagram_data record with by_ply and by_path maps.subtitle custom PGN header was rendering on a separate page. It now appears under the titleparse_diagrams_json to convert stringified JSON to a MoveMap, allowing for parsing of the diagram data with to_tex