xyz-tools/gcode-preview - Open Source PR Review Scorecard

A simple GCode parser & previewer lib with 3D printing in mind. Written in Typescript.

C-Rank Grade: B (Solid) - 56/100

External PR Merge Rate: 14%

Response Time: 4h

First Timer Success: -

Frequently Asked Questions

Is xyz-tools/gcode-preview welcoming to first-time open-source contributors?

xyz-tools/gcode-preview has a recorded first-timer success rate of 0.0%. Repositories ranked B typically provide actionable feedback during code reviews and actively nurture new community contributors.

How fast can I expect code review feedback on my pull request?

Maintainers in xyz-tools/gcode-preview respond to incoming external pull requests in approximately 4.5 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 56.5 C-Rank™ score (B Tier) represent?

The C-Rank™ system evaluates GitHub projects on a 0–100 scale using real data: PR merge rates, review turnaround time, active maintainer presence, and first-time contributor success. A score of 56.5 places xyz-tools/gcode-preview in the B tier.

What is the external contributor pull request merge rate for xyz-tools/gcode-preview?

The external contributor pull request merge rate for xyz-tools/gcode-preview is 14.3%, based on public PR activity from non-core contributors.

Are there Good First Issues available in xyz-tools/gcode-preview?

xyz-tools/gcode-preview currently has 14 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

xyz-tools
xyz-tools/gcode-previewB•Solid202
GitHub
Back to Explorer
xyz-tools

xyz-tools/gcode-preview

202
InactiveB•Solid(56/100)TypeScript

A simple GCode parser & previewer lib with 3D printing in mind. Written in Typescript.

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Empathetic Technical Mentor

Warmth Score
7.5/10
Patience Score
8.2/10
Nitpick Rate
20%

Collaborative maintainer environment in xyz-tools/gcode-preview. Reviews community pull requests with focus on project quality.

What Contributors Actually Say

Discussions in xyz-tools/gcode-preview focus heavily on practical implementation feedback, code formatting standards, and issue reproduction details.

Hidden Friction Signals

Unlinked PRs without issue context and changes that fail automated test suites face the highest review friction.

Unwritten Rules

  • •1) Keep PR scope strictly aligned with the linked issue.
  • •2) Ensure local linters pass before opening a review.
  • •3) Maintain full test coverage for modified logic.

Top PR Submission Do's

  • •Ensure code complies with the project coding style
  • •Keep PRs scoped to a single concern
  • •Include context and link to the related issue

