Texture png batch convert#338
Open
oldrepublicwizard wants to merge 231 commits into
Open
Conversation
Parse solution doc Last CI check run IDs and emit defer_lfg_pr when monitoring checkpoint is unchanged (plan 059).
Covers solution-doc run ID extraction and defer_lfg_pr logic (plan 060).
Emit lfg_deferred in JSON and stderr hint when monitoring is unchanged (plan 061).
Wire --compare-checkpoint --exit-on-defer into solution doc and workflow header (plan 062).
Single flag replaces four monitoring args; tests and docs updated (plan 063).
Exit 2 when lfg_deferred so agents can stop before noop PRs (plan 064).
Compare verify head_sha to origin/master; defer only when runs active and not stale. Parse last verify link in Last CI check. Cancelled 26365458400; dispatched 26372746392 on master (plans 065-066).
Fix undefined checkpoint in human ci-status output; add canonical table fallback parser and --emit-checkpoint-snippet (plan 067).
Detect benign FC SHA lag when master-only commits are docs-only, fall back to local master ref, use dynamic dates in checkpoint snippets, and add --validate-checkpoint-doc for doc vs live gh drift.
Embed doc_validation in monitor-preflight JSON, detect status word drift vs Last CI check, prefer conclusion in snippets, and add --include-checkpoint-snippet for one-shot doc update hints.
Include created_at and queued_hours on gh runs, block defer when FC docs-only classification fails, flag doc_update_recommended on terminal runs, surface queue backlog notes, and embed checkpoint_snippet in monitor-preflight by default.
Add --apply-checkpoint-snippet to preview or write solution doc Last CI check, canonical runs table, and plan 020 line from live gh data with safe gating unless --force or doc drift recommends update.
Patch plan 020 verification table rows and plans index on apply, refresh solution doc last_verified frontmatter, and emit proceed_reason when checkpoint gate is not deferring.
Add --auto-apply-on-proceed to embed doc_apply in preflight when CI terminal proceed reasons allow, emit lfg_proceed in JSON, and refresh doc_validation after auto-write.
Map refresh_verify_dispatch and refresh_fc_dispatch to dry-run or executed gh workflow run/cancel steps in monitor preflight JSON.
Unify doc and dispatch dry-run previews and refresh monitoring docs after successful workflow dispatch when gh reports new run IDs.
One-shot refresh flag with defer guardrails and gh run polling before post-dispatch doc sync when run IDs are slow to appear.
Grant issues:write for large-file PR comments with a non-fatal fallback, and replace 40-char hex test fixtures that triggered devskim alerts.
Preview refresh actions without write or dispatch, block classify_fc_stale_gap, and embed lfg_refresh_plan in preflight JSON.
Combine monitor preflight with refresh dry-run, embed proceed_hint in JSON, and avoid early exit when dry-run refresh is blocked.
Group flat-field mirroring with briefing and queue _mirror_* helpers without behavior changes.
Group _mirror_preflight_watch_summary_from_status with flat-field mirror and builder helpers.
Record watch_heartbeat_polls on preflight watch summary and emit flat_keys_heartbeat_polls only when unchanged flat-key polls reach the interval.
Surface watch_heartbeat_polls on summary stderr when unchanged flat-key polls occurred during gate or preflight watch.
Share flat-field mirror stderr parts and emit heartbeat_every on unchanged gate-watch poll lines.
Align gate-watch summary one-liner with poll lines using heartbeat_every while keeping watch_heartbeat_polls in JSON.
Mirror watch heartbeat interval as heartbeat_every in preflight watch summary JSON and compact gated stderr to flat_hb.
Use flat_hb on heartbeat poll lines and mirror flat_keys heartbeat count as flat_hb in preflight watch summary JSON.
Compact preflight watch summary to flat_unchanged tokens while keeping unchanged_flat_keys_polls in JSON.
Replace boolean flat_unchanged=true with numeric flat_unchanged=1 on compact unchanged poll lines.
Record flat_unchanged streak and flat_hb markers on gate-watch poll history snapshots.
Expose peak flat-key unchanged streak in summary JSON and stderr when it falls below total unchanged polls.
Emit live unchanged streak counts on compact poll lines instead of a fixed flat_unchanged=1 token.
…199) Emit cumulative flat_hb=N on gate-watch heartbeat polls, add flat_hb_total summary JSON alias, and store cumulative counts in watch history snapshots.
Align preflight watch summary stderr with plan 199 JSON by emitting flat_hb_total=N instead of flat_hb=N while poll lines keep flat_hb=N.
Record flat_hb_total alongside flat_hb on heartbeat poll history entries to align snapshot keys with summary JSON and stderr aliases.
…lan 202) Derive heartbeat totals from preflight_watch_history when the status counter is unset via _max_preflight_flat_hb_total history helper.
…n 203) Move unchanged-count and max-streak helpers adjacent to _build_preflight_watch_summary for parity with plan 186-187 clustering.
… 204) Co-locate unchanged and heartbeat flat-key poll tokens in _preflight_watch_poll_flat_stderr_parts without changing stderr output.
…lan 205) Pair plan 204 poll helper with _preflight_watch_summary_flat_stderr_parts for unchanged and heartbeat tokens on watch summary stderr lines.
Derive preflight watch summary flat_unchanged from history peak streak when pairwise unchanged flat-key poll count is zero, mirroring plan 202.
… 207) Extract resolve helpers for heartbeat and unchanged flat-key totals so _build_preflight_watch_summary reuses plan 202/206 fallback logic cleanly.
…208) Place poll and summary flat stderr helpers together and reuse _preflight_watch_heartbeat_interval for heartbeat_every summary tokens.
Add _preflight_max_flat_unchanged and use it when gating max_flat_unchanged tokens in preflight watch summary flat stderr output.
… 210) Add _preflight_max_flat_unchanged_for_stderr to centralize gated max_flat_unchanged summary stderr tokens when peak is below total.
Add _preflight_flat_hb_total_for_stderr to centralize gated flat_hb_total summary stderr tokens alongside the plan 210 max_flat_unchanged helper.
Add _preflight_heartbeat_every_for_stderr to emit heartbeat_every summary tokens only when unchanged flat-key polls occurred.
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.
Description
Add the ability to mass convert textures to various formats using the
texture-convertsubcommand of the PyKotor CLI. Uncertain if this already existed but now it's explicit. This feature was implemented upon request, please request your features on the Issues tab or create a discussion.Type of Change
Package(s) Affected
Tools/Testing
Test Results
Ran a bit of texture conversions for standard uncompressed RGBA pipelines and confirmed PNG is proper.
Checklist
Screenshots (if applicable)