Download the PHP package crosseno/core without Composer
On this page you can find all versions of the php package crosseno/core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download crosseno/core
More information about crosseno/core
Files in crosseno/core
Package core
Short Description Language-independent domain objects, immutable grids, structural validation, and deterministic snapshots for Crosseno.
License MIT
Informations about the package core
Crosseno Core
Language-independent domain objects, immutable grids, structural validation, and deterministic snapshots for Crosseno.
The package requires PHP ^8.5 and has no other runtime dependencies.
Installation
Constructing a crossword
Callers define resource ceilings and pass already-tokenized cells. Core never changes normalization or decides where cell boundaries belong.
The two entries cross at (1, 1) with the exact symbol A. A blocked cell, an out-of-bounds entry, or a different code-point sequence at that crossing is rejected during construction.
Validation
ValidationProfile makes every convention explicit: minimum entry length, connectivity, duplicate answers, unchecked cells, block symmetry, and orthogonal adjacency. Use CompositeValidator::standard() or compose individual Validator implementations.
Serialization
The payload is deterministic UTF-8 JSON named crosseno-core-snapshot, currently at version 1. It contains only the grid, entries, stable answer/sense keys, placements, and duplicate-placement policy. The schema is published at resources/schema/core-snapshot-v1.schema.json.
Non-goals
This package does not tokenize or normalize answers, generate grids, choose random values, access lexicons or databases, model clues or learning metadata, define publication formats, or integrate with a CMS. Those responsibilities belong to other Crosseno packages.