Skip to content

History / skinning

Revisions

  • interface, nel/gui: trim overused em-dashes to natural punctuation Down from 267 em-dashes across 16 files to 16, all of which are legitimate structural uses (table n/a markers in the "default" column of attribute tables). Non-structural em-dashes were converted to: - colons for term-then-definition patterns and appositives introducing a list; - periods for what read as full sentence breaks (a "but" clause, an amplification, a punchy conclusion); - semicolons where a run-on tail was really a second independent clause; - parentheses where a matched pair of em-dashes wrapped a parenthetical aside; - reworded prose where the em-dash was pinning together two ideas that needed a proper conjunction. Kept em-dashes where structural: table cells showing "no default" (| — |). Section headers of the form "# widget — CClass" were rewritten as "# widget (CClass)" or "# widget: description"; the anchor cross-refs that pointed at those headings (embedding.md → views#text-cviewtext, database#link-reactive-rules; embedding.md → widget_sample#emscripten- webgl-build carried over from the earlier milestone-tag cleanup) were updated to the new slugs. Content unchanged — same claims, same code snippets, same warnings; only the punctuation between them. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    @kaetemi kaetemi committed Jul 24, 2026
  • interface, nel/gui: reframe more apologetic wording More cases of the same pattern: the docs qualify a widget or attribute by contrasting it with a "production" or "typical" use rather than saying what it actually does. - skinning.md + widget_sample.md: "only layer0 renders a visible title band in production use ... deeper layers' header_h/title_font_size params are mostly latent" — deeper-layer header_h is not latent; it sets the collapsed-row height of rollout children (which serve as those layers' "titlebar"). Reworded to say directly what the params do at each layer. - views.md: "these need the application to install a text provider (client-only in practice)" on text_id/text_id_formated — restated as a plain contract (server-string id needs an app-installed text provider; the client wires the network string cache, a standalone app supplies its own backing). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    @kaetemi kaetemi committed Jul 24, 2026
  • interface, nel/gui: trim circumstantial dev-notes Wiki documentation should describe the current API and how to use it, not narrate the path that built the sample. Removed asides that read as dev journal rather than reference: - widget_sample.md: dropped the M1-M7 milestone status section, the `(M2)` / `(M3)` tags on section headers, the "learned the hard way" header, the "two NLGUI bugs fixed while building this" note, the "sample originally erased the name" bug story, the "the sample introduced/no longer forces" framing on frame_covers_open_list and layer options, and the commit SHA on the browser-input paragraph. Reworded the `build_interface --keep-going` note as a plain flag description instead of a "gained" changelog entry. - embedding.md: dropped the "for years / until 2f6a3f319" and "since cc374f902" SHA references, the parenthetical "(this exact bug shipped in the sample for three milestones)" on the proc row, and the "everything here was learned the hard way" header line. - action_handlers.md: rewrote the `@0` warning to state the failure mode directly instead of narrating the launcher-toggle bug and how the Lua console isolated it. Rewrote the debugging tip about `runAH` bisection likewise. - controls.md: dropped "the sample's Lua console was broken exactly this way" tail on the enter_loose_focus warning. - lua.md: dropped the "(it found the proc `@0` bug)" tail on the console description. - skinning.md: dropped the "(kept exercised there)" aside on the w_ skin bullet. - interface.md + embedding.md: fixed the cross-page anchor for the Emscripten/WebGL section (now `#emscripten-webgl-build`, was `#emscripten-webgl-build-m3`). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    @kaetemi kaetemi committed Jul 24, 2026
  • interface, nel/gui: fix fabricated font/w_ header claims + note openable demo The "ingame.ttf is the required pixel font, basic.ttf overflows by ~30%" line was wrong: both fonts shipped historically (ingame in beta, basic later) and neither breaks the header metrics. Also removed the parallel "single 24px w_header_* band" fabrication in widget_sample.md (and the matching claim in skinning.md's font paragraph): both w_ and skin_ declare per-layer header_h (16/14/12/10) in the layer options, but only layer0 renders an actual visible title band in production use since sub-layers carry rollout children whose collapsed rows serve as the "titlebar". Non-frame w_ art (gauges, tab buttons, brick slots) still ships alongside the skin_ frame set. Also added the openable container mode to the sample's widget coverage list (views window collapses to its titlebar via the layer0 arrow). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    @kaetemi kaetemi committed Jul 24, 2026
  • Comprehensive NeL GUI documentation: /interface authoring tree + library pages /interface rebuilt from stub into the UI-creation root with ten subpages: first window tutorial, layout (hotspots/posref/sizeref/vector), XML structure (parse pipeline, defines, templates, styles, options), views, controls, windows and containers, database/links/expressions, action handlers and procedures, Lua scripting, HTML groups, and skinning. Attribute tables and behaviors verified against nel/src/gui source; 31 screenshots captured from the live nl_sample_gui showcase. /nel/gui rewritten as the library overview (architecture, element hierarchy, frame flow, widget registry) with a new embedding guide covering the full host-application contract and pitfalls learned building the sample. Cross-links and context index updated.

    @kaetemi kaetemi committed Jul 21, 2026