Top PR Friction Pitfalls (Don'ts)

  • •Do not submit PRs without linking an issue
  • •Do not break existing tests without fixing them
  • •Do not mix unrelated refactors in a single PR
Response Velocity
4 hours
Standard maintainer review cycle

Average Response Latency

Tracks hours until a maintainer leaves a review, comment, or PR response.

Merge Efficiency
14.3%
Selective PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
0.0%
No first-timer merges recorded in window

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
4 core
Small core review team
Diagnostic Health HUD
14.3%
Merge Gauge
0.0%
1st-Timer
Community Vibe32/100

Embed C-Rank Badge

Show contributors that your repository actively reviews and merges external pull requests.

GetMerged C-Rank badge for xyz-tools/gcode-preview
[![GetMerged C-Rank](https://getmerged.abhishekco.de/api/badge/xyz-tools/gcode-preview)](https://getmerged.abhishekco.de/xyz-tools/gcode-preview?utm_source=github&utm_medium=badge)

Active Good First Issues (5)

View on GitHub

What happens Load any preset (e.g. 3DBenchy), then drag & drop a G-code file onto the canvas. The info widget updates the file name, size, layer count and slicer, but the model credits and the thumbnail still belong to the previously selected preset. So a dropped file ends up displayed under someone else's model name, designer and license: 3DBenchy by CreativeTools CC0 - public domain dropped-test.gcode (733.57 kB) Sliced with PrusaSlicer The attribution is wrong rather than just stale, which is the part that matters — it credits a model the user did not load. Why model is only ever assigned in selectPreset() in demo/js/app.js, from preset.model. Nothing clears it on drop. The thumbnail has the same shape of problem: updateUI() sets thumbnail.value from the parser metadata, so a dropped file whose slicer embedded no thumbnail leaves the previous preset's thumbnail on screen. Suggested fix Clear the preset-derived state when a dropped file starts loading. The demo already listens for

📅 Opened Sep 14, 2026💬 1 comment
Quality: 90/100Contribute

Problem src/thumbnail.ts builds its data URL with a hardcoded prefix: const prefix = 'data:image/jpeg;base64,'; The embedded payload is not necessarily JPEG. Slicers embed different formats: PrusaSlicer/SuperSlicer write PNG (and QOI in newer versions), Bambu Studio writes PNG, some others write JPEG. Reproduction demo/gcodes/screw.gcode embeds two PrusaSlicer thumbnails (16x16 and 220x124). Loading it and reading: preview.parser.metadata.thumbnails['220x124'].src gives data:image/jpeg;base64,iVBORw0.... iVBORw0 is the base64 encoding of the PNG magic bytes \x89PNG, so the payload is PNG while the URL declares JPEG. Impact Low. Browsers sniff the content and render it anyway (the image decodes at 220x124), so it is not visible in an <img>. But any consumer that trusts the declared MIME type gets the wrong answer: saving the file with an extension derived from the type uploading it somewhere that validates the content type fetching the data URL and checking blob.type Proposed fix Dete

📅 Opened Sep 10, 2026💬 0 comments
Quality: 90/100Contribute

Set home offsets so the current position becomes the origin. Seen in: calibration workflows; rare inside print files. Behavior: equivalent to setting M206 offsets such that the current position reads as zero. Related: #434 Docs: M428

📅 Opened Sep 2, 2026💬 0 comments
Quality: 75/100Contribute

Apply a persistent offset that shifts the coordinate origin. Seen in: start gcode and configuration on Marlin/Prusa/Smoothieware. Behavior: persistent origin shift applied to subsequent moves, taking effect after homing. Gotchas: RepRapFirmware implements it as the equivalent of a negative G10 L2 offset on coordinate system 1. Related: #435, #422 Docs: M206

📅 Opened Sep 2, 2026💬 0 comments
Quality: 90/100Contribute

Interpret X/Y/Z coordinates as absolute or relative depending on mode. Seen in: every file's start gcode sets G90; G91 typically wraps Z-hops and end-gcode lifts. Behavior: mode flag for XYZ interpretation; in relative mode each move adds to the current position. Gotchas: in Marlin/Prusa, G90/G91 also affects E unless M82/M83 overrides it; on RepRapFirmware they never affect E. Related: #419, #433 Docs: G90 / G91

📅 Opened Sep 2, 2026💬 0 comments
Quality: 90/100Contribute
Looking for more TypeScript beginner tasks?Explore TypeScript GFI

Contributor Community Vibe Feedback

Rate what actually matters after opening a pull request here.

Have you contributed to this repo?

Rate your first-hand PR experience (review speed, maintainer responsiveness, and onboarding ease) to help other contributors.

3 ratings required
Maintainer helpfulness
Review speed
Beginner friendliness

Contributor Compatibility & Review Speed Analysis for xyz-tools/gcode-preview

When evaluating whether to contribute to xyz-tools/gcode-preview, response velocity and maintainer engagement are crucial. GetMerged continuously tracks pull request trajectories, first-comment latency, and code review rounds to help developers avoid submitting pull requests to backlogged repositories.

Currently, maintainers of xyz-tools/gcode-preview acknowledge new external contributions in approximately 4 hours. Out of all submitted pull requests from non-core authors in the last 180-day window, 14.3% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to xyz-tools/gcode-preview

01

Is xyz-tools/gcode-preview welcoming to first-time open-source contributors?

xyz-tools/gcode-preview has a recorded first-timer success rate of 0.0%. Repositories ranked Solid typically provide actionable feedback during code reviews and actively nurture new community contributors.

02

How fast can I expect code review feedback on my pull request?

The initial maintainer response time averages ~4 hours. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 56.5 C-Rank™ score represent?

The C-Rank™ index scores repositories on a 0 to 100 scale using an objective formula: external PR merge rates, initial response speed, active maintainer count, and first-time contributor retention. A score of 56.5 places xyz-tools/gcode-preview in the Solid tier.

04

What is the external contributor pull request merge rate for xyz-tools/gcode-preview?

The external pull request merge rate is 14.3%. GetMerged isolates non-core community contributions so external developers get an accurate benchmark of PR acceptance probability.

05

Are there beginner Good First Issues open in xyz-tools/gcode-preview?

Yes, xyz-tools/gcode-preview currently has 14 active issue(s) tagged with beginner-friendly labels. You can inspect these directly from the repository issues tab.

GetMerged C-Rank™ Indexing Standard

All metrics displayed for xyz-tools/gcode-preview are automatically retrieved via the public GitHub API and recalculated daily. Insider pull requests submitted by repository owners or organization members are excluded from merge rate calculations to preserve objective external contributor statistics.