Repository navigation
Rename the library to net.b12n.raylib-clj.* and move the examples to raylib-clj-demo - #11
Merged
Merged
Conversation
A breaking change, made once so the namespaces match the rest of the b12n raylib work (raylib-ios is net.b12n.raylib-ios.*): - raylib.* (29 namespaces) is now net.b12n.raylib-clj.*, moved from src/raylib/ to src/net/b12n/raylib_clj/. raylib.core is net.b12n.raylib-clj.core, raylib.core.window is net.b12n.raylib-clj.core.window, and so on. - debug-stats, the F1 overlay, is now net.b12n.raylib-clj.debug-stats. The 80 bare [debug-stats] requires became [net.b12n.raylib-clj.debug-stats :as debug-stats], so every call site is unchanged. The rewrite matched each namespace by exact name with word boundaries, so raylib.h and raylib.dll are untouched, and left CHANGELOG history alone: 1,209 references across 154 files. The examples still run from here in this commit, their requires updated. bb check is identical before and after: all 143 namespaces compile, with the same 69 lint warnings. clojure-lsp clean-ns --dry reports the same findings it does on main. asteroids and background-scrolling open a window and run for 25s, the latter loading its resources/ images.
The 113 example programs now live in https://github.com/b12n-oss/raylib-clj-demo, one project per example, with namespaces renamed net.b12n.raylib-clj.scenes.<name>, their own GIFs and the resources/ files they use. This repo is the library only. Removed: src/examples/, resources/ (with resources/LICENSE.md), docs/demos/, docs/guide/demos.md, docs/guide/example-catalog.md, scripts/demo_manifest.edn, the new_example issue template, sh/package-macos.sh, the 113 example aliases in deps.edn, the 113 per-example bb tasks, the example-only bb tasks (run, examples, record, record:status, record:new, demos:examples) and the example registry and its helpers in bb/helpers.bb. Stays: the bindings under src/net/b12n/raylib_clj/, libs/, the :check and :dev aliases, and every other bb task (repl, nrepl, lint, whitespace, check, check:full, lsp:*, hooks:*, clean, deps, outdated, loc, tree, macos:sign-lib, info, help). deps.edn drops "resources" from :paths and project.clj drops :resource-paths, :main, :aot and the asteroids init-ns. bb check:full now compile-checks with clojure -M:check instead of requiring examples.asteroids. Retargeted: README, CONTRIBUTING, the PR and bug templates, CI comments, docs/site.edn (no :asset-dirs, the gallery moved) and the guide pages now point at raylib-clj-demo wherever they pointed at an example here. example-architecture-patterns.md stays and cites the demo repo. NOTICE keeps every third-party notice and says the examples and resources/ moved, so its resources/ section now applies to raylib-clj-demo. CHANGELOG gets a 2026-10-05 entry covering the rename and the move. LICENSE is untouched. Measured gates: bb tasks parses and lists no example tasks (27 lines). bb check: all 30 namespaces compile, lint errors 0, warnings 1. Before this commit it was 143 namespaces and 69 warnings, counting the examples.
easings.clj still cited raylib/lights.clj, a path form the namespace rewrite did not match. The storage.data ignore was for the storage-values example, which moved to raylib-clj-demo.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes
Two breaking changes in one PR, made together so raylib-clj ends up as a library with consistent namespaces.
1. The library is
net.b12n.raylib-clj.*(a61974e). This matches the rest of the b12n raylib work; raylib-ios isnet.b12n.raylib-ios.*.raylib.*(29 namespaces) moved fromsrc/raylib/tosrc/net/b12n/raylib_clj/.raylib.coreis nownet.b12n.raylib-clj.core, andraylib.core.windowisnet.b12n.raylib-clj.core.window.debug-statsisnet.b12n.raylib-clj.debug-stats. The 80 bare[debug-stats]requires became[net.b12n.raylib-clj.debug-stats :as debug-stats], so every call site is unchanged.raylib.handraylib.dllare untouched, and so is CHANGELOG history.bb checkmatchedmainexactly: all 143 namespaces compiled, with the same 69 lint warnings.asteroidsandbackground-scrollingran in a real window.2. The 113 examples moved to raylib-clj-demo (7c988c7). Each is its own project there, with the namespace
net.b12n.raylib-clj.scenes.<name>.src/examples/,resources/(only the examples used it; each demo now carries the files it uses plusresources/LICENSE.md),docs/demos/, the gallery and catalog pages, the recorder manifest, the example tasks and aliases, the new-example issue template andsh/package-macos.sh.libs/.bb/helpers.bbis down to its output helpers.3. Two small fixes from review (2bc0e63): a
raylib/lights.cljdocstring path the rewrite missed, and a stalestorage.dataignore entry.Verified
bb check: all 30 namespaces compile, with lint at 0 errors and 1 warning (the existingnrepl.cljunused binding).bb taskslists 25 tasks, and no example task is left.:git/sha. There,bb checkcompiles all 113 scenes,bb doctorpasses, and all 15 asset-loading demos load their files when run from their own directories.Before merging
raylib-clj-demo is only a local repo so far, so
https://github.com/b12n-oss/raylib-clj-demodoesn't exist yet. Everything this PR points readers at would 404 until it's published, so it's best to merge once that repo is up.