Skip to content

Conversation

@techmannih
Copy link
Owner

Summary

  • rerun manual trace rendering when ports are still waiting on footprint primitives
  • allow manual trace updates to reuse the initial render logic
  • add regression coverage for pcbPath selectors with KiCad footprints and explicit thickness

Testing

  • Tests not run (bun install fails without npm registry access)

https://chatgpt.com/codex/tasks/task_e_68fbc5c75f5c8328b8b71ea474cd3261

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 26 to +34
if (portsWithoutMatchedPcbPrimitive.length > 0) {
const awaitingFootprintLoad = portsWithoutMatchedPcbPrimitive.some((port) => {
const parent = port.parent as { _hasStartedFootprintUrlLoad?: boolean } | null
return parent?._hasStartedFootprintUrlLoad
})

if (awaitingFootprintLoad) {
trace.renderPhaseStates.PcbManualTraceRender.dirty = true
return

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Report errors when footprint fetch fails instead of waiting forever

The new early‐return in Trace_doInitialPcbManualTraceRender treats any unmatched port whose parent has _hasStartedFootprintUrlLoad set as “still loading” and skips the error insertion. When a footprint load ultimately fails (resolver rejects), that flag remains true but no pads are created, so this branch keeps marking the phase dirty and returning on each render. After the async effect completes, the render loop stops and the manual trace remains unrendered with no pcb_trace_error, hiding the failure that was previously surfaced. The code should distinguish between an in‑progress load and a completed/failed load before bypassing the error path.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants