commit e5601ee15a3db23b787d9c6a9ea74aa455f7e02b
parent f609b91f4d569f3b0d7072306689ce574ace15b3
Author: Michael Camilleri <[email protected]>
Date: Fri, 22 May 2026 08:20:38 +0900
Delimit Fillmake's XD sections with two blank lines
Prior to this commit, exportXD wrote a single blank line between the
frontmatter and the grid, while the .xd format spec delimits top-level sections
with runs of two or more blank lines (or `## ` headers). XD.parse honours the
spec, so it merged the frontmatter and grid into one section, ended up with two
sections instead of three, and threw .missingClues — every Fillmake-generated
puzzle failed to parse and could not be loaded.
exportXD now appends a second blank line after the frontmatter, matching the
two-blank-line break it already wrote before the clues. The grid and clue
sections are unchanged.
Co-Authored-By: Claude Opus 4.7 <[email protected]>
Diffstat:
1 file changed, 1 insertion(+), 0 deletions(-)
diff --git a/Crossmake/Sources/Fillmake/main.swift b/Crossmake/Sources/Fillmake/main.swift
@@ -1203,6 +1203,7 @@ func exportXD(state: PuzzleState, black: [Bool], slots: [Slot], options: Options
"Grid Index: \(gridIndex)",
"Seed: \(options.seed)",
"Fill Score: \(fillScore)",
+ "",
""
]