Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Tool insert v2: entry point, retention enum, per-item labels, presets, fit coupon

Open
#262 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
three.js, typescript

Research direction

This issue is a parking space for several separate features, not a scoped implementation task. Start by reading the v1 insert in insert.ts and the referenced issues (#158, #152, #157, #170) to identify a specific open item and its dependencies. Agree on one item and its acceptance criteria before estimating or making changes.

Written by the indexing model from the issue text.

Description

deferred enhancement

Follow-up to #158, which shipped the v1 insert plate (a single insert-plate node: round/hex pockets on a centred uniform grid, one global clearance/chamfer/floor/pitch gap, friction only). The triage on #158 deliberately cut everything below; this is the parking space so the cuts don't get lost.

Open items
  1. Entry point. There is no tool-insert template, so the archetype is only reachable from inside a project (left rail → Tool insert → Enable tool-insert project). The badge (#167) got a badge-blank template in the same commit; an insert should get one, and it is the natural place for the "start from a preset library" flow.
  2. Retention as an enum — the issue's stated differentiator: friction (shipped) / magnet floor (§#152; the magnet primitive now exists in fasteners.ts) / twist-lock lobes (PETG flexure) / spring-tab. Presentation angle (vertical / deep sockets lying / 30–45°) belongs with this, not before it.
  3. Per-item embossed labels. Blocked as written: textLabels.ts::buildTextLabelOps derives its frame from computeShellDims + faceFrame, and an insert has no board and no shell, so it needs a frame-of-its-own entry point. Should also wait on #170 (per-label font/depth) so we don't build the placeholder path twice.
  4. Preset libraries + per-item measured override. "1/4-dr metric 4–14" style lists. Socket ODs are brand-specific, so this is a data problem (which library, sourced how) more than a geometry one; the solver is already per-item.
  5. Fit coupon (#157) — a one-pocket sample printed to settle clearance/chamfer, exactly as #140 did for the M5 pilot.
  6. Presentation angle / lying-deep-socket trays — a second plate cut at an angle, or a wedge under the plate.
  7. Packing. v1 is a uniform grid sized to the largest pocket, so a mixed set wastes space. A real packer (or per-size sub-grids) is a separate feature and a separate decision.
Numbers that are still defaults, not measurements

insert.ts carries clearance 0.25, chamfer 0.8, floor 1.5, pitchGap 3 as defaults the panel exposes. The issue cites +0.6 on socket-OD pockets and +0.25 generic from the reviewed generators; none of it is measured on our printer yet, and the file says so.

Ref #158, #147, #155, #157, #152, #140, #170.

Dominant language
TypeScript
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from SlyWombat/CaseMaker

All issues in SlyWombat/CaseMaker

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.