Repository navigation
Documentation rewritten; Aether 0.839.0 - #188
Merged
Merged
Conversation
…eclare it @keep 0.838.0 checks a struct parameter taken by value that holds a pointer as it checks a ptr one (E0902): a function that stores its pointers past the call declares it @keep. broad_phase.copy_tree moves a tree's storage into another and snapshot.replace_pool hands a loaded id pool over; both keep their src, and now say so. No caller changed. CI pins 0.839.0, the latest release (aeb v0.330). Every module checks clean on it.
…ting The README was a 266-line wall: a module table with paragraph-sized cells, check counts and issue numbers in its prose, no example of using the engine, stale links, a top-level module that does not exist, and a ragdoll benchmark (0.9x) the record does not hold (it is 1.05x). - README.md: what the engine is, its features, a quick start (install, `ae add`, the C flags, a hello world), the performance against Box3D with each number linked to its run, building and testing. - docs/guide.md: using the engine: worlds, bodies, shapes, materials and filters, joints, events, queries, threads, determinism, ragdolls, snapshots and replay, debug drawing, fitting into a host, and where it goes past Box3D. Every call it names is an export; the behaviours it states were read in the code (sensor rules, filter groups, event flags, who owns which geometry). - docs/architecture.md, from design.md (a development log): the modules against the Box3D files they port, the data, a step, precision, SIMD, threads, determinism, memory, the C file, the departures from Box3D. - docs/testing.md: what scripts/test.sh runs, what each test holds the engine to, the golden trace, CI, the benchmarks and the profiler. - bench/RESULTS.md: a title, how to read the record, where it stands, and linked contents on top of the dated sections. - examples/: hello_world, events_and_queries (a chain on spherical joints, hit events, a ray and an overlap), ragdoll_and_snapshot (a snapshot loaded into a second world steps on to the same bits). scripts/test.sh now builds and runs every one, so CI keeps them true. - tests/test_contact_solver_wide.ae's header said three paths and native lanes; the native lanes are long gone and the test compares two.
Released level with nothing to damp it, the chain is a pendulum: after three seconds its tip is back near level (y 5.65), which the example printed as where it hangs. It now tracks the lowest point the tip reached (y 3.25, the chain's 3 m below the anchor) and prints both.
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.
Two things, one commit each.
Aether 0.839.0
0.838.0 checks a by-value struct parameter that holds a pointer the way it checks a
ptrparameter (E0902). Two functions take over a struct's buffers, and now declare it@keep:broad_phase.copy_treesnapshot.replace_poolNo caller changed. Every module checks clean on 0.839.0, and CI pins it (aeb v0.330). Both are the latest releases.
The documentation
The README was a 266-line wall. It had a module table with paragraph-sized cells, test-check counts and issue numbers in the prose, no example of using the engine, and stale links. It also had two false claims:
aephysicsmodule as "the public API", and no such module exists;design.md was a development log.
New and rewritten:
README.md: features, a quick start (install,
ae add, the C flags, a hello world), performance against Box3D with each number linked to its run, building and testing.docs/guide.md: the user's guide.
docs/architecture.md (replaces design.md): the modules against the Box3D files they port, the data, a step, precision, SIMD, threads, determinism, memory, the C file, and the departures from Box3D.
docs/testing.md: what
scripts/test.shruns, what each test holds the engine to, the golden trace, CI, the benchmarks and the profiler.bench/RESULTS.md: a title, how to read the record, where it stands, and linked contents on top. The dated sections are unchanged.
examples/:
hello_world;events_and_queries: a chain on spherical joints, hit events, a ray and an overlap;ragdoll_and_snapshot: a snapshot loaded into a second world steps on to the same bits.scripts/test.shnow builds and runs every example, so CI keeps them working.