Save reboot checkpoint with interrupted build and restart instructions
This commit is contained in:
+1
-1
@@ -12,7 +12,7 @@ Updated 2026-09-11 for the published Codex-ytr83r B4 source checkpoint.
|
||||
CLI-only01b76a1 was reviewed and imported as023e3a8 without core/dependency
|
||||
changes. Preserve the new AGENTS maintenance instruction and exact goal bytes.
|
||||
2. Core433 and independent lifecycle-oracle admission passed before native output.
|
||||
Finish the active desktop compilation and run focused lifecycle/direct-canvas,
|
||||
After the user's reboot, follow RESUME.md to resume desktop compilation and run focused lifecycle/direct-canvas,
|
||||
authoring, scenario,
|
||||
creation, history and recovery checks, then appropriate full/strict/document
|
||||
gates. Root serializes writers and records exact source/binary/log/exit scope.
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
# Resume after the user-requested reboot — 2026-09-11
|
||||
|
||||
Codex-ytr83r /root. The complete first-release goal remains active and unfinished.
|
||||
Read AGENTS.md, PROJECT_GOAL.md, current Gitea issues1/2 and Wiki before resuming.
|
||||
This is a pause for the user's reboot, not a completed milestone or failed test.
|
||||
|
||||
## Saved source and evidence
|
||||
|
||||
Branch: codex/release1-ytr83r. Production source is B4 lifetime rendering52f6e17
|
||||
plus CLI01b imported as023e3a8. b96286e records exact core/oracle evidence and
|
||||
current harness index. d041212 preserves owner instruction-sync history and the
|
||||
byte-exact supplied PROJECT_GOAL. a9a5768 records the Linux trial and contextual
|
||||
source integration review. Later checkpoint commits add this resumption note.
|
||||
|
||||
Core all-targets passed433 tests, one intentionally ignored probe; the optional
|
||||
probe separately passed. The independent lifecycle oracle and all six frozen
|
||||
baseline/rename files passed before any native GUI launch. See the harness index.
|
||||
No current desktop compile/test/native acceptance has been established.
|
||||
|
||||
## Interrupted Windows build
|
||||
|
||||
Cargo session93786 was interrupted at the user's request while compiling Iced
|
||||
dependencies (last log entry cc1.4.5). It exited1 from interruption; no final gate
|
||||
status JSON was emitted. A readback found no cargo.exe/rustc.exe process. Exact
|
||||
partial log and explicit interruption record are in
|
||||
experiments/lifecycle-native-ytr83r-20260911/. Preserve cached target outputs.
|
||||
|
||||
Use the existing ignored task-local toolchain, one Cargo job, after checking no
|
||||
other writer is active. From the repository root in PowerShell:
|
||||
|
||||
```powershell
|
||||
& '.local\run-gate.ps1' -GateName 'ytr83r-desktop-lifecycle-resume' -CargoArgs @('test','--locked','--offline','-p','oa-desktop','scenario_lifecycle','--','--test-threads=1')
|
||||
```
|
||||
|
||||
The wrapper loads .local/toolchain/env.ps1. Then run appropriate direct-canvas,
|
||||
full/strict desktop, server/CLI and GUI build gates serially. Review the new
|
||||
typography report: wide Unicode Create labels can overflow the fixed capsule.
|
||||
The proposed clipping correction is not implemented; preserve existing fixtures
|
||||
and define separate expected Unicode cases before native output. Actual Windows
|
||||
wide/minimum/Fit/Save/Undo/Redo/reopen acceptance and B4 packaging remain pending.
|
||||
|
||||
## Linux after reboot
|
||||
|
||||
Recheck wsl --status and wsl --list --verbose. Before reboot, no distribution was
|
||||
installed; WSL reported virtualization unavailable and Windows had a pending
|
||||
reboot. Hardware virtualization must be available (firmware or nested VM host).
|
||||
No host setting was changed and no reboot was performed by the agent.
|
||||
|
||||
Prefer a working WSL2 Ubuntu for real Linux build/runtime validation. The verified
|
||||
Ubuntu image and QEMU cache remain under .local/linux-host-ytr83r. Its bounded
|
||||
UEFI/TCG pilot ended without guest-ready evidence; all owned pilot processes
|
||||
stopped. Do not repeat failed delivery or infer Linux acceptance from the image.
|
||||
|
||||
## Coordination and next integration
|
||||
|
||||
Codex-9e8r6t owns contextual prerequisites; df6f5956 is available locally and has
|
||||
a reviewed minimal import path, with two B4-preserving merges. Later short-host
|
||||
layout and Save-procedure corrections are separate; inspect the current remote
|
||||
handoff before import. Codex-956atf owns chooser, shared constrained canvas design
|
||||
for issue2, and analysis/library contracts. Local audit agents have stopped their
|
||||
assigned work. They must recheck coordination before taking new tasks.
|
||||
|
||||
The two published Windows authoring/CLI prereleases remain available. No B4
|
||||
release should be published until actual current tests/native acceptance pass.
|
||||
+5
-2
@@ -1,6 +1,9 @@
|
||||
# Progress Ledger — first release
|
||||
|
||||
Updated 2026-09-11 by Codex-ytr83r /root for current execution.
|
||||
**Reboot checkpoint:** the user requested saving progress before reboot. The
|
||||
desktop Cargo session93786 was interrupted during dependency compilation; no
|
||||
desktop test result exists. Follow [resume instructions](RESUME.md) after reboot.
|
||||
**Release remains incomplete.** This is the new Codex-ytr83r Windows checkout.
|
||||
It started clean at `ff615d0`; no local compiled desktop or native acceptance
|
||||
is claimed for the combined source at this checkpoint.
|
||||
@@ -38,8 +41,8 @@ The separate ignored probe also passed: 250/500/1000-record inheritance chains
|
||||
took6.670/19.166/38.063s in this unoptimized, contended run. These timings are not
|
||||
optimized/native latency; the bounded scaling diagnosis records a preexisting
|
||||
quadratic path and the next controlled measurement.
|
||||
Desktop `scenario_lifecycle` now compiles offline under one Cargo job, session93786,
|
||||
log `.local/ytr83r-desktop-lifecycle.log`; focused/direct-canvas, full/strict,
|
||||
Desktop `scenario_lifecycle` was compiling offline under one Cargo job, session93786,
|
||||
and was interrupted for the user's reboot; focused/direct-canvas, full/strict,
|
||||
server and CLI gates remain pending. Packaging11/11 and
|
||||
synthetic Windows notices passed. [Host setup/evidence](release-host-bootstrap-ytr83r-20260911.md).
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"tool_exit": 1,
|
||||
"session_id": 93786,
|
||||
"final_gate_status_emitted": false,
|
||||
"desktop_tests_executed": false,
|
||||
"outcome": "interrupted_by_user_for_reboot",
|
||||
"note": "Dependency compilation interrupted; this is not a product test failure."
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
Compiling syn v3.0.5
|
||||
Compiling syn v2.0.119
|
||||
Compiling libm v0.2.16
|
||||
Compiling autocfg v1.5.1
|
||||
Compiling num-traits v0.2.19
|
||||
Compiling once_cell v1.21.4
|
||||
Compiling bitflags v2.13.1
|
||||
Compiling smallvec v1.16.0
|
||||
Compiling log v0.4.34
|
||||
Compiling windows-sys v0.61.2
|
||||
Compiling pin-project-lite v0.2.17
|
||||
Compiling bytes v1.12.1
|
||||
Compiling futures-core v0.3.34
|
||||
Compiling bytemuck_derive v1.12.0
|
||||
Compiling bytemuck v1.25.2
|
||||
Compiling thiserror-impl v2.0.20
|
||||
Compiling cfg_aliases v0.2.2
|
||||
Compiling windows_x86_64_gnullvm v0.52.6
|
||||
Compiling thiserror v2.0.20
|
||||
Compiling memchr v2.8.3
|
||||
Compiling futures-sink v0.3.34
|
||||
Compiling futures-channel v0.3.34
|
||||
Compiling mio v1.2.3
|
||||
Compiling socket2 v0.6.5
|
||||
Compiling tokio-macros v2.7.2
|
||||
Compiling tokio v1.53.1
|
||||
Compiling windows-targets v0.52.6
|
||||
Compiling synstructure v0.13.2
|
||||
Compiling futures-macro v0.3.34
|
||||
Compiling futures-task v0.3.34
|
||||
Compiling futures-io v0.3.34
|
||||
Compiling slab v0.4.12
|
||||
Compiling futures-util v0.3.34
|
||||
Compiling arrayvec v0.7.8
|
||||
Compiling zerofrom-derive v0.1.7
|
||||
Compiling libc v0.2.189
|
||||
Compiling zerofrom v0.1.8
|
||||
Compiling yoke-derive v0.8.2
|
||||
Compiling raw-window-handle v0.6.2
|
||||
Compiling zerocopy v0.8.56
|
||||
Compiling stable_deref_trait v1.2.1
|
||||
Compiling yoke v0.8.3
|
||||
Compiling euclid v0.22.14
|
||||
Compiling zerocopy-derive v0.8.56
|
||||
Compiling khronos_api v3.1.0
|
||||
Compiling core_maths v0.1.1
|
||||
Compiling zerovec-derive v0.11.6
|
||||
Compiling smol_str v0.2.2
|
||||
Compiling rustc-hash v1.1.0
|
||||
Compiling zerovec v0.11.8
|
||||
Compiling half v2.7.1
|
||||
Compiling windows-result v0.2.0
|
||||
Compiling displaydoc v0.2.7
|
||||
Compiling version_check v0.9.5
|
||||
Compiling xml-rs v0.8.29
|
||||
Compiling gl_generator v0.14.0
|
||||
Compiling slotmap v1.1.1
|
||||
Compiling windows-strings v0.1.0
|
||||
Compiling font-types v0.10.1
|
||||
Compiling font-types v0.12.4
|
||||
Compiling windows-interface v0.58.0
|
||||
Compiling windows-implement v0.58.0
|
||||
Compiling parking_lot_core v0.9.12
|
||||
Compiling rustc-hash v2.1.3
|
||||
Compiling thiserror v1.0.69
|
||||
Compiling web-time v1.1.0
|
||||
Compiling lilt v0.8.2
|
||||
Compiling windows-core v0.58.0
|
||||
Compiling read-fonts v0.41.0
|
||||
Compiling read-fonts v0.35.0
|
||||
Compiling glutin_wgl_sys v0.6.1
|
||||
Compiling lyon_geom v1.0.19
|
||||
Compiling naga v27.0.3
|
||||
Compiling libloading v0.8.9
|
||||
Compiling thiserror-impl v1.0.69
|
||||
Compiling equivalent v1.0.2
|
||||
Compiling foldhash v0.2.0
|
||||
Compiling scopeguard v1.2.0
|
||||
Compiling hashbrown v0.17.1
|
||||
Compiling glam v0.25.0
|
||||
Compiling ash v0.38.0+1.3.281
|
||||
Compiling bit-vec v0.8.0
|
||||
Compiling unicode-width v0.2.2
|
||||
Compiling serde_core v1.0.229
|
||||
Compiling tinyvec_macros v0.1.1
|
||||
Compiling foldhash v0.1.5
|
||||
Compiling khronos-egl v6.0.0
|
||||
Compiling hashbrown v0.15.5
|
||||
Compiling tinyvec v1.13.2
|
||||
Compiling codespan-reporting v0.12.0
|
||||
Compiling bit-set v0.8.0
|
||||
Compiling iced_core v0.14.0
|
||||
Compiling indexmap v2.14.1
|
||||
Compiling lock_api v0.4.14
|
||||
Compiling hashbrown v0.16.1
|
||||
Compiling lyon_path v1.0.19
|
||||
Compiling skrifa v0.44.0
|
||||
Compiling windows v0.58.0
|
||||
Compiling tinystr v0.8.4
|
||||
Compiling ttf-parser v0.25.1
|
||||
Compiling http v1.5.0
|
||||
Compiling futures v0.3.34
|
||||
Compiling wgpu-hal v27.0.4
|
||||
Compiling gpu-descriptor-types v0.2.0
|
||||
Compiling spirv v0.3.0+sdk-1.3.268.0
|
||||
Compiling gpu-alloc-types v0.3.1
|
||||
Compiling unicode-segmentation v1.13.3
|
||||
Compiling yazi v0.2.1
|
||||
Compiling writeable v0.6.4
|
||||
Compiling zeno v0.3.3
|
||||
Compiling memmap2 v0.9.11
|
||||
Compiling presser v0.3.1
|
||||
Compiling find-msvc-tools v0.1.12
|
||||
Compiling hexf-parse v0.2.1
|
||||
Compiling shlex v2.0.1
|
||||
Compiling litemap v0.8.3
|
||||
Compiling icu_locale_core v2.3.0
|
||||
Compiling cc v1.4.5
|
||||
@@ -0,0 +1,191 @@
|
||||
# B4 Create capsule typography — read-only review, 2026-09-11
|
||||
|
||||
Codex-ytr83r / server_audit. Owned output: this report only. No production,
|
||||
compiler, native, Git or frozen-fixture changes. Gitea ownership #255; issue #2
|
||||
and comments through #251 read. The user's #250 clarification permits sequence
|
||||
constraints; Codex-956atf retains the coherent canvas interaction design. This
|
||||
review concerns only B4 label containment and its existing hit shape.
|
||||
|
||||
## Finding: fixed capsule does not bound its label
|
||||
|
||||
**P2 presentation risk, confirmed missing containment; exact native overflow
|
||||
extent unmeasured.** `behavior/scenario_lifecycle/render.rs:96` fixes the birth
|
||||
capsule to 140×28 world units. At line 305 its label is drawn 8 units from the left
|
||||
and 6 from the top, at 12 px, using `short(&marker.name, 18)` and otherwise default
|
||||
canvas Text. The name is the local Lifeline name (line 100), not the Create
|
||||
occurrence's message name.
|
||||
|
||||
`views.rs:25` collapses whitespace and limits Unicode **scalar count**: 18 or fewer
|
||||
scalars are returned intact; longer text gets 17 scalars plus an ellipsis. It
|
||||
measures neither glyph advances nor grapheme clusters. Thus there is 124 units of
|
||||
symmetrically padded width, or 132 to the outer right edge, but no corresponding
|
||||
text bound. An 18-scalar label whose shaped advance exceeds 132 units can extend
|
||||
beyond the capsule; wide Latin and CJK names are concrete candidate inputs. At
|
||||
12 px, even an average advance over 7.33 units crosses that outer-edge threshold.
|
||||
This is a threshold calculation, not a measured font result. Combining marks,
|
||||
ligatures, fallback fonts and glyph overhang also make scalar count unsuitable
|
||||
as an ink-bound guarantee. Splitting a grapheme is a secondary consequence of
|
||||
the same truncation strategy, not a separately verified native defect.
|
||||
|
||||
Core name validation (`oa-core/src/validation.rs:54`, `:65`, element name check
|
||||
at `:275`) permits these ordinary Unicode characters. There is no model rule
|
||||
making a name fit a graphical capsule. Changing model names or source text to
|
||||
solve display width would therefore be inappropriate.
|
||||
|
||||
Exact selection uses only `marker.capsule.contains(point)` at `render.rs:183`;
|
||||
the nearby-marker distance also uses the same rectangle at `:329`.
|
||||
`behavior.rs:1735`/`:1792` combines these shapes with bounded nearest-stroke
|
||||
tolerance. Text does not expand the marker hit shape. If visible text extends
|
||||
more than the screen tolerance outside the capsule, clicking it can miss the
|
||||
Create or select another nearby item. The capsule geometry and arrow endpoint
|
||||
remain mutually aligned; the potential mismatch is overflowing label ink.
|
||||
|
||||
## Installed Iced behavior, not an assumed browser text model
|
||||
|
||||
Desktop enables Iced 0.14 WGPU/canvas (`crates/oa-desktop/Cargo.toml:14`). Read the
|
||||
actual registry source under
|
||||
`.local/toolchain/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/`:
|
||||
|
||||
- `iced_graphics-0.14.0/src/geometry/text.rs`: Text exposes `max_width`, documented
|
||||
as line wrapping; its default is infinity. `draw_with` constructs a paragraph
|
||||
with that width and infinite height. Default line height is 1.2×size.
|
||||
- `iced_wgpu-0.14.0/src/geometry.rs:306`: ordinary positive uniform scale follows
|
||||
the cached-text path. It passes the text's width and infinite height, and clips
|
||||
to `self.clip_bounds` (line 361), not the previously filled rounded rectangle.
|
||||
Other transforms use glyph paths, also without an implicit capsule clip.
|
||||
- `iced_core-0.14.0/src/text.rs:134`: shaping can use font fallback; default Auto
|
||||
selects based on ASCII/non-ASCII unless shaping features override it.
|
||||
Font defaults to SansSerif (`font.rs:20`). No capsule-specific font is supplied.
|
||||
- `iced_graphics-0.14.0/src/geometry/frame.rs:141` provides `with_clip`, backed
|
||||
by a fresh child frame (`iced_wgpu ... geometry.rs:412`). The child's transform
|
||||
must be handled deliberately: Scene already scales the outer frame at
|
||||
`behavior.rs:2057`.
|
||||
|
||||
Therefore setting `max_width = 124` alone is **not** a one-line ellipsis fix. It
|
||||
can wrap into the fixed 28-unit capsule or below it; long unbroken words also
|
||||
depend on wrapping behavior. Default text has no capsule-height bound.
|
||||
Another scalar-count estimate, including the state-canvas approximation
|
||||
(`state_canvas.rs:298`), cannot guarantee Unicode containment either.
|
||||
|
||||
## Two bounded corrections
|
||||
|
||||
| Approach | Benefit | Cost / evidence needed |
|
||||
| --- | --- | --- |
|
||||
| A — clip the existing one-line display to the capsule interior | Smallest robust containment change; keeps capsule size, arrow endpoints, original hit IDs and all lifetime/layout semantics. Keep the current shortened display and unbounded single-line shaping inside a finite clip. | May cut a glyph or hide an existing ellipsis. Full authored name remains a separate lifeline property. Clip must use the actual screen transform; a naive world-space `with_clip` inside the scaled parent can regress zoom. |
|
||||
| B — fit a single-line, measured prefix plus ellipsis, with the same interior clip as a final bound | Gives a deliberate truncation signal and uses available width well for both narrow and wide names. Grapheme-safe prefix selection preserves user-visible characters. | Requires the same font/size/shaping measurement as drawing and bounded/cached work; a different platform text API is not authoritative. More implementation than A; wrapping or an average-character-width estimate is not an equivalent replacement. |
|
||||
|
||||
Recommend **A as the smallest immediate B4 correction**, with B only if root
|
||||
chooses readable ellipsis as part of this bounded polish and can use Iced's
|
||||
actual text measurement. Neither requires enlarging capsules or changing lane
|
||||
spacing. Automatic width expansion would affect endpoint/hit/layout contracts
|
||||
and overlap the separately owned constrained-canvas design.
|
||||
|
||||
Retain model/source names exactly. Verify screen-space clip placement at 0.5×,
|
||||
1× and 2×, plus minimum Fit for hit identity. The WGPU child frame does not inherit
|
||||
the parent's current transform; pass/restore the explicit scale and clip bounds
|
||||
through the narrow drawing bridge or use an equivalent renderer-supported
|
||||
bounded primitive. This report does not supply an uncompiled implementation.
|
||||
|
||||
## Separate pre-native variation and falsifier
|
||||
|
||||
Do not edit the six frozen source files or their baseline/OA-rename/SA-rename
|
||||
expectations. In a separate fresh typography checkpoint derived from baseline,
|
||||
prepare an exact expected Project/SourceBundle **before** native opening:
|
||||
|
||||
1. Rename only OA root receiver Lifeline
|
||||
`5ceab400-0000-4000-8000-00000000044e` to 18 `W` characters
|
||||
(`WWWWWWWWWWWWWWWWWW`).
|
||||
2. Rename only SA root receiver Lifeline
|
||||
`5ceab400-0000-4000-8000-000000000836` to 18 `界` characters.
|
||||
3. Preserve both Create occurrence IDs (`...0456`, `...083e`), lane identities,
|
||||
all rows/scopes, the full remainder of the model and unchanged CRLF rationale
|
||||
bytes. Prepare a separate later variation with a combining/emoji cluster
|
||||
across the 17-scalar cutoff if truncation quality is being changed.
|
||||
|
||||
Ordinary core/source admission of those exact variations is a pre-native gate;
|
||||
none was compiled or generated by this reviewer. A unit-renderer geometry test
|
||||
can establish unchanged capsule/endpoint/hit IDs, but it cannot establish native
|
||||
glyph width or clipping. Use actual Iced text measurement or captured WGPU output
|
||||
for that claim.
|
||||
|
||||
At normal readable zoom, inspect each Create capsule with the actual runtime
|
||||
fonts and record screenshot/scale/DPI. **Current-code falsifier:** label ink
|
||||
crosses the right capsule border, and a point on that ink more than 8 screen px
|
||||
outside the capsule fails to select its Create (assuming no nearer overlapping
|
||||
item). A particular font keeping these names within bounds disproves that
|
||||
specific visual reproduction, not the missing containment in source; record
|
||||
the measured result rather than claiming overflow from character count alone.
|
||||
|
||||
**Correction acceptance:** all label ink stays inside the padded capsule, no
|
||||
wrapped second line appears, exact capsule and near-stroke selection still
|
||||
returns the original Create at all tested scales, and passive open/zoom/select/
|
||||
Save leaves the whole prepared Project/SourceBundle unchanged. Native appearance,
|
||||
fallback coverage, antialiasing at minimum Fit and exact screenshot pixel extents
|
||||
remain pending. No additional model error, lifecycle semantic defect or general
|
||||
canvas redesign is asserted by this typography review.
|
||||
|
||||
## Frozen implementation sketch and name access
|
||||
|
||||
This is an uncompiled recommendation, not a production change. For the current
|
||||
Scene transform (positive uniform scale only, no camera translation), pass
|
||||
`self.scale` from `behavior.rs:2167` into `draw_markers`. Keep capsule fill/stroke
|
||||
and existing hit geometry unchanged. Replace only its label draw with:
|
||||
|
||||
```rust
|
||||
// scale is the same finite positive value used by Scene's outer Frame.
|
||||
if scale.is_finite() && scale > 0.0 {
|
||||
let inner = Rectangle::new(
|
||||
marker.capsule.position() + iced::Vector::new(8.0, 4.0),
|
||||
Size::new(124.0, 20.0),
|
||||
);
|
||||
let screen = Rectangle::new(
|
||||
Point::new(inner.x * scale, inner.y * scale),
|
||||
Size::new(inner.width * scale, inner.height * scale),
|
||||
);
|
||||
if let Some(clip) = screen.intersection(&Rectangle::with_size(frame.size())) {
|
||||
frame.with_clip(clip, |child| {
|
||||
// Child starts with identity transform. Coordinates stay absolute
|
||||
// within this canvas; do not subtract the clip origin.
|
||||
child.scale(scale);
|
||||
child.fill_text(Text {
|
||||
content: short(&marker.name, 18),
|
||||
position: marker.capsule.position() + iced::Vector::new(8.0, 6.0),
|
||||
size: 12.0.into(),
|
||||
color,
|
||||
..Default::default()
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`Rectangle::intersection(&Rectangle)` exists in iced_core 0.14.0
|
||||
`rectangle.rs:199`; `Frame::size`, `with_clip` and `scale` are existing APIs.
|
||||
Intersecting the screen clip with the outer canvas size preserves the parent's
|
||||
viewport bound. The current uniform scale takes WGPU's cached-text path; no glyph
|
||||
mesh/background reordering is introduced by this sketch. Any future camera
|
||||
translation needs the same translation in both screen clip and child transform,
|
||||
under the separately owned canvas work. Do not widen the hit rectangle to hide
|
||||
an overflow defect. Measured ellipsis remains optional and separate from this
|
||||
minimum containment change.
|
||||
|
||||
The capsule intentionally selects the original **Create occurrence**, not the
|
||||
Lifeline whose name it displays. Keep that identity unchanged. To inspect the
|
||||
full Lifeline name, select its neutral lane header/guide, then Selection →
|
||||
Properties. `scenario/workspace.rs:256` displays `p.named(app.selected)` without
|
||||
`short`, and `:270` sends that exact ID to EditProperties; `forms.rs:172` loads
|
||||
the selected project record. Native acceptance should confirm the full name in
|
||||
the Inspector and unchanged raw value after cancel. It must not expect clicking
|
||||
the birth capsule to rename the Lifeline.
|
||||
|
||||
Add a separate combining/emoji display variation before native input, without
|
||||
modifying frozen fixtures: a name beginning with 16 ASCII characters followed by
|
||||
`e` plus U+0301, and another with a joined emoji sequence near the cutoff. Keep
|
||||
their complete source strings as the oracle. Missing installed glyphs are a
|
||||
recorded font-coverage limitation, not grounds to require another font; bounding
|
||||
and identity checks still apply to the actual fallback/tofu output. Long CJK,
|
||||
combining and emoji cases are proposed inputs, not tested screenshots.
|
||||
|
||||
Frozen immediately for the user's reboot. No remaining owned compiler/native
|
||||
helper exists; read-only file-inspection commands completed. Root owns evidence
|
||||
commit, later correction ratification and execution.
|
||||
Reference in New Issue
Block a user