feat(catalog): add observable asteroids - #29
Closed
mrosseel wants to merge 25 commits into
Closed
Conversation
mrosseel
force-pushed
the
feature/observable-asteroids
branch
from
July 15, 2026 18:10
6050553 to
340bdae
Compare
mrosseel
force-pushed
the
feature/observable-asteroids
branch
from
July 15, 2026 19:06
340bdae to
0cae884
Compare
mrosseel
force-pushed
the
feature/observable-asteroids
branch
2 times, most recently
from
July 15, 2026 20:26
e7ce693 to
71b9e67
Compare
mrosseel
force-pushed
the
deepchart
branch
2 times, most recently
from
July 15, 2026 20:37
6337356 to
d4cba06
Compare
mrosseel
force-pushed
the
feature/observable-asteroids
branch
from
July 15, 2026 20:37
71b9e67 to
f4f02d6
Compare
mrosseel
force-pushed
the
feature/observable-asteroids
branch
from
July 16, 2026 09:37
f4f02d6 to
b95cf39
Compare
Coordinate/altitude fields on the web location add & edit forms were <input type="number">. In a comma-decimal browser locale the browser returns an empty .value for a period-formatted number (and vice-versa), so the client-side validation saw the field as empty and silently blocked submit — the Save button appeared active but did nothing. Integer entries (no separator) worked, decimals did not. Switch the numeric inputs to type=text inputmode=decimal, normalise both separators to a period in JS before validation and submit, and add a tolerant parse_coordinate() on the server so a stray comma yields a friendly validation message instead of a 500. Same bug class as brickbots#291 (equipment focal-length decimal crash).
mrosseel
force-pushed
the
feature/observable-asteroids
branch
from
July 16, 2026 12:57
7b85bf2 to
3214d9a
Compare
mrosseel
force-pushed
the
feature/observable-asteroids
branch
from
July 16, 2026 13:14
3214d9a to
f447639
Compare
mrosseel
force-pushed
the
feature/observable-asteroids
branch
4 times, most recently
from
July 16, 2026 16:46
e665495 to
de82f60
Compare
- Cache the update manifest on disk and fetch refreshes in a background thread: the screen renders the last-known list immediately on entry, with a dim bottom-line indicator while checking and on check failure. SQUARE re-fetches manually with the same feedback. - Unstable rows lead with the bare PR number (fixed) followed by the PR title (scrolls when focused); the focused row and confirm screen show 'built <age> · <hash>'. Trunk rows show the branch name after the dot and appear only when their branch carries flake.nix. Focused rows are bright, the rest dim. - CI stamps built_at into every manifest entry (needs the same change on the branch pull_request_target reads trusted scripts from). - Replace both 7x-square gestures with explicit menu items under Tools > Experimental > Dev Tools: a Dev Mode on/off toggle and a NixOS Migration entry (inert on systems already running NixOS). - Rollback targets are validated like manifest entries so a misbehaving sys_utils cannot crash the screen.
…ffset recalibration)
mrosseel
force-pushed
the
feature/observable-asteroids
branch
from
July 16, 2026 17:28
de82f60 to
190ac91
Compare
mrosseel
force-pushed
the
feature/observable-asteroids
branch
from
July 17, 2026 07:27
62b351f to
b4088f9
Compare
…nt, wing-safe annulus)
BlackLevelTracker fits the sky-vs-exposure intercept from naturally varying exposures to recover the wandering sensor pedestal, gated on transmission- stable frames, feeding pedestal_override. CloudEstimator gains the sky-excess guard: cloud (dims stars AND brightens sky) is distinguished from dew/optics (dims stars, sky follows) so only genuine cloud is flagged and corrected; baselines become asymmetric medians of clear-flagged frames, factory-seeded.
mrosseel
force-pushed
the
feature/observable-asteroids
branch
from
July 17, 2026 21:43
145a559 to
7cbc62c
Compare
mrosseel
force-pushed
the
feature/observable-asteroids
branch
from
July 17, 2026 21:44
7cbc62c to
be8b7b6
Compare
Syncs nixos (result-symlink untrack, test_ui_modules migration-ref fix, radiometer/black-level/telemetry). Adopts nixos's solver.py wholesale: restores the PR#24 cedar shmem reopen handshake + tetra3 load-by-name, and drops SQM Correct (removed on nixos in feat(sqm)!). Conflicts in main.py / camera_interface.py / update_manifest.py resolved to the shared-state form both sides had converged on; uv.lock regenerated from the merged pyproject. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PXDxJkU5CzAegv3FcMEwEq
test_radec_entry exercised an older dependency-injection API (BlinkingCursor time_provider; CoordinateConverter/CoordinateEntryLogic calc_utils_provider; LayoutConfig no-arg) that radec_entry dropped for module-level calc_utils/time. Patch calc_utils/time at the module level and pass a display stub to LayoutConfig so the suite matches the implementation. 6 stale tests were failing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PXDxJkU5CzAegv3FcMEwEq
Bring the per-frame optical-black pedestal (IMX290/462), its docs/ADR, and the runtime source-closure slimming onto the observable-asteroids branch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015EWb2JET2JE1t4ya3HZPNL
Telemetry menu under Settings > Telemetry: - Record: inline On/Off toggle (no submenu), same pattern as Test Mode. - Sections: one multi-select checklist with inline checkmarks (like the Catalogs filter) for what to record — IMU, SQM, Solves, Targets and Images. Toggling applies live to an in-progress recording. - Max Size: session cap (250 MB / 500 MB / 1 GB / 2 GB / Unlimited). - Load: unchanged. Images ships OFF by default, preserving the old telemetry_images=false: one 512x512 PNG is written per solve, so at ~1 solve/s it costs roughly 300 MB/hour against a few MB/hour for every other section combined. Session size cap. Frames are written by the camera process, so the recorder measures the session directory from its flush loop rather than counting its own writes. On reaching the cap, frame capture is suspended (the one unbounded consumer) while the event log keeps running, so a capped session stays useful instead of going dark. Default 1 GB. Also logs the SQM *ingredients*, not just the end products, so a session stays recomputable if the SQM/airglow maths changes in code later: - radio event gains the raw per-frame inputs — red/blue Bayer backgrounds, optical-black pedestal, photometry image size (green bg and exposure were already there). - the session header snapshots the FULL camera profile constants plus the airglow calibration and camera_type — the constants those ingredients were produced under. The derived published 'sqm' and applied 'floor' are still logged, but explicitly as a what-the-device-showed audit trail, not ground truth. The airglow import is optional: the model is part of the SQM stack only on branches that carry it (deepchart has the radiometer but not airglow), and there a session simply records no airglow constants.
Owner
Author
|
Closing the fork-side stack PR; the asteroid work remains tracked upstream in brickbots#534. The branch itself has been updated onto the latest deepchart, which now contains current nixos. |
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.
Summary
Based directly on
origin/deepchartat03eebe1244b3.Validation
healpydependency, which is absent from this workspace venv