Skip to content

dasImgui merges into the main repository - #3592

Merged
borisbat merged 17 commits into
masterfrom
bbatkin/dasimgui-merge
Jul 30, 2026
Merged

dasImgui merges into the main repository#3592
borisbat merged 17 commits into
masterfrom
bbatkin/dasimgui-merge

Conversation

@borisbat

Copy link
Copy Markdown
Collaborator

dasImgui merges into the main repository

dasImgui was the one external module every daslang UI tool kept pulling back in. This PR ends the split: the module moves in-tree, enabled by default the same way dasGLFW is, with its documentation merged into the main Sphinx tree and its integration tests running nightly. The old repository (borisbat/dasImgui) will be archived after this lands — full history stays there; this is a flat import at borisbat/dasImgui@66a89de (PR #235 tip).

The module (modules/dasImgui/)

  • Flat import, ~740 files. Excluded: the old repo's CI/hooks (superseded), plans/, the 54 tutorial MP4s (now release assets, see Docs), and the dormant C++ Vulkan backend sources (superseded by the pure-das vulkan/vulkan_imgui_driver in dasVulkan — see examples/vulkan_imgui_cube).
  • Root option(DAS_IMGUI_DISABLED ... OFF); the module gate also drops it when DAS_GLFW_DISABLED=ON or DAS_CLIPBOARD_DISABLED=ON (the dasOPENAI-off-dasHV pattern), covering the GLFW-less lanes (doc/eastl/gcc/cpp_mcp).
  • The superbuild now also builds the shared twins (dasModuleImgui / imguiApp / imguiAppHeadless .shared_modules): the default daslang/daslang-live host is the dynamic flavor and loads modules via .das_module — static halves alone are invisible to it. The twins mirror the standalone desktop targets on in-tree CMake targets (no EXTERN_GLFW_TYPE_FACTORY; IMGUI_API exports flow via import libs).
  • Legacy v1 daslib/imgui_boost.das re-registered — it compiles fine standalone (probe-verified); the ".das_module non-compileable" comment was stale.
  • Third-party unchanged: imgui v1.92.6-docking / freetype / MD4C via hash-pinned FetchContent; gl3w + JetBrains Mono vendored. md4c.c gets file-scoped MSVC /wd suppressions (the superbuild's /WX turned its warnings fatal; sqlite3.c precedent).
  • .gitignore drops the modules/dasImgui/ exclusion (the 2026-05-12 break it recorded was the daspkg-standalone flavor colliding with the glob; a tracked copy carries no .daspkg_standalone).

Tests (tests/dasImgui/, nightly-only)

  • 151 playwright tests + 54 record_* drivers move from the module tree. Test-side app paths were already root-relative and imgui_playwright resolves against the module's runtime location — zero .das changes for the move.
  • tests/.das_test gates the folder: --test tests/ sweeps skip it unless --imgui is passed; direct --test tests/dasImgui targeting always runs (verified both ways).
  • New nightly_imgui.yml: cron 03:00 UTC + workflow_dispatch (on-demand runs, per review request), ubuntu isolated-4 / macOS serial, headless, the three permanent excludes; windows stays off (0xC0000409 + libhv 16-POST — recipe archived with the old repo).
  • New preflight imgui gate (--full tier): nightly CI is the suite's only lane, so the local mirror is the only pre-push gate.

CI lanes

  • extended_checks: the daspkg install dasImgui externals-coupling gate is gone (the module builds in-tree in the lane); the parked bind_imgui.das self-binder freshness check is re-homed to the mingw nightly worker beside bind_clangbind (cbind lives there).
  • fatman / wasmboy / pages: stop cloning dasImgui; ImPlot + NodeEditor stay external clones. pages' wasm64 release flow keeps working through the in-tree copy (manifests keep declaring require_package("dasImgui") so release wasm stages its archives).
  • This is dasImgui C++'s first exposure to the mingw/clang-cl/Windows matrix — full build.yml (mingw + clang-cl + AOT sweeps) and nightly_imgui.yml are dispatched on this branch; results tracked here.

Docs (merged into the main tree)

  • 57 tutorials → doc/source/reference/tutorials/imgui/; stdlib GUI section (sec_imgui.rst + 4 sub-sections + external types + the internal-families catalog); 10 handmade pages; 104 icon PNGs; icon_role + tutorial_video become main conf.py extensions. The module's own Sphinx site scaffolding is deleted; borisbat.github.io/dasImgui retires.
  • imgui2rst outputs beside das2rst's pages, so the existing Uncategorized/stub/untracked doc gates cover it. doc.yml builds the host with GLFW+imgui ON (new GL/X11 apt deps) and runs imgui2rst + the recordings-staging step.
  • Tutorial MP4s (54, 51 MB) leave git: they live on the rolling docs-assets release; utils/docs_assets/fetch.{sh,ps1} stages them before sphinx; the .. video:: directive is depth-aware and fails a -W build on any unstaged recording. Re-record workflow ends with gh release upload docs-assets *.mp4 --clobber.
  • Verified locally: das2rst + imgui2rst + full sphinx-build -W = zero warnings.

daspkg

  • New rule: a tracked in-tree module satisfies require_package / install <name> — no-op with "part of this daslang tree — nothing to install". Discriminated from daspkg global installs via the global lock file, so local-shadows-global for real packages is unchanged; --force remains the escape hatch. Covers the 9 example manifests + utils/jobque-timeline. Regression test included.
  • dasImgui leaves the package index after this merges (separate PR); dasImguiImplot / dasImguiNodeEditor stay external and resolve their dasImgui dep against the in-tree module.

Sweeps

  • Skills: the module's 4 skills fold into skills/imgui_{application,migration,playwright,recording}.md (+ CLAUDE.md rows); stale external-repo claims fixed across build_and_debug, external_module_debugging (worked example → dasImguiNodeEditor), abi_break_sweep, make_pr, preflight (+ nightly_imgui section), daspkg (global-install example → dasVulkan), imgui_ui_debugging, dynamic_modules, install/CLAUDE.md.
  • Site (daspkg install animation → dasVulkan; dasImgui card → in-tree docs), ~10 example READMEs, daspkg/embedding RSTs, module README + CLAUDE.md rewritten for the in-tree world.
  • Lint: the imported tree linted against current main rules — mechanical fixes applied (const-able vars, redundant unsafe, string-clone semantics, unused requires); the imgui_demo C++-port files opt out of the length/complexity rules via the sanctioned per-module options; pre-existing long functions in touched utils files carry targeted nolints.

Local validation

  • Full Release superbuild green on MSVC (first Windows superbuild compile of dasImgui).
  • modules/dasImgui/examples/features/triggers.das compiles + runs headless in-tree, no flags.
  • tests/dasImgui/test_snapshot.das end-to-end PASS through dastest → daslang-live spawn → HTTP playwright (4.9s). Full suite: 213/213 PASS locally (headless, isolated ×4, 284s, the three permanent excludes).
  • ctest -L small: 80/80. daspkg suite: no new failures (3 pre-existing local-box failures unchanged). preflight format + lint gates green.
  • sphinx -W full tree: zero warnings.

Post-merge (tracked separately): withdraw dasImgui from the daspkg index, sweep dasImguiImplot/dasImguiNodeEditor CI (drop their second checkout), banner + archive borisbat/dasImgui.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC

borisbat and others added 10 commits July 29, 2026 17:12
Flat import of the dasImgui module tree into modules/dasImgui/ -- full
history stays in the archived borisbat/dasImgui repository. Excluded
from the import: the old repo's CI workflows and git hooks (superseded
by main-repo CI), plans/, the 54 tutorial MP4s (moving to a docs-assets
GitHub release), and the dormant C++ Vulkan backend sources (superseded
by the pure-das vulkan/vulkan_imgui_driver in dasVulkan).

Drops the .gitignore modules/dasImgui/ exclusion: the 2026-05-12 master
break it recorded was the daspkg-standalone flavor colliding with the
modules glob; a git-tracked copy carries no .daspkg_standalone marker
and is meant to be built in-tree.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
… derived gate, v1 imgui_boost re-registered

The module gate now also drops dasImgui when a superbuild disables
dasGlfw or dasClipboard (the dasOPENAI-off-dasHV pattern), covering the
GLFW-less lanes (doc, eastl, gcc, cpp_mcp). Superbuild stays static-only
per the module's own dllexport-matrix rationale (dasVulkan precedent).
Legacy v1 daslib/imgui_boost.das compiles fine standalone (probe-verified)
-- re-registered in .das_module + ADD_MODULE_DAS; the 'intentionally
non-compileable' comment was stale. ci_only_das + web embed + install
comments updated for the in-tree reality.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
…imgui opt-in

151 test_*.das + 54 record_* drivers + smoke scripts move from the module
tree to tests/dasImgui. Test-side app paths (modules/dasImgui/examples/...)
were already root-relative and imgui_playwright resolves them against the
module's own runtime location, so no .das changes -- only the two smoke
scripts' script-dir depths and the rerecord/README prose. The tests/.das_test
gate skips the folder unless the runner passes --imgui (clargs ignores
unknown flags, so dastest tolerates it); per-PR --test tests/ sweeps never
spawn the 151 daslang-live subprocesses. md4c gets file-scoped MSVC warning
suppressions (C4201/4701/4702/4703) -- the superbuild's /WX turned them
fatal; sqlite3.c precedent.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
The default daslang/daslang-live host loads modules dynamically, so the
superbuild now also builds the dasModuleImgui/imguiApp/imguiAppHeadless
.shared_module twins (mirroring the standalone desktop targets on in-tree
CMake targets; no EXTERN_GLFW_TYPE_FACTORY -- each DLL is its own link
unit). Verified end-to-end: feature app compiles + runs headless in-tree,
and tests/dasImgui/test_snapshot.das PASSes through dastest -> daslang-live
spawn -> HTTP playwright (4.9s).

nightly_imgui.yml: cron 03:00 UTC + workflow_dispatch (on-demand),
ubuntu isolated-4 / macos serial, headless, the three permanent excludes;
windows off (0xC0000409 + libhv 16-POST, recipe archived with old repo).
Verified the tests/.das_test gate: --test tests/ sweep skips the folder
(0 mentions), direct targeting runs it.

extended_checks: daspkg-install coupling gate removed (module builds
in-tree in the lane); bind_imgui.das freshness check re-homed to the
mingw nightly worker beside bind_clangbind (cbind lives there).
fatman/wasmboy: dasImgui clone dropped, dependents still cloned.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
Drop the dasImgui clone and keep the rm -rf cleanup off the now-tracked
module. The wasm64 release flow keeps working through the in-tree copy:
example manifests still declare require_package(dasImgui) so release
wasm stages its archives; daspkg resolves the dep against
modules/dasImgui (no clone).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
Content moves: 57 tutorial RSTs -> doc/source/reference/tutorials/imgui/
(hooked into tutorials.rst); stdlib sections -> sec_imgui{,_boost,_widgets,
_live,_testing}.rst + imgui_external_types + imgui_internal_families under
doc/source/stdlib/ (new umbrella sec_imgui.rst in the numbered index); 10
handmade module pages -> stdlib/handmade/; 104 icon PNGs -> _static/icons/;
icon_role.py + tutorial_video.py become main conf.py extensions. The
module's doc/ site scaffolding (conf.py, index, theme copies, sidebar.js
dup) is deleted -- the old borisbat.github.io/dasImgui site retires.

