Feature/switch to generator - #1
Open
fabianpage wants to merge 143 commits into
Open
Conversation
Add :tiles top-level config key and :placements layer/combo-layer key. The assembly engine resolves placements into a flat :bindings grid before rendering, so render-layer and render-combo-layer require no changes. - assemble-placements builds a target grid from :row-widths, filling empty cells with :trans (customizable via :empty) - Overlapping placements resolve with last-wins semantics - Out-of-bounds writes throw ExceptionInfo by default; silenced with :clip? - Add end-to-end example #5 demonstrating overlapping tile placement
- Add mirror-tile helper that reverses each row when :mirror :horizontal - Update assemble-placements to read :mirror and per-placement :clip? - Placement-level :clip? overrides node-level default - Add tests for horizontal mirroring, per-placement clip, and clip+mirror composition
Shows a left-half tile reused for the right half via :mirror :horizontal
Tiles may now specify :placements + :row-widths instead of inline :bindings. The assembly engine recursively resolves tile placements through the tile registry before flattening into the final binding grid. Cycle detection maintains a visited chain and throws ExceptionInfo with the full reference path when a tile references itself directly or transitively. Respects existing mirroring and clipping semantics from #3.
Shows a half-tile built from two finger-column micro-tiles, then mirrored to form a full row in the BASE layer.
Combo-layer nodes already supported :placements via the generic resolve-placements-node pipeline. Add explicit tests covering: - combo-layer with :placements built from tiles - mirroring + clipping on combo-layer placements - overlapping placement behavior (last-wins semantics)
Shows a combo-layer assembled from mirrored :qrow and :arow tiles, generating diagonal combos across both rows.
- totem_config.edn: EDN config with corrected behavior references (e.g. [:double_single_quote] instead of :double_single_quote) - totem_template.keymap: template with // BEGIN/END markers - totem_generated.keymap: verified output, functionally identical to config/totem.keymap (minus formatting and ASCII art)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.