Conversation
Background: - Issue tscircuit#12 shows the SI7021 cycle scattered around its anchor after greedy packing. Changes: - Add bounded deterministic search for cyclic fallback partitions of three to six chips. - Preserve fixed components, non-cycle branches, rotations, and pad/body clearance. - Reject added straight-line crossings and component obstructions. - Include original-fixture regression coverage and before/after SVG snapshots. Notes: - Uses a placement heuristic with outward pin stubs, not downstream routing validation. - Specialized semantic strategies and larger partitions retain their existing behavior. Validation: - Bun test: 118 passed, one pre-existing skipped test, no failures. - Package ESM and declaration build passed. - Changed TypeScript files formatted with Biome; staged diff checked. - Before/after SVGs rendered and visually inspected.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Background: - The first pass leaves asymmetric branches and repeatedly rotates identical geometry. - Tiny packer rounding differences could change random-number consumption and topology. Changes: - Cache rotated bounds and pin geometry and generate pin-exit-aware alignment candidates. - Center connected free groups, polish local alignment, and balance equal-length results. - Consume each acceptance draw consistently across floating-point ties. - Add three/six-chip rings, quarter-turn, rounding and blocked-connection regressions. - Include a reproducible refinement benchmark and updated visual snapshot. Notes: - Original SI7021 Manhattan length remains 3.9, with stub estimate 4.3 to 4.1 and longest edge 1.10 to 0.95. - Same-machine twenty-sample refinement median improves from 85.35ms to 30.14ms. - Placement estimates are not a downstream routing guarantee. Validation: - Bun suite: 124 pass, one pre-existing skip, zero fail; eleven focused tests. - TypeScript no-emit check, ESM/declaration build, scoped Biome check and diff check pass. - Before/after SVG rendered and inspected; independent review found no blocking defect.
Background: - Placement estimates alone do not establish that the SI7021 connections remain routable. Changes: - Exercise original and refined layouts through the schematic trace pipeline. - Verify physical endpoints, orthogonal paths, body clearance, and named-net labels. - Pin the already installed router as an explicit development dependency. Notes: - The same five direct routes measure 6.7 before refinement and 3.9 after. - Both layouts use GND label fallback; this is not full core circuit rendering. Validation: - 125 tests passed, 1 existing skip, 0 failures; build and typecheck passed. - Strengthened final routing assertions passed with 220 checks. - Scoped formatting and git diff whitespace checks passed.
|
Added a downstream routing integration test: with schematic-trace-solver 0.0.69 and core's 2.4 distance threshold, the same five strong connections route successfully and their actual path length falls from 6.7 to 3.9. It checks endpoints, orthogonality, component clearance, and named-net labels. Both layouts use GND label fallback; this is not a claim that every attempted pair has a physical route. Local suite: 125 pass, 1 existing skip; build/typecheck pass. One payment clarification before further work: I found that docs #480 switched the program to sponsorships. Does the historical $150 offer in #12 still apply if this solution is accepted, and can it be paid through PayPal, or is only the current GitHub Sponsors program available? The implementation and validation are AI-assisted, as disclosed in the PR. |
The SI7021 reproduction from #11 leaves the two branches and their shared terminal scattered after greedy packing. This adds a bounded, pin-direction-aware refinement to small cyclic fallback partitions, placing the branches side by side and centering the terminal beyond them.
Related to #12. This is a general search alternative to the topology-specific proposals there; it does not claim a lower SI7021 Manhattan length than their reported 3.9.
The pass applies only to cyclic fallback partitions with 3–6 chips. It preserves the anchor, fixed placements and non-cycle branches, respects allowed rotations and pin/body clearance, and rejects added straight-line crossings or third-component obstructions. A fixed-seed search escapes greedy placement traps; connected free groups then move together and receive local alignment refinement. Equal-length results favor balanced branches. Specialized layout strategies bypass this pass.
Rotation geometry is cached. Each acceptance step consumes its random draw consistently so rounding-sized input differences do not alter the random sequence. The included
bun benchmarks/refine-cyclic-partition.tsruns five warmups and twenty timed samples. On the same local machine, this pass's median fell from 85.35 ms before caching/refinement to 30.14 ms; this is a single-case measurement, not a cross-machine performance guarantee.Validation: 125 tests pass, 1 pre-existing skip, 0 failures.
bun run build,tsc --noEmit, formatting and whitespace checks pass. Eleven focused tests cover the original fixture through the full pipeline, clearance, fixed positions/rotations, deterministic results, renamed components, rounding-sized coordinate differences, a quarter-turn input, synthetic three/six-chip rings, and a shorter-but-obstructed candidate that must be rejected. SVG output was rendered and inspected. The synthetic rings demonstrate different graph shapes, not additional real-world circuits.The new downstream integration test runs the original and refined placements through
@tscircuit/schematic-trace-solver0.0.69, using the 2.4 maximum pair distance from@tscircuit/core0.0.1331 and allowing all net-label directions. It verifies physical endpoints for all five strong connections, orthogonal final paths, no component-interior intersections, and preserved named-net labels after refinement. The five actual routes total 6.7 before and 3.9 after; this comparison excludes other label/net routing choices.Limitations: this is a downstream trace-pipeline integration test, not full
@tscircuit/corecircuit rendering. Both layouts have one unsuccessful GND routing attempt and use matching GND labels; the test explicitly verifies that fallback rather than treatingsolver.solvedas proof that every attempted pair has a physical route. Results remain specific to this fixture and configuration. The fixed search budget adds work to qualifying small partitions.Developed with AI assistance. Legacy bounty clarification: docs #480 moved the current program to contributor sponsorships. Does the historical $150 offer in #12 still apply to an accepted solution, with PayPal payout, or is this work eligible only for the current GitHub Sponsors program? No payment or eligibility is assumed from the old marker.
/claim #12