Skip to content

v0.4.0: ToF photons + UID tagging with Ledger for events history tracking#101

Merged
crisbour merged 32 commits into
mainfrom
develop
May 16, 2026
Merged

v0.4.0: ToF photons + UID tagging with Ledger for events history tracking#101
crisbour merged 32 commits into
mainfrom
develop

Conversation

@crisbour
Copy link
Copy Markdown
Member

This merges in the big bulk of development on the time-of-flight simulation with UID tagging using the aetherus-events Ledger.

  • ToF for photons, incrementing time as it travels through each medium
  • UID tagging, allocating a new event in the Ledger for each photon interaction
    • The UID is for identifying the events history not the photons, hence multiple photons can have the same UID, if their sequence of interactions are identical
  • Build objects from scene, imported from an .obj Wavefront file
    • Attributes and materials map can be described locally in the scene definition, more easily keeping track of context
  • Remeshing
    • Objects are checked for intersections and coplanar intersections between meshes are resolved and subdivided
    • Each object can have the outside material described by various materials at different subsets of its mesh, such that more complex geometries can be considered
      • I.e. a piece of glass that has air on one side and water on the other
    • The remeshing is mainly done through mesh-splitting

Warning

This involves a breaking change in the configuration json5 file.
Check benches/data/diffusion/scene/json5 for changes

crisbour added 30 commits May 16, 2026 15:53
hotfix missing aetherus_events
Fixup add missing mutex for ledger in multi-threaded sim
Resolve SrcId{Surf, Mat, MatSurf} for objects and light + UID support in output

Fixup diffusion configs for benches and &str representation for Error
There is some mess added by passing an extra argument to `fn
surface(..., next_seq_id)`, because of a RAW hazard caused by
PhotonCollector needing the updated Uid value early.

TODO: Find a neat trick or Future like approach for storing the photon
data
fixup engines and AttributeFuture implicit extend definition
@crisbour crisbour self-assigned this May 16, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 16, 2026

🐰 Bencher Report

Branch101/merge
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
microseconds (µs)
(Result Δ%)
Upper Boundary
microseconds (µs)
(Limit %)
build_objects📈 view plot
🚷 view threshold
17.48 µs
(-6.56%)Baseline: 18.71 µs
92.09 µs
(18.98%)
build_tree📈 view plot
🚷 view threshold
15.16 µs
(+1.70%)Baseline: 14.91 µs
19.67 µs
(77.06%)
diffusion_sim📈 view plot
🚷 view threshold
2,987,700.00 µs
(+42.05%)Baseline: 2,103,200.00 µs
38,963,945.04 µs
(7.67%)
load_parameters📈 view plot
🚷 view threshold
228.59 µs
(-10.54%)Baseline: 255.53 µs
2,002.40 µs
(11.42%)
🐰 View full continuous benchmarking report in Bencher

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 16, 2026

🐰 Bencher Report

Branch101/merge
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkMean Absolute ErrorBenchmark Result
Measure (units)
(Result Δ%)
Upper Boundary
Measure (units)
(Limit %)
Root Mean Squared ErrorBenchmark Result
Measure (units)
(Result Δ%)
Upper Boundary
Measure (units)
(Limit %)
Root Mean Squared Relative ErrorBenchmark Result
Measure (units)
(Result Δ%)
Upper Boundary
Measure (units)
(Limit %)
Total Variation L1Benchmark Result
Measure (units)
(Result Δ%)
Upper Boundary
Measure (units)
(Limit %)
accuracy_diffusion📈 view plot
🚷 view threshold
0.05 units0.10 units
(52.25%)
📈 view plot
🚷 view threshold
0.07 units0.10 units
(69.45%)
📈 view plot
🚷 view threshold
0.08 units0.10 units
(80.11%)
📈 view plot
🚷 view threshold
7.41 units10.00 units
(74.06%)
🐰 View full continuous benchmarking report in Bencher

@crisbour crisbour added the enhancement New feature or request label May 16, 2026
@crisbour crisbour merged commit 50b2287 into main May 16, 2026
4 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Time-resolved MCRT May 16, 2026
@crisbour crisbour deleted the develop branch May 16, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant