Same retrieval formula as the 3D version, drawn as two flat 2D panels instead of a rotating embedding sphere. Each memory m carries an embedding angle θm on a unit circle, a creation time tm, and an importance im ∈ [0,1]. For a query angle θq, the score is:
score(m,q) = w_sim · cos(θ_q − θ_m) + w_rec · exp(−(t_now − t_m) / τ) + w_imp · i_m
cos(θ_q − θ_m) dot product of two 2D unit vectors = cosine similarity
τ = 15 s (recency half-life constant)
Top: embedding circle. Every memory's raw position in embedding space — its angle θm — plotted directly on the unit circle, colour-coded by its current score against the live query.
Bottom: score-space landscape. The same memories re-plotted with x = similarity cos(θq−θm) and y = recency exp(−age/τ). The background shading is the score formula itself evaluated at every (x,y) point (using the store's mean importance, since importance is a third axis this flat view can't show directly) — the exact plane wsim·x + wrec·y + wimp·ī. A memory's true score also depends on its own importance, so a point can sit slightly off the shading it stands on.
- wsim, wrec, wimp — reweight the three terms live; both panels' colouring and the landscape shading update instantly.
- Memory capacity — the store is bounded. New memories form automatically over time (and via "Add Memory"); once the count exceeds capacity, the single lowest-scoring memory against the current query is evicted — this is the forgetting step.
- New Query — samples a fresh random query angle. Watch every point's x-position (similarity) slide instantly in the score-space panel.
- Gold rings mark the current top-5 retrieved memories; point radius encodes importance, colour encodes score.