Skip to content

Split/editor core - #374

Merged
u8array merged 15 commits into
mainfrom
split/editor-core
Aug 9, 2026
Merged

Split/editor core#374
u8array merged 15 commits into
mainfrom
split/editor-core

Conversation

@u8array

@u8array u8array commented Aug 9, 2026

Copy link
Copy Markdown
Owner

No description provided.

u8array added 15 commits August 9, 2026 11:51
…anch

Right-anchor handling through resize and rotation, the ^GFA decoder (fill
semantics pinned against the printer raster, bounded decode), HRI zones, GS1
and parser fixes, plus the shared edit pipeline in core.
… C at b

Our own encoder writes counts past the documented 1..99999, so gating the
grammar on it silently emptied every full-size graphic; the render budgets stay
where they are spent. And c only stands in for b uncompressed, never for the
compressed format, where it outruns the payload and voids the overhang scan.
…ip backtracking

The band is now module-width only (Labelary-measured), so the headless kernel
and the canvas cannot answer differently; the line-wrap strip is a linear scan
in the parser helpers, where the regex it replaces cost 114s at 8000 breaks.
The guard has been rebuilt several times and each rebuild closed one shape
while opening another; one corpus makes that visible in a single run.
…hless block as plain

A graphic whose bytes cannot be written no longer silences every later object
sharing its path. And a declared block with no width resolves to normal in the
one mode source, so the renderer, the bounds and the anchor stop disagreeing.
…t raster

The guard scans a whole payload and objectBoundsDots reaches it several times
per leaf per frame; the answer is now cached on the props object, which is
replaced exactly when it can change. Preflight asks whether an upload can be
written instead of rasterising one to find out. Plus a decode assertion that
can actually fail.
It dropped the ^TB and blockHeight from the emit while blockExtentFor, which
reads props.textMode raw, still shifted the anchor by the block extent: silent
ZPL loss for a divergence whose root is rightAnchorBoxWidthDots returning 0 for
"width unknown".
toZPL fell back to a fresh encode when the cache could not ship while the ~DY
preamble just dropped the upload, leaving its ^XG recalling a file nobody sent.
Both now ask shippableGfa.
A zero shift states something about the field, an absent width states something
about the caller, and one value meant both: a multi-resize projected an
unmeasured right-justified leaf in the wrong space and persisted it. The type
now forces each caller to say which it means.
Two callers discharged the unknown width with ?? 0, which shows the conflation
without resolving it. The renderer, the forward transform and its inverse now
read one helper that says an unmeasurable width draws unshifted.
Labelary: omitting b renders identically, omitting c produces no label at all
because the firmware never learns where the graphic ends. So a c-less header is
unusable everywhere instead of each consumer guessing, and the binary scan cuts
at c (the graphic size the spec names) rather than at b.
Cuts 39 over-long blocks to the 1-3 line cap and the em dashes. Also drops the
duplicated row cap and EncodeEnv.mode, which no caller ever set.
The canvas encoded the raw (AI)value content, so parens and a single FNC1 that
never reach the wire could push the symbol to the next size.
A ^XG field kept its inline rotation, which gated the byte resolution: the ~DY
upload dropped while the ^XG depending on it still shipped, silently.
The commit projects a right-anchored field's ink edge while the live preview
projected its model anchor, so the object jumped by shift*(1-f) on release.
@u8array
u8array merged commit 19af998 into main Aug 9, 2026
2 checks passed
@u8array
u8array deleted the split/editor-core branch August 9, 2026 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant