Skip to content

Feature request: support for macro-cells (multi-cell blocks acting as a single letter) #4

Description

@condorsv21-ops

Hi,

First of all, thank you for creating ingrid_core — it's an excellent crossword-filling engine that I've been using as the backend for a custom Python crossword construction tool I built for Romanian-style crosswords.

I'd like to propose a feature that would be very useful for a specific type of Romanian puzzle called an "integramă" (a crossword variant where clues are written inside the grid cells).

The feature I need is support for macro-cells: a rectangular block of cells (e.g. 2×2, 2×3, 3×4) that acts as a single logical cell containing a letter or short syllable (e.g. "A", "CRI", "MA"). Words crossing through the macro-cell must contain that letter/syllable at the correct position — just once, not repeated for each physical cell in the block.

For example, in a 8×8 grid with a 2×2 macro-cell containing the letter "A" at position (3,3)–(4,4), a word crossing horizontally through row 3 should contain a single "A" at column 3, and a word crossing vertically through column 3 should contain a single "A" at row 3. The macro-cell visually occupies 4 cells but logically represents just one letter.

This technique is widely used in Romanian crossword publishing, where a large decorative letter or image occupies multiple cells and the surrounding words must incorporate that letter. No existing crossword software (including Crossword Compiler and Qxw) supports this properly for blocks larger than 1×2.

I realize this would require changes to how slots and constraints are defined in the solver, but I wanted to raise it as a feature request in case it's something you'd consider.

Thank you for your time!

Best regards

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions