Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 7, 2025

Pull Request Checklist

  • Have you added an explanation of what your changes do and why you'd like to have them included?
  • Have you checked to ensure there aren't any other open pull requests for the same change/update?
  • Have you made sure the code is properly formatted and consistent with the existing code style?
  • Have you commented the code, particularly in the hard-to-understand areas?
  • Have you made corresponding changes to the documentation?

Description

Comprehensive research on integrating resin printing (SLA/DLP/LCD) support based on analysis of the MinceSlicer repository. No implementation—purely research and architectural recommendations.

Research Deliverables

Core Documents

Key Findings

Fundamental difference: Resin outputs rasterized PNG layers in ZIP archives vs FDM's vector G-code toolpaths. Requires raycasting instead of path planning.

Recommended architecture: Dual-mode slicer with printMode parameter

// FDM (existing, unchanged)
const slicer = new Polyslice({ filament: pla });
const gcode = slicer.slice(mesh);  // string

// Resin (proposed)
const slicer = new Polyslice({ 
  printMode: "resin",
  printer: new ResinPrinter("AnyCubicPhotonMono")
});
const zipData = slicer.slice(mesh);  // Uint8Array

Dependencies identified:

  • three-mesh-bvh - Fast BVH raycasting
  • fast-png - Efficient PNG encoding
  • jszip - ZIP archive creation

Timeline estimate: 4-7 weeks for working prototype (Phases 1-3), 10-14 weeks for production with advanced features.

Implementation Strategy

  1. Phase 1: Foundation (1-2 weeks) - Config classes, printer profiles, dependencies
  2. Phase 2: Basic Slicer (2-3 weeks) - Raycasting, PNG generation, pipeline
  3. Phase 3: Output (1-2 weeks) - Metadata G-code, ZIP packaging, exporters
  4. Phase 4: Advanced (4-6 weeks, optional) - Anti-aliasing, relief textures, format converters

Zero breaking changes. FDM remains default behavior. Shares loaders, preprocessing, and configuration infrastructure.

Value Proposition

Makes Polyslice the only three.js library supporting both FDM and resin printing—complete 3D printing solution for JavaScript ecosystem.

Original prompt

At some point I would like to add support for 3D printing techniques other than just FDM. The next most likely candidate for support would be resin printing. I have seen this repo (https://github.com/yomboprime/MinceSlicer) made by yomboprime that does something similar to Polyslice but for resin printing rather than FDM. Do you think you could study this repo for me and provide some recommendations/insight on how we could add/integrate support for resin printing into Polyslice?


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI self-assigned this Dec 7, 2025
Copilot AI and others added 2 commits December 7, 2025 13:26
- Created detailed research document analyzing MinceSlicer repository
- Documented key differences between FDM and resin printing
- Provided architectural recommendations for dual-mode slicer
- Created executive summary for quick reference
- Added code examples showing proposed API design
- Updated documentation index
- All existing tests passing (504 passed)

Co-authored-by: jgphilpott <[email protected]>
- Created main overview document (RESIN_PRINTING_README.md)
- Provides quick access to all research documents
- Summarizes key findings and recommendations
- Includes decision points and next steps
- Documents success metrics and migration path
- Stored key architectural insights to memory

Co-authored-by: jgphilpott <[email protected]>
Copilot AI changed the title [WIP] Research integration of resin printing techniques Research and recommendations for resin printing (SLA/DLP/LCD) support Dec 7, 2025
Copilot AI requested a review from jgphilpott December 7, 2025 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants