Cod3x is deliberately willing to cite ugly intermediate history.
This is not a changelog. It is an index of commits that are especially useful when researching why a rule exists, how an optimization evolved, or what assumption failed.
The initial corpus comes from complete Git bundles of St4sh, DreamScripts, Starwind Builder, and Rubic0n. Hashes below refer to those repositories. Every receipt is a direct link so a reader or agent can inspect the change instead of manually hunting for it.
S3ctors S3cret St4sh
| Commit | What it is useful for |
|---|---|
4f488e47 | Cod3x parser fast path; less allocation and up to roughly 30% reported improvement |
940fe460 | Batch-scoped caching of expensive C++/engine-derived condition inputs |
bfe28c01 | Derived resolver state was not invalidated with its source cache |
b148ee31 | Generation/epoch identity for stale deferred work |
c100e5eb | Making corrupted presence collection fatal rather than continuing ambiguously |
e3e21b64 | core.quit() does not terminate local control flow immediately |
f834f17e | Real engine content made a supposedly-required pathgrid optional |
3649154c | Engine userdata was treated like an ordinary Lua table |
fbe9f127 | “same playlist” fast path skipped dependent silence/playback state |
8f3e075d | openmw.types was incorrectly modeled as available in menu scripts |
c3e70aa5 | Hoisting stable gameSelf.id in a combat hot path |
02a00845 | Stabilizing target positions by avoiding repeated bounding-box queries |
de85472b | Lock-on rewrite focused on raycasts/runtime operations rather than Lua cosmetics |
ae7561d | Physics and rendering raycasts answered different questions |
Design genealogies
| Commit | What it is useful for |
|---|---|
f6f73098 | First internal S3lf wrapper around repeated OpenMW object interpretation |
9ffbd3f9 | Standalone S3lf release |
257aabfd | Migration of S3lf into H3lp Yours3lf |
cd16c7cc | Named nullFunction primitive in H3 |
d40f379c | S3maphore promotion from swappable handlers to H3 StateMachine |
3b1f8a75 | CamHelper migrated from T4rg3t5 into H3 |
bf230995 | ImageAtlas added to H3 |
224d20c5 | H4ND's first ImageAtlas consumer |
51cfc16c | Dedicated ImageAtlas next-frame operation |
8fa3d40a | ImageAtlas current-tile update fix |
8d8f2025 | CamHelper hot-path rewrite |
dcf5bf21 | S3maphore's move from update polling to event-driven resolution |
80b31628 | Keeping PlaylistRules cache machinery private |
07df2d73 | First caching helper for PlaylistRules |
186e469d | Deploying the caching helper across the rules |
32153de8 | Event-driven clearing of combat-target caches |
a1a431b1 | Per-target cache invalidation while preserving dynamic-stat caching |
73038e4a | Clearing combat caches when an actor leaves combat |
c077f20f | Correcting cache clearing at combat start |
e485c601 | Local track-change handler registration instead of direct internal events |
57eb4b69 | Bounded actor queue for combat scanning |
8cad4c1f | Dynamic frame-time batch sizing experiment |
17cfca78 | Reverting dynamic batch sizing in favor of a fixed bound |
c967a3d2 | Capped actor scheduler with a target revisit interval |
7cb5a731 | SSS utilities promoted into H3 after duplication was proven |
a9afe80a | isOpenMW promoted into H3 |
d6a45c62 | S3maphore deletion after H3 took ownership of isOpenMW |
30ca0dbe | Dedicated clear operation extracted from repeated consumers |
bf0b6505 | H3 clear with a Rubic0n fast path and Lua fallback |
7a2580ca | ProtectedTable checks for adding new values |
94f60f76 | ProtectedTable diagnostics for failed inputs |
e6b7f1a2 | ProtectedTable transparently indexes settings |
4d78a2d5 | ProtectedTable metatable protection |
5cbc5ed6 | ProtectedTable promoted as an interface |
36ef9e14 | ProtectedTable state made directly readable and writable |
e0122c97 | Existing storage sections accepted by ProtectedTable |
5d2ece29 | Writable storage groups supported by ProtectedTable |
9d5c7c2d | More precise cached-setting invalidation |
27c5eb07 | Explicitly disabling ProtectedTable subscriptions |
5f051eee | ProtectedTable hot-path allocation removal |
2499548e | ProtectedTable lookup optimization |
e6a18a18 | ProtectedTable optimization and annotation pass |
e3501182 | PlaylistRules constructor removed in favor of direct state ownership |
cec95881 | Removing an unnecessary S3maphore constructor/object boundary |
382df1e0 | Flattening CellPresence into PlaylistState |
76358648 | Removing the redundant staticList representation |
b202141c | Adding per-cell presence scope |
8d574d40 | Coroutine-driven global presence sweep |
d7f38bb5 | Large StaticCollection optimization pass |
342d77dd | Event-driven cell and combat-target tracking |
5d608a26 | StaticCollection switched to cached string primitives |
5b1537b5 | Sorting playlists at load time for deterministic resolution |
DreamScripts
| Commit | What it is useful for |
|---|---|
219c6e4b | Legitimate protected execution at an arbitrary script/host boundary |
28062542 | Cache the loaded module value rather than an intermediate compiled chunk |
046694b6 | Centralize stale event-registration cleanup at the load/reload lifecycle boundary |
c8737a3 | A protected error path that failed to print the traceback |
0e7eb8d | The same lesson, learned loudly enough to deserve a second receipt |
3523eaf | Hypothesis: numeric GMSTs may not need conversion |
39ba4b1 | Immediate revert when that hypothesis broke behavior |
1e3bbc4 | Actual finding: the relevant GMST values arrived as userdata |
1db40db | Initial FFI-string optimization experiment |
b575991, 7ef025c, d171ef4 | Reverting the FFI-string experiment while isolating the failure |
9f569d0 | Finding that the strings were not the actual bug; an argument was |
ad910b8 | Reapplying the mechanism after the real failure was understood |
Starwind Builder
| Commit | What it is useful for |
|---|---|
a3c598b | Historical runtime context probing helper based on failed require calls |
fe57c24 | Introduction of the protectedTable abstraction from earlier CHIM work |
8d83601 | Adding caching to the magic storage/proxy surface |
1d12418 | Expanding the proxy into a shared manager interface |
25c3661 | Shadow cache invalidation broke when subscription behavior was overridden |
2b94a9f | Initial lock-on/camera manager architecture |
f90baec | Lock-on texture accidentally recreated continuously |
Starwind is particularly useful because many ideas later found cleaner forms in H3 or current St4sh code. Treat it as evolutionary evidence, not current doctrine.
Rubic0n
Rubic0n includes substantial LuaJIT/OpenResty upstream history. The commits below are selected because they illuminate DreamWeave runtime investigation relevant to OpenMW workloads.
| Commit | What it is useful for |
|---|---|
7737682e | Optional GC telemetry counters |
c50281e9 | GC allocation telemetry expansion |
aa5a699f | Exact-size userdata allocation cache experiment |
b57f7756 | Userdata finalizer lookup cache experiment |
edb8fe9c | Wholesale revert of the userdata-cache experiments |
d1e1a8fc | Direct C userdata finalizer path |
3f9e260c | Non-resurrecting C finalizer mode |
36a21256 | GC pacing tuned for OpenMW-style userdata churn |
c7f2c204 | Gated batched direct C finalizers |
6797075e | Fixing GC accounting for batched finalizers |
75a9a247 | Pacing batched finalizers by GC budget |
8e6520a7 | Optional PC position from jit.util.tracesnap() for trace analysis |
6c23f555 | Making the sandbox bypass an explicit opt-in build facility |
a04b64a5 | Experimental paged allocator front end |
8acb8986 | Vector-userdata allocation harnesses |
How to use this index
When a Cod3x rule feels oddly specific, do not merely repeat the rule.
Open the relevant commit and ask:
- what the old code believed;
- what runtime/engine behavior contradicted it;
- whether the fix changed correctness, performance, or both;
- whether the lesson still applies to current OpenMW;
- whether a newer implementation refined the lesson again.
The point of history is not authority.
The point is reproducible context.