Cross-refs rewritten for the new depths (download targets 3-up -> 5-up via
modules/dasImgui/..., tests/integration -> tests/dasImgui, stdlib refs
absolute). imgui2rst retargets its output to <das_root>/doc/source/stdlib/
generated/ beside das2rst's pages, so the existing Uncategorized/stub/
untracked gates cover it.

Tutorial MP4s (54, 51 MB) leave git: they live on the rolling `docs-assets`
GitHub release (created; all 54 uploaded). utils/docs_assets/fetch.{sh,ps1}
stages them into doc/source/_static/tutorials/ (now gitignored) before
sphinx; the ported `.. video::` directive is depth-aware and fails a -W
build on any unstaged recording. Recordings from with_recording_app now
land in the main doc tree's _static.

doc.yml: paths += modules/dasImgui/**, host build flips DAS_GLFW_DISABLED
=OFF (+ GL/X11 apt deps) so imgui2rst can load the module; new imgui2rst +
stage steps. pages.yml: same two steps + the imgui trio and clipboard
shared modules join the wasm cache list. external_modules/dasimgui.rst stub
deleted; sibling stubs re-point at the in-tree section.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
A tracked in-tree module (modules/<name> in the daslang tree, e.g.
dasImgui) needs no install anywhere -- the compiled host carries it.
Both the dependency route (install_dependencies) and the explicit
cmd_install route now recognize this and no-op with a notice instead of
cloning a project-local shadow copy. Discriminated from daspkg GLOBAL
installs at the same path via the global lock file (global installs are
recorded there; tracked modules never are), so the documented
local-shadows-global behavior for real packages is unchanged; --force
remains the escape hatch. Probe-verified: explicit 'install dasImgui'
and the furier example's require_package(dasImgui) both no-op cleanly.
New regression test rides dasGlfw (always in-tree, never in the lock).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
…mgui gate; jobque-timeline dep to bare name

sphinx -W now builds the merged tree clean (verified locally: das2rst +
imgui2rst + 57 tutorials + video directive + icon role, zero warnings).
preflight grows a full-tier 'imgui' gate -- builds daslang-live + the
imgui trio, runs the tests/dasImgui playwright suite headless; nightly
CI is its only lane, so this local mirror is the only pre-push gate.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
…e imported tree

Skills: the module's four skills move to skills/imgui_{application,
migration,playwright,recording}.md (content reworked for the in-tree
world: tests/dasImgui paths, repo-root commands, docs-assets MP4 flow)
+ four CLAUDE.md table rows; imgui_lint's IMGUI001/002 messages point at
the new migration skill. Stale external-repo claims fixed across
build_and_debug, external_module_debugging (worked example ->
dasImguiNodeEditor), abi_break_sweep, make_pr, preflight (+
nightly_imgui section and CI-table row), daspkg (global example ->
dasVulkan + the in-tree note), imgui_ui_debugging, dynamic_modules,
wsl_ci_repro check, install/CLAUDE.md.

Touchpoints: site daspkg animation -> dasVulkan, dasImgui card -> in-tree
docs; ~10 example READMEs drop the dasImgui install step (externals keep
theirs); daspkg.rst / external_modules.rst / sfx_lab RST updated; module
README + CLAUDE.md rewritten for in-tree (19KB -> 11KB); superseded
utils/rerecord.ps1 removed; prepare_recording's default asset root
follows recordings to get_das_root().

Lint: the imported tree now lints clean against current main rules —
465 changed .das, 0 issues. Real fixes: 61 var->let (LINT003), 65
redundant-unsafe drops (STYLE024), 52 string-clone corrections (LINT016),
7 unused requires (STYLE030), assorted PERF/LINT/STYLE one-liners. The
imgui_demo C++-port files opt out of function-length/complexity via the
sanctioned per-module options; pre-existing long functions in library/
test/utils files carry targeted nolints (no refactors in a merge PR).
jobque-timeline's dep drops the git-URL form for the bare index name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
The two-dir_name-hops root belonged to the external-repo layout; from
tests/dasImgui it walked to the repo root and missed. Full suite now
213/213 locally (headless, isolated x4, the three permanent excludes).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
Copilot AI review requested due to automatic review settings July 30, 2026 01:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

Ninja's build graph only carries a rule for the BUILD_BYPRODUCTS path
(libglfw.so.3.4 / libglfw.3.4.dylib / glfw3dll.lib), not the unversioned
symlinks install lays down beside it -- linking libglfw.so broke the doc
lane at generation time. DAS_GLFW_DYN_PATH is set in root scope by
dasGlfw's CMakeLists (same rail as GLFW_INCLUDE_DIR), so one variable
covers all four toolchains. MSVC re-verified locally (same import lib as
before).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
Copilot AI review requested due to automatic review settings July 30, 2026 01:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

…on; pdflatex chars; ci-das tool coverage

Tests move from tests/dasImgui into the module (per review): the per-PR
`--test tests/` sweeps never enter modules/, so the tests/.das_test gate
clause is deleted outright — nightly_imgui.yml and local runs target the
folder directly. 41 reference sites swept; the smoke/rerecord scripts'
script-dir depths go 2-up -> 3-up. Verified from the new location:
test_snapshot end-to-end PASS, module_isolation PASS, preflight
format+lint green, sphinx -W zero warnings.

modules/dasImgui/CODEREVIEW.md establishes folder-scoped review rules
(new functionality ships with tests; tests under modules/dasImgui/tests,
never tests/dasImgui; run the suite before a PR; tests stay
multiplatform). skills/make_pr.md gains step 0a: after the master
rebase, walk the changed set's parent dirs, collect every CODEREVIEW.md,
and list those rules as binding in the review.

doc lane PDF fix: pdflatex died on U+25BC from a tutorial literalinclude;
audited the full LaTeX-flowing set (tutorial sources + imgui tutorial
RSTs) — exactly four chars, three not yet declared. Added 2022/2192/25BC
to conf.py's existing \DeclareUnicodeCharacter ladder; the heavy Unicode
demos (unicode_fonts, markdown_viewer) never flow into LaTeX.

Per-PR compile coverage for imgui-consuming tools: extended_checks gains
a "Compile CI-only das surface" step running preflight's ci-das gate
(single source of truth with the local mirror); ci_only_das.txt adds
utils/jobque-timeline/*.das + the dasHerd UI root (both compile clean
against in-tree imgui, probe-verified; 26 files, 38s). The ~200 dasImgui
examples are deliberately NOT swept per-PR — the nightly suite compiles
and runs them as spawned apps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
Copilot AI review requested due to automatic review settings July 30, 2026 02:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

…abysit.md: job-granular watcher rule

CMakeCommon's ADD_DEFINITIONS(/W4, /arch:*) have always leaked into the
RC language, and freetype's ftver.rc (FetchContent'd by dasImgui) is the
first .rc the superbuild ever compiles -- only the Ninja windows cells
leak (cmcldeps hands directory flags to rc.exe -> RC1106; the VS
generator filters them, which is why local MSVC was green). A version
resource in a static .lib is dead weight: strip the file instead of
touching repo-wide flag plumbing.

babysit.md makes the watcher anti-pattern explicit: never tick on
workflow-granular 'gh run list' (fail-fast:false matrices stay
in_progress around dead jobs); job-granular 'gh pr checks' + a jobs-json
poll for detached workflow_dispatch runs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
Copilot AI review requested due to automatic review settings July 30, 2026 02:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

…t watcher note de-incidented

New review-checklist item: a skill states the rule and the mechanism
that makes it true, never the incident that taught it -- incidents age
into noise and pin readers to a context they don't have. babysit.md's
fresh watcher rule now complies with it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
Copilot AI review requested due to automatic review settings July 30, 2026 03:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

clang-mingw rejects the implicit PROC/FARPROC -> void* conversions MSVC
tolerates (gl3w.cpp compiles as C++; the module's first mingw exposure).
reinterpret_cast at the two assignment sites; MSVC re-verified locally.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
Copilot AI review requested due to automatic review settings July 30, 2026 03:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

The shipped skill gained pointers to the folded imgui_playwright/
imgui_application skills, which are repo-only by design -- the bundle
smoke's reference gate rightly flagged them. repo-only markers per the
gate's own escape hatch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
Copilot AI review requested due to automatic review settings July 30, 2026 03:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

…dir gap

Parsing imgui.h under the mingw worker's libclang dies on 'float.h not
found' -- the same documented gap that already parks bind_llvm there.
TODO'd beside it; binding freshness stays a local-regen discipline as in
the module's standalone era.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcrnLGE9AEh8EAND3xYCRC
Copilot AI review requested due to automatic review settings July 30, 2026 04:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@borisbat
borisbat merged commit 40cc907 into master Jul 30, 2026
59 checks passed
pull Bot pushed a commit to forksnd/daScript that referenced this pull request Jul 31, 2026
The in-tree import (GaijinEntertainment#3592) was cut from borisbat/dasImgui@66a89de -- one
commit before the tree-sitter span-path perf fix (21s -> 1s on ds_parser.cpp)
and the kill-by-path sweep, which were committed locally but never pushed.
Ported from the archived clone (.codex/archive/dasImgui-clone, 13 unpushed
commits preserved): the perf fix onto text/imgui_text_tree_sitter.das (with
nolint:STYLE038 re-applied per the merge sweep's convention), and the
by-PATH kill wording onto skills/imgui_playwright.md + modules/dasImgui/CLAUDE.md
where the fold had kept the bare name-kill.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

2 participants