diff --git a/manifest/vendor_manifest.json b/manifest/vendor_manifest.json index a3573aa..a0a7a2c 100644 --- a/manifest/vendor_manifest.json +++ b/manifest/vendor_manifest.json @@ -10,7 +10,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl", "checksum_sha256": "55ede7dff60a31d68159b352b5f2c63792b7a0dbe9d543a43681c3e52d229115", - "last_checked": "2026-01-07T01:20:58.324330+00:00", + "last_checked": "2026-01-07T06:30:07.525364+00:00", "status": "up-to-date", "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" @@ -26,7 +26,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Clamping Thread - Belt Clamp.stl", "checksum_sha256": "457a71bc09cb53f12026fd829bec8fa5b04fdead0788822935780f42c90b9a7a", - "last_checked": "2026-01-07T01:20:58.945151+00:00", + "last_checked": "2026-01-07T06:30:08.525159+00:00", "status": "up-to-date", "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" @@ -42,7 +42,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Clamping Thread - End Effector.stl", "checksum_sha256": "4860947b201e2e773b295d33bba09423ae40b4adeef3605d62687f2d40277de1", - "last_checked": "2026-01-07T01:20:59.854476+00:00", + "last_checked": "2026-01-07T06:30:09.547007+00:00", "status": "up-to-date", "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" @@ -58,7 +58,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Nut - 5 Sided.stl", "checksum_sha256": "38630c70b2fb929bba9a705dabf5bbd7b49ec882963e042b7108dc74284dd6ff", - "last_checked": "2026-01-07T01:21:00.555525+00:00", + "last_checked": "2026-01-07T06:30:10.564924+00:00", "status": "up-to-date", "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" @@ -74,7 +74,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Extrusion Cap.stl", "checksum_sha256": "56fa9bb318cdeadc6d1698a1e6cef9371e58b0bc9c7729985bf639d8da2f25da", - "last_checked": "2026-01-07T01:21:01.205246+00:00", + "last_checked": "2026-01-07T06:30:11.578686+00:00", "status": "up-to-date", "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" @@ -90,7 +90,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Bottom.stl", "checksum_sha256": "e7abdb99a7e9b9e7408a7b04a7dd50e42cc74510ea2969016a45a2a1387dcde3", - "last_checked": "2026-01-07T01:21:02.027595+00:00", + "last_checked": "2026-01-07T06:30:14.604915+00:00", "status": "up-to-date", "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" @@ -106,7 +106,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Cover.stl", "checksum_sha256": "bbabc742d2f1753d1b4e21e42c197aec31a4a083b5c634e6e825cec69d4e3258", - "last_checked": "2026-01-07T01:21:02.767604+00:00", + "last_checked": "2026-01-07T06:30:18.689516+00:00", "status": "up-to-date", "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" @@ -122,7 +122,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Middle.stl", "checksum_sha256": "ce6fb769378636c287af788ce42bdab1f2185dcffba929a0c72598742793b48a", - "last_checked": "2026-01-07T01:21:03.531342+00:00", + "last_checked": "2026-01-07T06:30:22.906540+00:00", "status": "up-to-date", "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" @@ -133,12 +133,12 @@ "source_path": "Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl", "source_ref": "main", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl", - "orig_site_json": "website/src/data/components/mounting.json", + "orig_site_json": "website/src/data/components/mounting/ossm.json", "orig_item_id": "ossm-actuator-body-middle-pivot", "pinned_sha": "ad39a03b628b8e38549b99036c8dfd4131948545", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/ad39a03b628b8e38549b99036c8dfd4131948545/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl", "checksum_sha256": "f6403a3c53e0d8c8e63d48bf853ab17c9f283421b1665b5503dbb04d59d0f52d", - "last_checked": "2026-01-07T01:21:04.528132+00:00", + "last_checked": "2026-01-07T07:29:55.699272+00:00", "status": "up-to-date", "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/ad39a03b628b8e38549b99036c8dfd4131948545/LICENCE", "upstream_latest_sha": "ad39a03b628b8e38549b99036c8dfd4131948545" @@ -154,7 +154,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Belt Tensioner.stl", "checksum_sha256": "31c74250c237763b0013ff42cc714ce14c293382a726de363f1686a7559f525f", - "last_checked": "2026-01-07T01:21:05.499523+00:00", + "last_checked": "2026-01-07T07:29:56.698523+00:00", "status": "up-to-date", "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" @@ -165,15 +165,15 @@ "source_path": "Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl", "source_ref": "main", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl", - "orig_site_json": "website/src/data/components/mounting.json", + "orig_site_json": "website/src/data/components/mounting/ossm.json", "orig_item_id": "ossm-handle-spacer", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl", + "checksum_sha256": "55ede7dff60a31d68159b352b5f2c63792b7a0dbe9d543a43681c3e52d229115", + "last_checked": "2026-01-07T07:29:59.629891+00:00", + "status": "up-to-date", + "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", + "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" }, { "id": "ossm-pcb-3030-mount", @@ -181,7 +181,7 @@ "source_path": "Printed Parts/PCB/OSSM - PCB - 3030 Mount.stl", "source_ref": "main", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount.stl", - "orig_site_json": "website/src/data/components/pcb.json", + "orig_site_json": "website/src/data/components/pcb/ossm.json", "orig_item_id": "ossm-pcb-3030-mount", "pinned_sha": null, "pinned_raw_url": null, @@ -197,7 +197,7 @@ "source_path": "Printed Parts/PCB/OSSM - PCB - 3030 Mount Cover.stl", "source_ref": "main", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount Cover.stl", - "orig_site_json": "website/src/data/components/pcb.json", + "orig_site_json": "website/src/data/components/pcb/ossm.json", "orig_item_id": "ossm-pcb-3030-mount-cover", "pinned_sha": null, "pinned_raw_url": null, @@ -208,148 +208,26 @@ "upstream_latest_sha": null }, { - "id": "ossm-pcb-aio-cover-mount", - "source_repo": "KinkyMakers/OSSM-hardware", - "source_path": "Printed Parts/PCB/OSSM - PCB - AIO Cover Mount.stl", + "id": "ossm-pcb-aio-backpack-base", + "source_repo": "armpitMFG/OSSM-Parts", + "source_path": "OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl", "source_ref": "main", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - AIO Cover Mount.stl", - "orig_site_json": "website/src/data/components/pcb.json", - "orig_item_id": "ossm-pcb-aio-cover-mount", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null + "local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl", + "orig_site_json": "website/src/data/components/pcb/armpitmfg.json", + "orig_item_id": "ossm-pcb-aio-backpack-base", + "status": "pending", + "pinned_sha": null }, { - "id": "ossm-pitclamp-mini-42AIM30", - "source_repo": "KinkyMakers/OSSM-hardware", - "source_path": "Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - 42AIM V1.1.stl", + "id": "ossm-pcb-aio-backpack-cap", + "source_repo": "armpitMFG/OSSM-Parts", + "source_path": "OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl", "source_ref": "main", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - 42AIM V1.1.stl", - "orig_site_json": "website/src/data/components/mounting.json", - "orig_item_id": "ossm-pitclamp-mini-42AIM30", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null - }, - { - "id": "ossm-pitclamp-mini-57AIM30", - "source_repo": "KinkyMakers/OSSM-hardware", - "source_path": "Printed Parts/Mounting/OSSM - Mounting Ring - PitClamp Mini - 57AIM V1.1.stl", - "source_ref": "main", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Mounting Ring - PitClamp Mini - 57AIM V1.1.stl", - "orig_site_json": "website/src/data/components/mounting.json", - "orig_item_id": "ossm-pitclamp-mini-57AIM30", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null - }, - { - "id": "ossm-pitclamp-mini-dogbone-bolts ", - "source_repo": "KinkyMakers/OSSM-hardware", - "source_path": "Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Bolts.stl", - "source_ref": "main", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Bolts.stl", - "orig_site_json": "website/src/data/components/mounting.json", - "orig_item_id": "ossm-pitclamp-mini-dogbone-bolts ", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null - }, - { - "id": "ossm-pitclamp-mini-dogbone-nuts", - "source_repo": "KinkyMakers/OSSM-hardware", - "source_path": "Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Nuts.stl", - "source_ref": "main", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Nuts.stl", - "orig_site_json": "website/src/data/components/mounting.json", - "orig_item_id": "ossm-pitclamp-mini-dogbone-nuts", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null - }, - { - "id": "ossm-pitclamp-mini-handle", - "source_repo": "KinkyMakers/OSSM-hardware", - "source_path": "Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Handle.stl", - "source_ref": "main", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Handle.stl", - "orig_site_json": "website/src/data/components/mounting.json", - "orig_item_id": "ossm-pitclamp-mini-handle", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null - }, - { - "id": "ossm-pitclamp-mini-iHSV57", - "source_repo": "KinkyMakers/OSSM-hardware", - "source_path": "Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - iHSV57.stl", - "source_ref": "main", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - iHSV57.stl", - "orig_site_json": "website/src/data/components/mounting.json", - "orig_item_id": "ossm-pitclamp-mini-iHSV57", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null - }, - { - "id": "ossm-pitclamp-mini-lower", - "source_repo": "KinkyMakers/OSSM-hardware", - "source_path": "Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Lower V1.1.stl", - "source_ref": "main", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Lower V1.1.stl", - "orig_site_json": "website/src/data/components/mounting.json", - "orig_item_id": "ossm-pitclamp-mini-lower", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null - }, - { - "id": "ossm-pitclamp-mini-upper", - "source_repo": "KinkyMakers/OSSM-hardware", - "source_path": "Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Upper V1.1.stl", - "source_ref": "main", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Upper V1.1.stl", - "orig_site_json": "website/src/data/components/mounting.json", - "orig_item_id": "ossm-pitclamp-mini-upper", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null + "local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl", + "orig_site_json": "website/src/data/components/pcb/armpitmfg.json", + "orig_item_id": "ossm-pcb-aio-backpack-cap", + "status": "pending", + "pinned_sha": null }, { "id": "ossm-remote-body", @@ -359,13 +237,13 @@ "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Body.stl", "orig_site_json": "website/src/data/components/remote.json", "orig_item_id": "ossm-remote-body", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Body.stl", + "checksum_sha256": "a0c3bb663a4bba6876a89c8e0dce81d0c6c673c9fc1f4537537000576f7f9e48", + "last_checked": "2026-01-07T09:37:56.320094+00:00", + "status": "up-to-date", + "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", + "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" }, { "id": "ossm-remote-knob", @@ -375,13 +253,13 @@ "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl", "orig_site_json": "website/src/data/components/remote.json", "orig_item_id": "ossm-remote-knob", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl", + "checksum_sha256": "3dcf73220cecd534ea9db0d991cec1001b4495f0b9d98f71f5b0b8c68b780439", + "last_checked": "2026-01-07T09:37:59.299155+00:00", + "status": "up-to-date", + "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", + "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" }, { "id": "ossm-remote-knob-knurled", @@ -391,13 +269,13 @@ "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled.stl", "orig_site_json": "website/src/data/components/remote.json", "orig_item_id": "ossm-remote-knob-knurled", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled.stl", + "checksum_sha256": "43f68e9467d4da82e6e9aaa545e9d9eda19ef60f8173ccd7fab7fa0835e770d4", + "last_checked": "2026-01-07T09:38:02.349095+00:00", + "status": "up-to-date", + "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", + "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" }, { "id": "ossm-remote-knob-knurled-with-position-indicator", @@ -407,13 +285,13 @@ "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled With Position Indicator.stl", "orig_site_json": "website/src/data/components/remote.json", "orig_item_id": "ossm-remote-knob-knurled-with-position-indicator", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled With Position Indicator.stl", + "checksum_sha256": "4d06b58617b70633610c4d6fc8441eff45e751b904d7b0ecd442ea97a8bfa2a6", + "last_checked": "2026-01-07T09:38:05.401527+00:00", + "status": "up-to-date", + "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", + "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" }, { "id": "ossm-remote-knob-simple-with-position-indicator", @@ -423,13 +301,13 @@ "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Simple With Position Indicator.stl", "orig_site_json": "website/src/data/components/remote.json", "orig_item_id": "ossm-remote-knob-simple-with-position-indicator", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Simple With Position Indicator.stl", + "checksum_sha256": "b1816680cc49d5afe57b5d4f5dabab56b5446a429d43c94d184892365bfa9330", + "last_checked": "2026-01-07T09:38:08.443214+00:00", + "status": "up-to-date", + "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", + "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" }, { "id": "ossm-remote-top-cover", @@ -439,13 +317,13 @@ "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Top Cover.stl", "orig_site_json": "website/src/data/components/remote.json", "orig_item_id": "ossm-remote-top-cover", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Top Cover.stl", + "checksum_sha256": "890a6b117dc6fd306b7523838ad81ae32ad4e642c90179a58d9f313b3f3c783e", + "last_checked": "2026-01-07T09:38:11.540477+00:00", + "status": "up-to-date", + "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", + "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" }, { "id": "ossm-toy-mount-double-double-24mm-threaded", @@ -459,7 +337,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending", + "status": "error", "license": null, "upstream_latest_sha": null }, @@ -475,7 +353,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending", + "status": "error", "license": null, "upstream_latest_sha": null }, @@ -491,7 +369,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending", + "status": "error", "license": null, "upstream_latest_sha": null }, @@ -507,7 +385,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending", + "status": "error", "license": null, "upstream_latest_sha": null }, @@ -523,7 +401,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending", + "status": "error", "license": null, "upstream_latest_sha": null }, @@ -539,7 +417,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending", + "status": "error", "license": null, "upstream_latest_sha": null }, @@ -555,7 +433,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending", + "status": "error", "license": null, "upstream_latest_sha": null }, @@ -571,7 +449,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending", + "status": "error", "license": null, "upstream_latest_sha": null }, @@ -587,7 +465,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending", + "status": "error", "license": null, "upstream_latest_sha": null }, @@ -603,10 +481,65 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending", + "status": "error", "license": null, "upstream_latest_sha": null }, + { + "id": "pitclamp-mini-base-ossm-v2", + "source_repo": "armpitMFG/PitClamp-Mini", + "source_path": "Files/Bases/PitClamp Mini - Base - Modular - OSSM v2.stl", + "source_ref": "main", + "local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Bases/PitClamp Mini - Base - Modular - OSSM v2.stl", + "orig_site_json": "website/src/data/components/mounting/armpitmfg.json", + "orig_item_id": "pitclamp-mini-base-ossm-v2", + "status": "pending", + "pinned_sha": null + }, + { + "id": "pitclamp-mini-rail-clamp", + "source_repo": "armpitMFG/PitClamp-Mini", + "source_path": "Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Clamp V1.1.stl", + "source_ref": "main", + "local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Clamp V1.1.stl", + "orig_site_json": "website/src/data/components/mounting/armpitmfg.json", + "orig_item_id": "pitclamp-mini-rail-clamp", + "status": "pending", + "pinned_sha": null + }, + { + "id": "pitclamp-mini-rail-pivot", + "source_repo": "armpitMFG/PitClamp-Mini", + "source_path": "Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Pivot V1.1.stl", + "source_ref": "main", + "local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Pivot V1.1.stl", + "orig_site_json": "website/src/data/components/mounting/armpitmfg.json", + "orig_item_id": "pitclamp-mini-rail-pivot", + "status": "pending", + "pinned_sha": null + }, + { + "id": "pitclamp-mini-ring-57aim", + "source_repo": "armpitMFG/PitClamp-Mini", + "source_path": "Files/Rings/PitClamp Mini - Ring v1.1 - 57AIM - 5mm Offset +Passthru.stl", + "source_ref": "main", + "local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rings/PitClamp Mini - Ring v1.1 - 57AIM - 5mm Offset +Passthru.stl", + "orig_site_json": "website/src/data/components/mounting/armpitmfg.json", + "orig_item_id": "pitclamp-mini-ring-57aim", + "status": "pending", + "pinned_sha": null + }, + { + "id": "pitclamp-mini-ring-ihsv57", + "source_repo": "armpitMFG/PitClamp-Mini", + "source_path": "Files/Rings/PitClamp Mini - Ring - iHSV57 - Default - 5mm Offset.stl", + "source_ref": "main", + "local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rings/PitClamp Mini - Ring - iHSV57 - Default - 5mm Offset.stl", + "orig_site_json": "website/src/data/components/mounting/armpitmfg.json", + "orig_item_id": "pitclamp-mini-ring-ihsv57", + "status": "pending", + "pinned_sha": null + }, { "id": "pivot-plate", "source_repo": "KinkyMakers/OSSM-hardware", @@ -615,13 +548,13 @@ "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl", "orig_site_json": "website/src/data/components/stand.json", "orig_item_id": "pivot-plate", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl", + "checksum_sha256": "44a5527b613743acc394e4a6dfe89677d37c2e1c8a1537e76184812edbba0216", + "last_checked": "2026-01-07T09:38:41.826563+00:00", + "status": "up-to-date", + "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", + "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" }, { "id": "pivot-plate-right", @@ -631,12 +564,12 @@ "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl", "orig_site_json": "website/src/data/components/stand.json", "orig_item_id": "pivot-plate-right", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error", - "license": null, - "upstream_latest_sha": null + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl", + "checksum_sha256": "20fba186fd8c50f08b35d57c354e62288d582ad283aa474ee271b27f08aa972a", + "last_checked": "2026-01-07T10:37:58.707054+00:00", + "status": "up-to-date", + "license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE", + "upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab" } ] \ No newline at end of file diff --git a/roadmap/ROADMAP.md b/roadmap/ROADMAP.md index b1a25e7..7da8cc7 100644 --- a/roadmap/ROADMAP.md +++ b/roadmap/ROADMAP.md @@ -46,7 +46,7 @@ Becoming the central hub for starting an OSSM build. ## 📋 TODO List ### High Priority -- [ ] Finalize Actuator Components and mapping to BOM [In Progress] +- [X] Finalize Actuator Components and mapping to BOM [Printed Parts Validated - Unknown location of M3x20mm SHCS] - [ ] Finalize Stand Components and mapping to BOM - [ ] Finalize PCB Components and mapping to BOM - [ ] Finalize Toy Mounts Components and mapping to BOM diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - 42AIM V1.1.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - 42AIM V1.1.stl new file mode 100644 index 0000000..17ceb8b Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - 42AIM V1.1.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - iHSV57.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - iHSV57.stl new file mode 100644 index 0000000..80ce02c Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - iHSV57.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Bolts.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Bolts.stl new file mode 100644 index 0000000..6127915 Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Bolts.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Nuts.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Nuts.stl new file mode 100644 index 0000000..da185e7 Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Nuts.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Handle.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Handle.stl new file mode 100644 index 0000000..6a2ef95 Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Handle.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Lower V1.1.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Lower V1.1.stl new file mode 100644 index 0000000..08cb7e4 Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Lower V1.1.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Upper V1.1.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Upper V1.1.stl new file mode 100644 index 0000000..27df47b Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Upper V1.1.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Mounting Ring - PitClamp Mini - 57AIM V1.1.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Mounting Ring - PitClamp Mini - 57AIM V1.1.stl new file mode 100644 index 0000000..12be71e Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Mounting Ring - PitClamp Mini - 57AIM V1.1.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled With Position Indicator.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled With Position Indicator.stl new file mode 100644 index 0000000..20907d0 Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled With Position Indicator.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled.stl new file mode 100644 index 0000000..abf957a Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Simple With Position Indicator.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Simple With Position Indicator.stl new file mode 100644 index 0000000..a6deca4 Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Simple With Position Indicator.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Body.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Body.stl new file mode 100644 index 0000000..cf8e6b5 Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Body.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl new file mode 100644 index 0000000..022f1e1 Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Top Cover.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Top Cover.stl new file mode 100644 index 0000000..4585001 Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Top Cover.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl new file mode 100644 index 0000000..4869fbf Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl differ diff --git a/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl new file mode 100644 index 0000000..addfc6b Binary files /dev/null and b/vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl differ diff --git a/vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl b/vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl new file mode 100644 index 0000000..ddbb476 Binary files /dev/null and b/vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl differ diff --git a/vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl b/vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl new file mode 100644 index 0000000..146326f Binary files /dev/null and b/vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl differ diff --git a/website/src/components/BOMSummary.jsx b/website/src/components/BOMSummary.jsx index 0a5a66a..bdb3785 100644 --- a/website/src/components/BOMSummary.jsx +++ b/website/src/components/BOMSummary.jsx @@ -304,6 +304,65 @@ export default function BOMSummary({ config }) { // Skip hinges and remotes as they're handled separately above if (componentKey === 'hinges' || componentKey === 'remotes') return; + // Handle components with systems (like mounts) + if (component.systems) { + // Find the selected system based on config + let selectedSystemId = null; + if (componentKey === 'mounting' && config.mount) { + selectedSystemId = config.mount.id; + } else if (componentKey === 'toyMounts' && config.toyMountOptions && config.toyMountOptions.length > 0) { + // For toy mounts, process all selected options + config.toyMountOptions.forEach((toyMount) => { + const system = component.systems[toyMount.id]; + if (system?.hardwareParts) { + system.hardwareParts.forEach((hardware) => { + if (!hardware.required) return; + if (!evaluateCondition(hardware.Condition, config)) return; + + const key = hardware.id; + if (hardwareMap.has(key)) { + const existing = hardwareMap.get(key); + existing.quantity = (existing.quantity || 1) + (hardware.quantity || 1); + } else { + hardwareMap.set(key, { + ...hardware, + quantity: hardware.quantity || 1, + category: component.category || 'Hardware', + hardwareType: getHardwareType(hardware) + }); + } + }); + } + }); + return; // Skip the rest for toy mounts + } + + if (selectedSystemId) { + const system = component.systems[selectedSystemId]; + if (system?.hardwareParts) { + system.hardwareParts.forEach((hardware) => { + if (!hardware.required) return; + if (!evaluateCondition(hardware.Condition, config)) return; + + const key = hardware.id; + if (hardwareMap.has(key)) { + const existing = hardwareMap.get(key); + existing.quantity = (existing.quantity || 1) + (hardware.quantity || 1); + } else { + hardwareMap.set(key, { + ...hardware, + quantity: hardware.quantity || 1, + category: component.category || 'Hardware', + hardwareType: getHardwareType(hardware) + }); + } + }); + } + } + return; // Skip direct hardwareParts check for components with systems + } + + // Handle components with direct hardwareParts (old structure) if (!component.hardwareParts) return; // Check if this component has any selected printed parts OR selected options @@ -557,10 +616,58 @@ export default function BOMSummary({ config }) { } } + // Handle mount systems + if (config.mount && partsData.components?.mounting?.systems) { + const mountSystem = partsData.components.mounting.systems[config.mount.id]; + if (mountSystem?.hardwareParts) { + const componentHardware = []; + mountSystem.hardwareParts.forEach((hardware) => { + if (hardware.required && evaluateCondition(hardware.Condition, config)) { + componentHardware.push({ + ...hardware, + quantity: hardware.quantity || 1, + hardwareType: getHardwareType(hardware) + }); + } + }); + if (componentHardware.length > 0) { + expandedHardware.push({ + component: partsData.components.mounting.category || 'Mounting', + parts: componentHardware, + }); + } + } + } + + // Handle toy mount systems + if (config.toyMountOptions && config.toyMountOptions.length > 0 && partsData.components?.toyMounts?.systems) { + config.toyMountOptions.forEach((toyMount) => { + const toyMountSystem = partsData.components.toyMounts.systems[toyMount.id]; + if (toyMountSystem?.hardwareParts) { + const componentHardware = []; + toyMountSystem.hardwareParts.forEach((hardware) => { + if (hardware.required && evaluateCondition(hardware.Condition, config)) { + componentHardware.push({ + ...hardware, + quantity: hardware.quantity || 1, + hardwareType: getHardwareType(hardware) + }); + } + }); + if (componentHardware.length > 0) { + expandedHardware.push({ + component: partsData.components.toyMounts.category || 'Toy Mounts', + parts: componentHardware, + }); + } + } + }); + } + // Handle other components const componentPrintedPartIds = new Map(); Object.entries(partsData.components || {}).forEach(([componentKey, component]) => { - if (componentKey === 'hinges' || componentKey === 'remotes') return; + if (componentKey === 'hinges' || componentKey === 'remotes' || componentKey === 'mounting' || componentKey === 'toyMounts') return; if (component.printedParts) { const partIds = component.printedParts.map(p => p.id); componentPrintedPartIds.set(componentKey, new Set(partIds)); @@ -568,7 +675,7 @@ export default function BOMSummary({ config }) { }); Object.entries(partsData.components || {}).forEach(([componentKey, component]) => { - if (componentKey === 'hinges' || componentKey === 'remotes') return; + if (componentKey === 'hinges' || componentKey === 'remotes' || componentKey === 'mounting' || componentKey === 'toyMounts') return; if (!component.hardwareParts) return; const componentPartIds = componentPrintedPartIds.get(componentKey); diff --git a/website/src/data/common/hardware.json b/website/src/data/common/hardware.json index 634a025..bc8e5de 100644 --- a/website/src/data/common/hardware.json +++ b/website/src/data/common/hardware.json @@ -24,10 +24,34 @@ "description": "Hardware fasteners m3 hex nut", "price": 0 }, - "M5 Hex Nut": { - "id": "hardware-fasteners-m5-hex-nut", - "name": "M5 Hex Nut", - "description": "Hardware fasteners m5 hex nut", + "M4x10 Socket Head cap Screw": { + "id": "hardware-fasteners-m4x10-shcs", + "name": "M4x10 SHCS", + "description": "Hardware fasteners m4x10 socket head cap screw", + "price": 0 + }, + "M4x12 Socket Head cap Screw": { + "id": "hardware-fasteners-m4x12-shcs", + "name": "M4x12 SHCS", + "description": "Hardware fasteners m4x12 socket head cap screw", + "price": 0 + }, + "M4x25 Socket Head cap Screw": { + "id": "hardware-fasteners-m4x25-shcs", + "name": "M4x25 SHCS", + "description": "Hardware fasteners m4x25 socket head cap screw", + "price": 0 + }, + "M4 Hex Nuts": { + "id": "hardware-fasteners-m4-hex-nuts", + "name": "M4 Hex Nuts", + "description": "Hardware fasteners m4 hex nuts", + "price": 0 + }, + "M5 Hex Nuts": { + "id": "hardware-fasteners-m5-hex-nuts", + "name": "M5 Hex Nuts", + "description": "Hardware fasteners m5 hex nuts", "price": 0 }, "M5x20 Socket Head cap Screw": { @@ -42,6 +66,12 @@ "description": "Hardware fasteners m5x35 socket head cap screw", "price": 0 }, + "M5x40 Socket Head cap Screw": { + "id": "hardware-fasteners-m5x40-shcs", + "name": "M5x40 SHCS", + "description": "Hardware fasteners m5x40 socket head cap screw", + "price": 0 + }, "M5x20mm Hex Coupling Nut": { "id": "hardware-fasteners-m5x20mm-hex-coupling-nut", "name": "M5x20mm Hex Coupling Nut", @@ -54,6 +84,12 @@ "description": "Hardware fasteners m6x12 socket head cap screw", "price": 0 }, + "M6x20mm Socket Head cap Screw": { + "id": "hardware-fasteners-m6x20mm-shcs", + "name": "M6x20mm SHCS", + "description": "Hardware fasteners m6x20mm socket head cap screw", + "price": 0 + }, "M6x25 Socket Head cap Screw": { "id": "hardware-fasteners-m6x25-shcs", "name": "M6x25 SHCS", diff --git a/website/src/data/components/actuator.json b/website/src/data/components/actuator.json index 986ffa7..90e531f 100644 --- a/website/src/data/components/actuator.json +++ b/website/src/data/components/actuator.json @@ -11,6 +11,7 @@ "timeEstimate": "2h14m", "colour": "primary", "required": true, + "quantity": 1, "filePath": "OSSM - Actuator Body Bottom.stl", "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%20Actuator%20-%20Body%20-%20Bottom.stl?raw=true", "vendor": { @@ -19,7 +20,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Bottom.stl", "checksum_sha256": "e7abdb99a7e9b9e7408a7b04a7dd50e42cc74510ea2969016a45a2a1387dcde3", - "last_checked": "2026-01-07T06:30:14.604915+00:00", + "last_checked": "2026-01-07T23:40:57.300803+00:00", "status": "up-to-date" } }, @@ -31,6 +32,7 @@ "timeEstimate": "2h23m", "colour": "primary", "required": true, + "quantity": 1, "filePath": "OSSM - Actuator Body Middle.stl", "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%20Actuator%20-%20Body%20-%20Middle.stl?raw=true", "vendor": { @@ -39,7 +41,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Middle.stl", "checksum_sha256": "ce6fb769378636c287af788ce42bdab1f2185dcffba929a0c72598742793b48a", - "last_checked": "2026-01-07T06:30:22.906540+00:00", + "last_checked": "2026-01-07T23:40:59.324441+00:00", "status": "up-to-date" } }, @@ -51,6 +53,7 @@ "timeEstimate": "1h3m", "colour": "primary", "required": true, + "quantity": 1, "Condition": { "cover.id": "standard-cover" }, @@ -62,7 +65,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Cover.stl", "checksum_sha256": "bbabc742d2f1753d1b4e21e42c197aec31a4a083b5c634e6e825cec69d4e3258", - "last_checked": "2026-01-07T06:30:18.689516+00:00", + "last_checked": "2026-01-07T23:40:58.302462+00:00", "status": "up-to-date" } }, @@ -74,6 +77,7 @@ "timeEstimate": "40m25s", "colour": "secondary", "required": true, + "quantity": 1, "filePath": "OSSM - Belt Tensioner.stl", "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%20Belt%20Tensioner.stl?raw=true", "vendor": { @@ -82,7 +86,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Belt Tensioner.stl", "checksum_sha256": "31c74250c237763b0013ff42cc714ce14c293382a726de363f1686a7559f525f", - "last_checked": "2026-01-07T07:29:56.698523+00:00", + "last_checked": "2026-01-07T23:41:01.332754+00:00", "status": "up-to-date" } }, @@ -94,6 +98,7 @@ "timeEstimate": "19m36s", "colour": "secondary", "required": true, + "quantity": 1, "filePath": "OSSM - 24mm Clamping Thread Belt Clamp.stl", "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%2024mm%20Clamping%20Thread%20-%20Belt%20Clamp.stl?raw=true", "vendor": { @@ -102,7 +107,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Clamping Thread - Belt Clamp.stl", "checksum_sha256": "457a71bc09cb53f12026fd829bec8fa5b04fdead0788822935780f42c90b9a7a", - "last_checked": "2026-01-07T06:30:08.525159+00:00", + "last_checked": "2026-01-07T23:40:53.289981+00:00", "status": "up-to-date" } }, @@ -114,6 +119,7 @@ "timeEstimate": "1h20m", "colour": "secondary", "required": true, + "quantity": 1, "filePath": "OSSM - 24mm Clamping Thread End Effector.stl", "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%2024mm%20Clamping%20Thread%20-%20End%20Effector.stl?raw=true", "vendor": { @@ -122,7 +128,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Clamping Thread - End Effector.stl", "checksum_sha256": "4860947b201e2e773b295d33bba09423ae40b4adeef3605d62687f2d40277de1", - "last_checked": "2026-01-07T06:30:09.547007+00:00", + "last_checked": "2026-01-07T23:40:54.274313+00:00", "status": "up-to-date" } }, @@ -134,6 +140,7 @@ "timeEstimate": "21m10s", "colour": "secondary", "required": true, + "quantity": 2, "filePath": "OSSM - 24mm Nut 5 Sided.stl", "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%2024mm%20Nut%20-%205%20Sided.stl?raw=true", "vendor": { @@ -142,7 +149,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Nut - 5 Sided.stl", "checksum_sha256": "38630c70b2fb929bba9a705dabf5bbd7b49ec882963e042b7108dc74284dd6ff", - "last_checked": "2026-01-07T06:30:10.564924+00:00", + "last_checked": "2026-01-07T23:40:55.286530+00:00", "status": "up-to-date" } } @@ -153,7 +160,8 @@ "required": true, "quantity": 8, "relatedParts": [ - "ossm-actuator-body-bottom" + "ossm-actuator-body-bottom", + "ossm-actuator-body-cover" ] }, { @@ -161,7 +169,7 @@ "required": true, "quantity": 2, "relatedParts": [ - "ossm-24mm-nut-5-sided" + "ossm-24mm-clamping-thread-end-effector" ] }, { @@ -181,7 +189,7 @@ ] }, { - "id": "hardware-fasteners-m5-hex-nut", + "id": "hardware-fasteners-m5-hex-nuts", "required": true, "quantity": 7, "relatedParts": [ @@ -237,6 +245,8 @@ "relatedParts": [ "ossm-24mm-clamping-thread-belt-clamp", "ossm-24mm-nut-5-sided", + "ossm-belt-tensioner", + "ossm-24mm-clamping-thread-end-effector", "ossm-actuator-body-bottom" ] }, diff --git a/website/src/data/components/motors.json b/website/src/data/components/motors.json index b42b536..25ee8d0 100644 --- a/website/src/data/components/motors.json +++ b/website/src/data/components/motors.json @@ -12,8 +12,8 @@ "recommended": true }, { - "id": "42AIM30", - "name": "42AIM30 \"Round Motor\"", + "id": "42AIM", + "name": "42AIM \"Round Motor\"", "description": "High precision NEMA 17 stepper motor with 0.9° step angle", "speed": "1500 RPM", "wattage": "100W", diff --git a/website/src/data/components/mounting/armpitmfg.json b/website/src/data/components/mounting/armpitmfg.json deleted file mode 100644 index c729c20..0000000 --- a/website/src/data/components/mounting/armpitmfg.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "pitclamp": { - "name": "PitClamp Mini", - "description": "armpitMFG PitClamp Mini - Modular Quick-Release Mount", - "image": "https://raw.githubusercontent.com/armpitMFG/PitClamp-Mini/main/Images/Renders/Primary/Parts%20Only.png", - "printedParts": [ - { - "id": "pitclamp-mini-base-ossm-v2", - "name": "PitClamp Mini Base - OSSM v2", - "description": "Modular base for OSSM v2", - "filamentEstimate": 65, - "timeEstimate": "2h30m", - "colour": "primary", - "required": true, - "filePath": "PitClamp Mini - Base - Modular - OSSM v2.stl", - "url": "https://github.com/armpitMFG/PitClamp-Mini/blob/main/Files/Bases/PitClamp%20Mini%20-%20Base%20-%20Modular%20-%20OSSM%20v2.stl?raw=true", - "vendor": { - "manifest_id": "pitclamp-mini-base-ossm-v2", - "local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Bases/PitClamp Mini - Base - Modular - OSSM v2.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "pending" - } - }, - { - "id": "pitclamp-mini-rail-clamp", - "name": "PitClamp Mini Rail Clamp", - "description": "Standard rail clamp mod", - "filamentEstimate": 25, - "timeEstimate": "1h", - "colour": "primary", - "required": true, - "filePath": "PitClamp Mini - Rail - Standard Mod - Clamp V1.1.stl", - "url": "https://github.com/armpitMFG/PitClamp-Mini/blob/main/Files/Rail%20Components/PitClamp%20Mini%20-%20Rail%20-%20Standard%20Mod%20-%20Clamp%20V1.1.stl?raw=true", - "vendor": { - "manifest_id": "pitclamp-mini-rail-clamp", - "local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Clamp V1.1.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "pending" - } - }, - { - "id": "pitclamp-mini-rail-pivot", - "name": "PitClamp Mini Rail Pivot", - "description": "Standard rail pivot mod", - "filamentEstimate": 25, - "timeEstimate": "1h", - "colour": "primary", - "required": true, - "filePath": "PitClamp Mini - Rail - Standard Mod - Pivot V1.1.stl", - "url": "https://github.com/armpitMFG/PitClamp-Mini/blob/main/Files/Rail%20Components/PitClamp%20Mini%20-%20Rail%20-%20Standard%20Mod%20-%20Pivot%20V1.1.stl?raw=true", - "vendor": { - "manifest_id": "pitclamp-mini-rail-pivot", - "local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Pivot V1.1.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "pending" - } - }, - { - "id": "pitclamp-mini-ring-57aim", - "name": "PitClamp Mini Ring - 57AIM", - "description": "Motor ring for 57AIM", - "filamentEstimate": 45, - "timeEstimate": "1h45m", - "colour": "primary", - "required": true, - "Condition": { - "motor.id": "57AIM30" - }, - "filePath": "PitClamp Mini - Ring v1.1 - 57AIM - 5mm Offset +Passthru.stl", - "url": "https://github.com/armpitMFG/PitClamp-Mini/blob/main/Files/Rings/PitClamp%20Mini%20-%20Ring%20v1.1%20-%2057AIM%20-%205mm%20Offset%20+Passthru.stl?raw=true", - "vendor": { - "manifest_id": "pitclamp-mini-ring-57aim", - "local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rings/PitClamp Mini - Ring v1.1 - 57AIM - 5mm Offset +Passthru.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "pending" - } - }, - { - "id": "pitclamp-mini-ring-ihsv57", - "name": "PitClamp Mini Ring - iHSV57", - "description": "Motor ring for iHSV57", - "filamentEstimate": 45, - "timeEstimate": "1h45m", - "colour": "primary", - "required": true, - "Condition": { - "motor.id": "iHSV57" - }, - "filePath": "PitClamp Mini - Ring - iHSV57 - Default - 5mm Offset.stl", - "url": "https://github.com/armpitMFG/PitClamp-Mini/blob/main/Files/Rings/PitClamp%20Mini%20-%20Ring%20-%20iHSV57%20-%20Default%20-%205mm%20Offset.stl?raw=true", - "vendor": { - "manifest_id": "pitclamp-mini-ring-ihsv57", - "local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rings/PitClamp Mini - Ring - iHSV57 - Default - 5mm Offset.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "pending" - } - } - ], - "hardwareParts": [ - { - "id": "pitclamp-hardware", - "required": true - } - ] - } -} \ No newline at end of file diff --git a/website/src/data/components/mounting/index.js b/website/src/data/components/mounting/index.js index ae35d38..653ab2f 100644 --- a/website/src/data/components/mounting/index.js +++ b/website/src/data/components/mounting/index.js @@ -1,13 +1,11 @@ import ossm from './ossm.json'; -import armpitmfg from './armpitmfg.json'; - export default { "mounting": { "category": "Mounting", "type": "base", "systems": { ...ossm, - ...armpitmfg + // ...armpitmfg } } }; diff --git a/website/src/data/components/mounting/ossm.json b/website/src/data/components/mounting/ossm.json index 5dd51e6..391af10 100644 --- a/website/src/data/components/mounting/ossm.json +++ b/website/src/data/components/mounting/ossm.json @@ -1,59 +1,240 @@ { - "middle-pivot": { - "name": "Middle Pivot", - "description": "Standard OSSM Middle Pivot mounting system", - "image": "/images/options/middle-pivot.png", - "printedParts": [ - { - "id": "ossm-actuator-body-middle-pivot", - "name": "Actuator Body Middle Pivot", - "description": "Middle Pivot mounting system", - "filamentEstimate": 147.19, - "timeEstimate": "5h8m", - "colour": "primary", - "required": true, - "replaces": [ - "ossm-actuator-body-middle" - ], - "filePath": "OSSM - Actuator Body Middle Pivot.stl", - "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/Non-standard/OSSM%20-%20Actuator%20-%20Body%20-%20Middle%20Pivot.stl?raw=true", - "vendor": { - "manifest_id": "ossm-actuator-body-middle-pivot", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl", - "pinned_sha": "ad39a03b628b8e38549b99036c8dfd4131948545", - "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/ad39a03b628b8e38549b99036c8dfd4131948545/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl", - "checksum_sha256": "f6403a3c53e0d8c8e63d48bf853ab17c9f283421b1665b5503dbb04d59d0f52d", - "last_checked": "2026-01-07T01:21:04.528132+00:00", - "status": "up-to-date" - } - }, - { - "id": "ossm-handle-spacer", - "name": "Handle Spacer", - "description": "Handle spacer part", - "filamentEstimate": 10, - "colour": "secondary", - "required": true, - "quantity": 2, - "filePath": "OSSM - Handle Spacer.stl", - "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Stand/OSSM%20-%20Stand%20-%203030%20Extrusion%20Base%20-%20Handle%20Spacer.stl?raw=true", - "vendor": { - "manifest_id": "ossm-handle-spacer", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "pending" - } - } + "middle-pivot": { + "name": "Middle Pivot", + "description": "Standard OSSM Middle Pivot mounting system", + "image": "/images/options/middle-pivot.png", + "printedParts": [ + { + "id": "ossm-actuator-body-middle-pivot", + "name": "Actuator Body Middle Pivot", + "description": "Middle Pivot mounting system", + "filamentEstimate": 147.19, + "timeEstimate": "5h8m", + "colour": "primary", + "required": true, + "replaces": [ + "ossm-actuator-body-middle" ], - "hardwareParts": [ - { - "id": "hardware-fasteners-m5x35-shcs", - "required": true, - "quantity": 4 + "filePath": "OSSM - Actuator Body Middle Pivot.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/Non-standard/OSSM%20-%20Actuator%20-%20Body%20-%20Middle%20Pivot.stl?raw=true", + "vendor": { + "manifest_id": "ossm-actuator-body-middle-pivot", + "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl", + "pinned_sha": "ad39a03b628b8e38549b99036c8dfd4131948545", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/ad39a03b628b8e38549b99036c8dfd4131948545/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl", + "checksum_sha256": "f6403a3c53e0d8c8e63d48bf853ab17c9f283421b1665b5503dbb04d59d0f52d", + "last_checked": "2026-01-07T23:41:00.422074+00:00", + "status": "up-to-date" + } + }, + { + "id": "ossm-handle-spacer", + "name": "Handle Spacer", + "description": "Handle spacer part", + "filamentEstimate": 10, + "colour": "secondary", + "required": true, + "quantity": 2, + "filePath": "OSSM - Handle Spacer.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Stand/OSSM%20-%20Stand%20-%203030%20Extrusion%20Base%20-%20Handle%20Spacer.stl?raw=true", + "vendor": { + "manifest_id": "ossm-handle-spacer", + "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl", + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl", + "checksum_sha256": "55ede7dff60a31d68159b352b5f2c63792b7a0dbe9d543a43681c3e52d229115", + "last_checked": "2026-01-07T23:41:02.238918+00:00", + "status": "up-to-date" + } + } + ], + "hardwareParts": [ + { + "id": "hardware-fasteners-m5x35-shcs", + "required": true, + "quantity": 4 + } + ] + }, + "pitclamp": { + "name": "PitClamp Mini", + "description": "armpitMFG PitClamp Mini - Modular Quick-Release Mount", + "image": "https://raw.githubusercontent.com/armpitMFG/PitClamp-Mini/main/Images/Renders/Primary/Parts%20Only.png", + "printedParts": [ + { + "id": "pitclamp-mini-base-dogbone-bolts", + "name": "PitClamp Mini Base - Dogbone Bolts", + "description": "PitClamp Mini base part", + "filamentEstimate": 10, + "colour": "secondary", + "required": true, + "filePath": "OSSM - Base - PitClamp Mini - Dogbone Bolts.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Base%20-%20PitClamp%20Mini%20-%20Dogbone%20Bolts.stl?raw=true" + }, + { + "id": "pitclamp-mini-base-dogbone-nuts", + "name": "PitClamp Mini Base - Dogbone Nuts", + "description": "PitClamp Mini base part", + "filamentEstimate": 10, + "colour": "secondary", + "required": true, + "filePath": "OSSM - Base - PitClamp Mini - Dogbone Nuts.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Base%20-%20PitClamp%20Mini%20-%20Dogbone%20Nuts.stl?raw=true" + }, + { + "id": "pitclamp-mini-base-dogbone-handle ", + "name": "PitClamp Mini Base - Handle", + "description": "PitClamp Mini base part", + "filamentEstimate": 10, + "colour": "secondary", + "required": true, + "filePath": "OSSM - Base - PitClamp Mini - Handle.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Base%20-%20PitClamp%20Mini%20-%20Handle.stl?raw=true" + }, + { + "id": "pitclamp-mini-base-dogbone-lower", + "name": "PitClamp Mini Base - Lower", + "description": "PitClamp Mini base part", + "filamentEstimate": 10, + "colour": "secondary", + "required": true, + "filePath": "OSSM - Base - PitClamp Mini - Lower.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Base%20-%20PitClamp%20Mini%20-%20Lower%20V1.1.stl?raw=true" + }, + { + "id": "pitclamp-mini-base-dogbone-upper", + "name": "PitClamp Mini Base - Upper", + "description": "PitClamp Mini base part", + "filamentEstimate": 10, + "colour": "secondary", + "required": true, + "filePath": "OSSM - Base - PitClamp Mini - Upper.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Base%20-%20PitClamp%20Mini%20-%20Upper%20V1.1.stl?raw=true" + }, + { + "id": "pitclamp-mini-ring-57AIM", + "name": "PitClamp Mini Ring - 57AIM", + "description": "Motor ring for 57AIM", + "filamentEstimate": 45, + "timeEstimate": "1h45m", + "colour": "primary", + "required": true, + "Condition": { + "motor.id": "57AIM30" + }, + "filePath": "OSSM - Mounting Ring - PitClamp Mini - 57AIM v1.1.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Mounting%20Ring%20-%20PitClamp%20Mini%20-%2057AIM%20V1.1.stl?raw=true" + }, + { + "id": "pitclamp-mini-ring-ihsv57", + "name": "PitClamp Mini Ring - iHSV57", + "description": "Motor ring for iHSV57", + "filamentEstimate": 45, + "timeEstimate": "1h45m", + "colour": "primary", + "required": true, + "Condition": { + "motor.id": "iHSV57" + }, + "filePath": "OSSM - Mounting Ring - PitClamp Mini - iHSV57.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/Non-standard/OSSM%20-%20Mounting%20Ring%20-%20PitClamp%20Mini%20-%20iHSV57.stl?raw=true" + }, + { + "id": "pitclamp-mini-ring-42AIM", + "name": "PitClamp Mini Ring - 42AIM", + "description": "Motor ring for 42AIM", + "filamentEstimate": 45, + "timeEstimate": "1h45m", + "colour": "primary", + "required": true, + "Condition": { + "motor.id": "42AIM" + }, + "filePath": "OSSM - Mounting Ring - PitClamp Mini - 42AIM.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/Non-standard/OSSM%20-%20Mounting%20Ring%20-%20PitClamp%20Mini%20-%2042AIM%20V1.1.stl?raw=true" + } + ], + "hardwareParts": [ + { + "id": "hardware-fasteners-m4x25-shcs", + "required": true, + "quantity": 2 + }, + { + "id": "hardware-fasteners-m4x12-shcs", + "required": true, + "quantity": 1 + }, + { + "id": "hardware-fasteners-m4x10-shcs", + "required": true, + "quantity": 1 + }, + { + "id": "hardware-fasteners-m4-hex-nuts", + "required": true, + "quantity": 3 + }, + { + "id": "hardware-fasteners-m5x20-shcs", + "required": true, + "quantity": 1 + }, + { + "id": "hardware-fasteners-m5-hex-nuts", + "required": true, + "quantity": 1 + }, + { + "id": "hardware-fasteners-m6x20mm-shcs", + "required": true, + "quantity": 2 + }, + { + "id": "hardware-fasteners-m6-t-nuts", + "required": true, + "quantity": 2 + }, + { + "id": "hardware-fasteners-m5x35-shcs", + "required": true, + "quantity": 4, + "Condition": { + "motor.id": "57AIM30" } - ] - } + }, + { + "id": "hardware-fasteners-m5-hex-nuts", + "required": true, + "quantity": 4, + "Condition": { + "motor.id": "57AIM30" + } + }, + { + "id": "hardware-fasteners-m5x40-shcs", + "required": true, + "quantity": 4, + "Condition": { + "motor.id": "iHSV57" + } + }, + { + "id": "hardware-fasteners-m5-hex-nuts", + "required": true, + "quantity": 4, + "Condition": { + "motor.id": "iHSV57" + } + }, + { + "id": "hardware-fasteners-m3x16-shcs", + "required": true, + "quantity": 4, + "Condition": { + "motor.id": "42AIM" + } + } + ] + } } \ No newline at end of file diff --git a/website/src/data/components/pcb/armpitmfg.json b/website/src/data/components/pcb/armpitmfg.json index d9630e8..e150bd9 100644 --- a/website/src/data/components/pcb/armpitmfg.json +++ b/website/src/data/components/pcb/armpitmfg.json @@ -1,56 +1,56 @@ { - "aio-cover-mount": { - "name": "AIO Cover Mount", - "description": "All-in-one cover mount for OSSM v2 AIO PCB", - "image": "https://raw.githubusercontent.com/armpitMFG/OSSM-Parts/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Images/Workspace/AIO%20PCB%20Backpack%20-%20Back%20Right.png", - "printedParts": [ - { - "id": "ossm-pcb-aio-backpack-base", - "name": "AIO PCB Backpack Base", - "description": "Base part for AIO PCB Backpack V2.3c", - "filamentEstimate": 45, - "timeEstimate": "2h", - "colour": "primary", - "required": true, - "filePath": "OSSM Mods - AIO PCB Backpack - Base V2.3c.stl", - "url": "https://github.com/armpitMFG/OSSM-Parts/blob/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Files/OSSM%20Mods%20-%20AIO%20PCB%20Backpack%20-%20Base%20V2.3c.stl?raw=true", - "vendor": { - "manifest_id": "ossm-pcb-aio-backpack-base", - "local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "pending" - } - }, - { - "id": "ossm-pcb-aio-backpack-cap", - "name": "AIO PCB Backpack Cap", - "description": "Default cap for AIO PCB Backpack", - "filamentEstimate": 15, - "timeEstimate": "45m", - "colour": "primary", - "required": true, - "filePath": "OSSM Mods - AIO PCB Backpack - Cap (Default).stl", - "url": "https://github.com/armpitMFG/OSSM-Parts/blob/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Files/OSSM%20Mods%20-%20AIO%20PCB%20Backpack%20-%20Cap%20(Default).stl?raw=true", - "vendor": { - "manifest_id": "ossm-pcb-aio-backpack-cap", - "local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "pending" - } - } - ], - "hardwareParts": [ - { - "id": "hardware-fasteners-m3x8-shcs", - "required": true, - "quantity": 4 - } - ] - } + "aio-cover-mount": { + "name": "AIO Cover Mount", + "description": "All-in-one cover mount for OSSM v2 AIO PCB", + "image": "https://raw.githubusercontent.com/armpitMFG/OSSM-Parts/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Images/Workspace/AIO%20PCB%20Backpack%20-%20Back%20Right.png", + "printedParts": [ + { + "id": "ossm-pcb-aio-backpack-base", + "name": "AIO PCB Backpack Base", + "description": "Base part for AIO PCB Backpack V2.3c", + "filamentEstimate": 45, + "timeEstimate": "2h", + "colour": "primary", + "required": true, + "filePath": "OSSM Mods - AIO PCB Backpack - Base V2.3c.stl", + "url": "https://github.com/armpitMFG/OSSM-Parts/blob/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Files/OSSM%20Mods%20-%20AIO%20PCB%20Backpack%20-%20Base%20V2.3c.stl?raw=true", + "vendor": { + "manifest_id": "ossm-pcb-aio-backpack-base", + "local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl", + "pinned_sha": "9793908c23022a3a95651ac1f2287b056b84cd3d", + "pinned_raw_url": "https://raw.githubusercontent.com/armpitMFG/OSSM-Parts/9793908c23022a3a95651ac1f2287b056b84cd3d/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl", + "checksum_sha256": "1fc1eb6947f02b6683ab5960adf6f0cb1ab4431d789dc64bca09e0d730d15990", + "last_checked": "2026-01-07T23:41:08.621523+00:00", + "status": "up-to-date" + } + }, + { + "id": "ossm-pcb-aio-backpack-cap", + "name": "AIO PCB Backpack Cap", + "description": "Default cap for AIO PCB Backpack", + "filamentEstimate": 15, + "timeEstimate": "45m", + "colour": "primary", + "required": true, + "filePath": "OSSM Mods - AIO PCB Backpack - Cap (Default).stl", + "url": "https://github.com/armpitMFG/OSSM-Parts/blob/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Files/OSSM%20Mods%20-%20AIO%20PCB%20Backpack%20-%20Cap%20(Default).stl?raw=true", + "vendor": { + "manifest_id": "ossm-pcb-aio-backpack-cap", + "local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl", + "pinned_sha": "3f67f0834755e7b7e662acf0dbf2af0c257818b3", + "pinned_raw_url": "https://raw.githubusercontent.com/armpitMFG/OSSM-Parts/3f67f0834755e7b7e662acf0dbf2af0c257818b3/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl", + "checksum_sha256": "dd76229dd480378df73eb101080c34978bb454017888004f64fc33f2c071e121", + "last_checked": "2026-01-07T23:41:13.225270+00:00", + "status": "up-to-date" + } + } + ], + "hardwareParts": [ + { + "id": "hardware-fasteners-m3x8-shcs", + "required": true, + "quantity": 4 + } + ] + } } \ No newline at end of file diff --git a/website/src/data/components/pcb/ossm.json b/website/src/data/components/pcb/ossm.json index afaeb87..c880b19 100644 --- a/website/src/data/components/pcb/ossm.json +++ b/website/src/data/components/pcb/ossm.json @@ -1,69 +1,69 @@ { - "3030-mount": { - "name": "3030 Mount", + "3030-mount": { + "name": "3030 Mount", + "description": "PCB mount for 3030 extrusion", + "image": "/images/options/3030-pcb-mount.png", + "category": "PCB Mount", + "type": "base", + "printedParts": [ + { + "id": "ossm-pcb-3030-mount", + "name": "PCB 3030 Mount", "description": "PCB mount for 3030 extrusion", - "image": "/images/options/3030-pcb-mount.png", - "category": "PCB Mount", - "type": "base", - "printedParts": [ - { - "id": "ossm-pcb-3030-mount", - "name": "PCB 3030 Mount", - "description": "PCB mount for 3030 extrusion", - "filamentEstimate": 15, - "timeEstimate": "45m", - "colour": "primary", - "required": true, - "filePath": "OSSM - PCB - 3030 Mount.stl", - "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/PCB/OSSM%20-%20PCB%20-%203030%20Mount.stl?raw=true", - "vendor": { - "manifest_id": "ossm-pcb-3030-mount", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "pending" - } - }, - { - "id": "ossm-pcb-3030-mount-cover", - "name": "PCB 3030 Mount Cover", - "description": "Cover for the 3030 mount", - "filamentEstimate": 15, - "timeEstimate": "45m", - "colour": "primary", - "required": true, - "filePath": "OSSM - PCB - 3030 Mount Cover.stl", - "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/PCB/OSSM%20-%20PCB%20-%203030%20Mount%20Cover.stl?raw=true", - "vendor": { - "manifest_id": "ossm-pcb-3030-mount-cover", - "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount Cover.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "pending" - } - } - ], - "hardwareParts": [ - { - "id": "hardware-fasteners-m6x12-shcs", - "required": true, - "quantity": 4, - "relatedParts": [ - "ossm-pcb-3030-mount" - ] - }, - { - "id": "hardware-fasteners-m6-t-nuts", - "required": true, - "quantity": 4, - "relatedParts": [ - "ossm-pcb-3030-mount" - ] - } + "filamentEstimate": 15, + "timeEstimate": "45m", + "colour": "primary", + "required": true, + "filePath": "OSSM - PCB - 3030 Mount.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/PCB/OSSM%20-%20PCB%20-%203030%20Mount.stl?raw=true", + "vendor": { + "manifest_id": "ossm-pcb-3030-mount", + "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount.stl", + "pinned_sha": null, + "pinned_raw_url": null, + "checksum_sha256": null, + "last_checked": null, + "status": "error" + } + }, + { + "id": "ossm-pcb-3030-mount-cover", + "name": "PCB 3030 Mount Cover", + "description": "Cover for the 3030 mount", + "filamentEstimate": 15, + "timeEstimate": "45m", + "colour": "primary", + "required": true, + "filePath": "OSSM - PCB - 3030 Mount Cover.stl", + "url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/PCB/OSSM%20-%20PCB%20-%203030%20Mount%20Cover.stl?raw=true", + "vendor": { + "manifest_id": "ossm-pcb-3030-mount-cover", + "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount Cover.stl", + "pinned_sha": null, + "pinned_raw_url": null, + "checksum_sha256": null, + "last_checked": null, + "status": "error" + } + } + ], + "hardwareParts": [ + { + "id": "hardware-fasteners-m6x12-shcs", + "required": true, + "quantity": 4, + "relatedParts": [ + "ossm-pcb-3030-mount" ] - } + }, + { + "id": "hardware-fasteners-m6-t-nuts", + "required": true, + "quantity": 4, + "relatedParts": [ + "ossm-pcb-3030-mount" + ] + } + ] + } } \ No newline at end of file diff --git a/website/src/data/components/remote.json b/website/src/data/components/remote.json index 866a6cf..5ccc62c 100644 --- a/website/src/data/components/remote.json +++ b/website/src/data/components/remote.json @@ -21,11 +21,11 @@ "vendor": { "manifest_id": "ossm-remote-body", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Body.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error" + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Body.stl", + "checksum_sha256": "a0c3bb663a4bba6876a89c8e0dce81d0c6c673c9fc1f4537537000576f7f9e48", + "last_checked": "2026-01-07T23:41:14.337483+00:00", + "status": "up-to-date" } }, { @@ -41,11 +41,11 @@ "vendor": { "manifest_id": "ossm-remote-top-cover", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Top Cover.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error" + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Top Cover.stl", + "checksum_sha256": "890a6b117dc6fd306b7523838ad81ae32ad4e642c90179a58d9f313b3f3c783e", + "last_checked": "2026-01-07T23:41:26.173698+00:00", + "status": "up-to-date" } } ], @@ -63,11 +63,11 @@ "vendor": { "manifest_id": "ossm-remote-knob", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error" + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl", + "checksum_sha256": "3dcf73220cecd534ea9db0d991cec1001b4495f0b9d98f71f5b0b8c68b780439", + "last_checked": "2026-01-07T23:41:15.320622+00:00", + "status": "up-to-date" } }, { @@ -102,11 +102,11 @@ "vendor": { "manifest_id": "ossm-remote-knob-simple-with-position-indicator", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Simple With Position Indicator.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error" + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Simple With Position Indicator.stl", + "checksum_sha256": "b1816680cc49d5afe57b5d4f5dabab56b5446a429d43c94d184892365bfa9330", + "last_checked": "2026-01-07T23:41:21.935568+00:00", + "status": "up-to-date" } }, { @@ -121,11 +121,11 @@ "vendor": { "manifest_id": "ossm-remote-knob-knurled", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error" + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled.stl", + "checksum_sha256": "43f68e9467d4da82e6e9aaa545e9d9eda19ef60f8173ccd7fab7fa0835e770d4", + "last_checked": "2026-01-07T23:41:16.349140+00:00", + "status": "up-to-date" } }, { @@ -140,11 +140,11 @@ "vendor": { "manifest_id": "ossm-remote-knob-knurled-with-position-indicator", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled With Position Indicator.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error" + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled With Position Indicator.stl", + "checksum_sha256": "4d06b58617b70633610c4d6fc8441eff45e751b904d7b0ecd442ea97a8bfa2a6", + "last_checked": "2026-01-07T23:41:17.344170+00:00", + "status": "up-to-date" } } ], diff --git a/website/src/data/components/stand.json b/website/src/data/components/stand.json index 47bdd48..845fc6c 100644 --- a/website/src/data/components/stand.json +++ b/website/src/data/components/stand.json @@ -23,11 +23,11 @@ "vendor": { "manifest_id": "pivot-plate", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error" + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl", + "checksum_sha256": "44a5527b613743acc394e4a6dfe89677d37c2e1c8a1537e76184812edbba0216", + "last_checked": "2026-01-07T09:38:41.826563+00:00", + "status": "up-to-date" } }, { @@ -43,11 +43,11 @@ "vendor": { "manifest_id": "pivot-plate-right", "local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl", - "pinned_sha": null, - "pinned_raw_url": null, - "checksum_sha256": null, - "last_checked": null, - "status": "error" + "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", + "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl", + "checksum_sha256": "20fba186fd8c50f08b35d57c354e62288d582ad283aa474ee271b27f08aa972a", + "last_checked": "2026-01-07T10:37:58.707054+00:00", + "status": "up-to-date" } }, { @@ -66,7 +66,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl", "checksum_sha256": "55ede7dff60a31d68159b352b5f2c63792b7a0dbe9d543a43681c3e52d229115", - "last_checked": "2026-01-07T06:30:07.525364+00:00", + "last_checked": "2026-01-07T23:40:52.301339+00:00", "status": "up-to-date" } } @@ -187,7 +187,7 @@ "pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab", "pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Extrusion Cap.stl", "checksum_sha256": "56fa9bb318cdeadc6d1698a1e6cef9371e58b0bc9c7729985bf639d8da2f25da", - "last_checked": "2026-01-07T06:30:11.578686+00:00", + "last_checked": "2026-01-07T23:40:56.344743+00:00", "status": "up-to-date" } } diff --git a/website/src/data/components/toyMounts/ossm.json b/website/src/data/components/toyMounts/ossm.json index 9f5a1d6..189d8de 100644 --- a/website/src/data/components/toyMounts/ossm.json +++ b/website/src/data/components/toyMounts/ossm.json @@ -17,7 +17,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending" + "status": "error" } }, { @@ -37,7 +37,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending" + "status": "error" } }, { @@ -57,7 +57,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending" + "status": "error" } }, { @@ -77,7 +77,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending" + "status": "error" } }, { @@ -97,7 +97,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending" + "status": "error" } }, { @@ -117,7 +117,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending" + "status": "error" } }, { @@ -137,7 +137,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending" + "status": "error" } }, { @@ -157,7 +157,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending" + "status": "error" } }, { @@ -177,7 +177,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending" + "status": "error" } }, { @@ -197,7 +197,7 @@ "pinned_raw_url": null, "checksum_sha256": null, "last_checked": null, - "status": "pending" + "status": "error" } } ],