Repository navigation
Shared dialog, backup policy, and Restore last walks to the first save - #4
Open
SomerledDesign wants to merge 18 commits into
Open
SomerledDesign wants to merge 18 commits into
SomerledDesign wants to merge 18 commits into
Conversation
Everything StripForge writes goes into <project>/stripforge/; backups are never-renamed timestamped zips (save points) pruned by backup_keep; new Restore last plugin action and 'stripforge restore' CLI; output_dir and backup_dir config keys; .gitignore template; docs and CHANGELOG.
…sideways diagonal_links now defaults to false; with it on, a diagonal may move at most max_diagonal_shift holes (new key, default 1) along the strip it drops to. An unjoined net that a diagonal would have joined says so in the report, with the shift needed and the setting to change. Fixture regression tests keep their 0.2.x numbers via a diagonals-on copy of x56.toml; new tests for the default, the one-hole shift and the hints.
…onal_shift; mark M4c done
StripForge: Dialog shows the saved settings, edits backup_policy, and runs the existing actions through the same path as the toolbar. The separate buttons stay. Default policy is move: save points are kept. retention deletes older zips only when backup_keep is 1 or more, and a config that only sets backup_keep does not start deleting. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
5 of 7 tasks
PR #3 stays the inspection note. This branch is the implementation. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
ubuntu-latest is Ubuntu 26.04, and setup-python has no Python 3.9 there, so the 3.9 job failed before pytest. The matrix stays 3.9, 3.11, and 3.12. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
Origin is the centre of hole A1, not the outline corner. Save checks the config before replacing the file and keeps comments and keys the tab does not edit. Unsaved edits block the action buttons, so a build cannot run on values that were only typed. The backup policy stays move unless the Backup tab says otherwise. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
Packaged icons and resources/icon.png have no iCCP or cHRM chunk, and libpng 1.6.43 warns on none of the repo PNGs. Doc screenshots that do carry an Apple Display profile are not in the PCM zip. No pixels changed. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
Larger text, Smaller text, and Reset text size, plus Command or Ctrl with plus, minus, and 0. The size is a per-user file, not stripboard.toml. A trackpad pinch is applied only when wx sends a magnify or zoom gesture. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
Each Restore last reloaded only the newest zip, so a later click unpacked that same snapshot and the board never moved further. Step back one save point at a time until the pre-build board, then stop without changing files. Safety-copy the current board first and keep those copies out of the walk. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
Keep Kevin's current zip bytes as the only acceptance circuit. Tests check the sha256, extract a fresh copy, and restore six times to that exact board. TPI fixtures stay for unit tests. The archived toml is not rewritten. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
Edit stripboard.toml opens the file the Board tab already uses, including [bend], and writes the text as typed after the TOML parser and the existing loader accept it. A bad edit or a file that changed on disk is left untouched. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
The canonical zip stays unchanged. A disposable extract appends only [bend] SW1 = 0.46 millimetres, then six builds and six restores return the archived board bytes and keep every save point. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
Keep the 53157-byte file as history. The new board still refuses to build: SW1 is 0.920 mm off a hole, and the approved 0.46 mm bend does not cover it. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
KiCad matches a footprint path to "/" plus the symbol uuid and reports that it cannot find a symbol for that W reference when they differ. Add links now keeps the uuid the footprint already stores, names the missing symbol and the W reference, and reads the separate build plus the project schematic when the open board has no W footprints. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
…ugin. KiCad extracts footprints, symbols, and 3dmodels from the package root into the third-party tree and adds the libraries. The zip now carries those directories, and each straight Link_P footprint points at a generated 0.8128 mm wire model. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
The 32 STEP and WRL files are the current Dropbox set. Each Link_P footprint points at the matching STEP under ${KICAD10_3RD_PARTY}/3dmodels, and placing a link copies that footprint. The build does not attach a model on its own.
Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
KiCad's addon guide keeps those as separate package types. The libraries package carries the footprints, the symbol, and the straight-link models, and the footprint model path uses that package's install id. The plugin keeps its private copy of the footprints. Co-authored-by: somerledDesign <SomerledDesign@users.noreply.github.com>
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.
Two packages
KiCad's addon guide keeps a plugin archive and a library archive separate.
tools/make_pcm_zip.pynow writes both. The mixed zip is not the package to install.Install the libraries zip first, then the plugin zip, with Plugin and Content Manager > Install from File. Restart KiCad.
StripForge-libraries-0.2.1-pcm.zip— typelibrary, idcom.github.somerleddesign.stripforge.libraries. sha256d330372d6148e0802a694e74c54ab87c53b975b1de09f7e7a3e584aaffb9cdcb, 10826951 bytes.StripForge-0.2.1-pcm.zip— typeplugin, idcom.github.somerleddesign.stripforge, runtimeipc. sha2567964fe70f5c66fbc5bf43fcab9cd1e02be74de5ac36a4b471d069f0b7c383f7b, 651874 bytes.The KiCad manual says a library package is added to the global tables with the
PCM_nickname prefix by default. That was not clicked here. Check Manage Footprint Libraries and Manage Symbol Libraries. If the rows arePCM_StripForge, rename them toStripForge. If they are missing, add nicknameStripForgeat:${KICAD10_3RD_PARTY}/footprints/com_github_somerleddesign_stripforge_libraries/StripForge.pretty${KICAD10_3RD_PARTY}/symbols/com_github_somerleddesign_stripforge_libraries/StripForge.kicad_sym3D models have no library table. Each straight
Link_P*footprint names${KICAD10_3RD_PARTY}/3dmodels/com_github_somerleddesign_stripforge_libraries/StripForge.3dshapes/Link_P*.step. The.wrlis the same basename beside it. That variable is the PCM location, notKICAD10_3DMODEL_DIR.A new straight link copies the footprint, so it inherits that model. The build does not assign a model. The plugin keeps a private copy of the footprints under
plugins/so it can build without the library table. The 3D bytes are only in the libraries package. No path points at Dropbox. The model bytes are unchanged from the Dropbox zip102cd79069ac8f684e6645be05665308aefcc18914a7a74783c134af2f2cfe6e.Checks
Both in-zip metadata files validate against PCM schemas v1 and v2 (
https://go.kicad.org/pcm/schemas/v1andv2). Every path in both zips matches the allow-list inci/validate/package.pyofhttps://gitlab.com/kicad/addons/metadata. That script's full repository check also requires a download URL, which these local zips do not have, so that entry point was not run.ruff check .andruff format --check .passed.pytest -q: 399 passed, 8 skipped in 831.43s.There is no KiCad here. Install from File was not clicked, and the 3D viewer was not opened. The LedSwitch25 acceptance zip is unchanged (
cf5b92d393f2172d25f48329f92281ed4a41d2f8a8290fcf72f68dd8cbb09e6c, 25859 bytes). Not merged, not released, not installed.Version stays 0.2.1.