Repository navigation
v0.4.0-rc1
Pre-releaseThis is a release candidate: an early-testing build. Try it, and report what breaks - problems found here are problems not shipped to everyone.
FerriteLib is a prerequisite library mod for Coahuilite mods that use its UI kit. It adds no game content of any kind - no Defs, no patches, no textures - and its entire payload is 1.6/Assemblies/FerriteLib.UiKit.dll.
Installing
- Unzip this archive directly into
RimWorld/Mods/. It contains a top-levelFerriteLibfolder, so the result isMods/FerriteLib/.... - Install the mod that needs it (currently Universal Squeaker) from its own releases page.
- Enable both in the mod list. RimWorld will warn if the consumer is enabled without this one.
Do not copy FerriteLib.UiKit.dll into another mod's folder. Exactly one carrier of that assembly may be installed; two of them bind by load order through the game's single global AssemblyResolve and the copy that loses has no way to find out.
Version identity
| Package id | coahuilite.ferritelib |
| Release | v0.4.0-rc1 |
| Built from commit | b60f7fd67d08 |
| Asset SHA-256 | 361468B141BC7BCCA4D13EC59237C540276FD785E916DA8D4F1E9E8CEFA347A5 |
The consumer repository links to this release instead of shipping its own copy, so the SHA-256 above is the one true digest of FerriteLib.UiKit.dll for this version. The full source of this exact build is https://github.com/Coahuilite/FerriteLib at tag v0.4.0-rc1 (commit b60f7fd67d08); the license terms travel inside the package as LICENSE.
Changes since v0.3.0-rc1
- b60f7fd Merge branch '0.4.x' into main for v0.4.0-rc1
- aa0f9ab fix(kernel): singleLine actually renders single-line; harness stubs build single-node
- a0b716a docs(memory): the file-driven scope ruling and the 0.5.0 vocabulary target
- 75c04ee test(FL): carry the value-type families the reference can verify, and write the not-carry list down
- 9c00bb6 fix(host): warn when a Styles section is dropped
- b415809 test(FL): carry the pure math family in the Unity stub
- 0b396c4 fix(FL): index each stub's canonical output, refuse stale copies, carry eight pure helpers
- f629e1a test(FL): carry the stub's language and constant members, and assert them
- 629033a test(FL): make a stub's missing members a gate, and carry the integer overloads a consumer calls
- d588c35 test(FL): stub Verse.GenUI.ContractedBy and fail lanes that draw through a trip
- 62b119b docs(memory): the shell sizes to the consumer's text, and what an overflow record may say
- a306cae feat(shell)!: size the close affordance from its label, and name the shell's own text
- 651efff docs(memory): the gate count is nine now - gate 9 wires the consumer half
- c240146 feat(gates): wire the consumer half of the boundary metric into the local gates
- 2b705f4 docs(tiers): say that the raw call-site count is measured, not asserted
- 5744e20 docs(gates): pin the context-free pattern's measured reach
- c7d0887 feat(gates): count the context-free hit overload, and pin the contract that excuses it
- 6d2335e docs(memory): record the ratified world-space exemption and what the two halves share
- 1f2c177 docs(gates): the shared half is the pattern set, not the allowlists
- c3292db chore(gates): count the in-world labeling surface on this half of the metric too
- ae48991 docs(memory): transcribe the break the node step caused, and the comment that hid it
- cbfe680 docs(kernel): say what the scroll key is, and what it is not
- 572c40b docs(tiers): record the content-layer boundary
- 0683603 feat(kernel)!: own the hit stack
- 33596bd docs(memory): the print-without-counting family has no second instance
- a8111d2 docs(memory): a lane that prints without counting is not a gate
- bd4d1b5 feat(kernel)!: node-key state, tree and geometry
- 7421090 test(style): compare the redirect with the lane's own helper
- ccca4ae fix(theme): keep the redirect neutral and pin what it is
- 3841479 fix(style): expire a region theme on the layout clock it was built from
- fc3cf5f docs(memory): the Warning collapse read the wire as empty
- 492ec51 fix(theme)!: keep the alarm fill under its pre-0.4 name for one minor
- 7402f12 fix(style): report a style section a handed-in document displaced
- 6baa3b3 feat(style): carry the document into the live tree
- 69d7ccd docs(memory): gate 8 has a third exit code, and a scan that finds nothing is a failure
- 79bcbe0 fix(gates): trap scan fails on an empty scan
- 17efa5e docs(memory): a reference to an untracked file is fatal in an archive
- 3229b28 feat(gates): commit the net472 trap scanner gate 8 calls
- a2ffbf7 docs(tiers): call the guards load-bearing
- 4aeef83 feat(gates): scan for the net472 traps that compile green and fail at runtime
- d7ee313 feat(kernel)!: move element identity into nodes
- 02e2a68 docs(memory): the net472 trap class, measured and turned into a scan
- 3809ef1 fix(uikit): a read-only atom cannot write
- ee69ec6 docs(memory): the net472 Split trap is invisible to an enum-name grep
- f658303 test(style): pin the style document lane
- 3c523fd feat(style): add the style document
- a8ac562 test(uikit): drive role fallback and density
- 21b2fe3 feat(uikit): add Tone/Emphasis to the leaf atoms
- 86e0967 fix(manifest)!: keep '/' out of a declared Id
- e7fb89f docs(memory): the shared-file race hides evidence, not just gates
- 5e58f7b fix(manifest)!: reject colliding identities
- 2eb4af5 test(uikit): pin the disabled producer
- 29759a0 feat(uikit)!: add the writability read
- e02edf4 test(kernel): pin Tab switches vs renumbering
- d5eab21 docs(memory): archive the 0.4.x batch and its two artifacts
- 1ececed docs(stubs): note the additive label recorder
- 5947c98 docs(memory): record the 0.4.x atoms, the gate hardening and the hit-stack trigger
- f393de4 test(uikit): pin the rebuilt composites' bands
- 7ddbaca refactor(uikit): rebuild banner and empty state
- f6fe097 docs(tiers): restate the UiTheme entry
- 7afa1df test(uikit): pin the text colour sites write
- dfba792 feat(kernel)!: give each element a stable identity
- 169cf62 test(uikit): pin the style table and its outlets
- f516651 fix(host): re-measure when density or font moves
- 7110b0c feat(uikit): add the resolved style table
- 5399aa7 fix(gates): surface the throw message of a failed gate
- 2ce61ce test(uikit): drive every leaf atom from one manifest
- db2d88e feat(uikit): add the number-field atom
- 26c53f5 feat(uikit): add the bare slider atom
- 4e47427 feat(uikit): add the rule atom
- 03ed6e3 feat(uikit): add the button leaf atom
- bab3c07 feat(uikit): add the wrapped-text leaf atom
- d0632ca fix(gates): measure payload path, restore fresh trees
- fa14dd4 docs(memory): provenance correction - IMGUI-as-drawing-backend is a survey finding, not intuition; the style-document ruling restate-cites the self-owned-chrome ledger lines
- 4176e2e docs(memory): the style surface is a standalone document with its own loader - ruling, kept non-goals, and the settled ParseFile fork
- dcea022 build(version): open 0.4.x with all three axes at 0.4.0
Status
Pre-1.0: the public API is still provisional and a minor bump is a breaking change. The supported range a consumer asserts lives in its own code, because RimWorld's modDependencies cannot express a version at all.