Skip to content

History / widget_sample

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
  • nel/gui: fix wrong history claim and w_-skin "otherwise-unused" line Rewrote the History paragraph: dropped the invented "third GUI attempt" lineage (snowballs had no such system; CEGUI was a community plugin, not a NeL attempt) and stated what the library actually is — Ryzom's interface code lifted from `interface_v3` into NeL, with the community CEGUI integration mentioned as a separate plugin. Also tightened widget_sample.md's w_ description: many `w_` elements (gauges, tab buttons, brick slots) still ship, so it's the frame set that's otherwise-unused, not the whole skin. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    @kaetemi kaetemi committed Jul 24, 2026
  • nel/gui: document WebGL input support in embedding guide and widget sample The emscripten driver now feeds the event server from HTML5 callbacks (mouse/wheel/keyboard, first touch as left mouse button), so the CEventListener + pointer-mirroring embedding contract works unmodified in the browser. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 21, 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
  • widget sample: Lua console, drag-drop inventory, group_html help viewer (M5-M7) Records the new demo apps and what they pinned down: enter_loose_focus for console edit boxes, __next-based pairs() inspection, the mouse hook + pointer button mirroring contract, group_html anatomy with browse handler wiring and the load-bearing browser.css, and the proc @0/paramList[1] contract that had left launcher toggles broken. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 21, 2026
  • widget sample: Minesweeper demo app + Lua embedding contract (initLUA, getUI, reflection)

    @kaetemi kaetemi committed Jul 21, 2026
  • widget sample: layers by nesting depth, unified w_ title metrics

    @kaetemi kaetemi committed Jul 21, 2026
  • widget sample: keep800x600Ratio pitfall, line_maxw wrapping, 1280x720 layout, ingame.ttf

    @kaetemi kaetemi committed Jul 21, 2026
  • GUI widget sample: frame_covers_open_list option and open-rollout layout Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 19, 2026
  • Revert GUI widget sample page to the state matching 124f45831 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 19, 2026
  • GUI widget sample: rollout note reflects revert to beveled-bar style Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 19, 2026
  • GUI widget sample: content-layer styles discovery (frameless rollout rows) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 19, 2026
  • GUI widget sample: authentic rollout anatomy notes Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 19, 2026
  • GUI widget sample: popin rollout coverage note Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 19, 2026
  • GUI widget sample: M3 emscripten build recipe and status Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 19, 2026
  • GUI widget sample: M2 coverage, app-provided requirements, pitfalls Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 19, 2026
  • NeL GUI widget sample page (w_ skin showcase, M1) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 18, 2026