﻿#================================================================================
# TraceFab 0.8.2 Public Beta
# From PCB Design to CNC G-code
# https://trace-fab.com
#================================================================================

VERSION
-----------------------------------------
Current version: 0.8.2 (Public Beta)


ABOUT TRACEFAB
-----------------------------------------
TraceFab is an independent Windows desktop CAM application for makers and small
workshops that manufacture two-layer PCBs with a CNC machine.

TraceFab imports PCB design and manufacturing files, previews the interpreted
board geometry, calculates CNC toolpaths, builds an ordered manufacturing job,
validates the configured operations, and exports CNC-ready G-code.

Version 0.8.2 supports:
- Direct KiCad 9 and KiCad 10 .kicad_pcb import
- Gerber RS-274X copper and board-outline import
- Excellon drill-file import

TraceFab is currently beta software. Always inspect the imported board, validate
the manufacturing job, review the generated G-code, and perform a safe dry run
before machining a PCB.


INSTALLATION
-----------------------------------------
TraceFab is available as an installer and as a portable ZIP package.

Installer edition:
1. Visit https://trace-fab.com/#download
2. Download TraceFabSetup.exe.
3. If your browser warns that the download is uncommon, verify that it came from
   the official TraceFab website before choosing to keep it.
4. Run the installer and follow the setup wizard.
5. Launch TraceFab from the Start menu or desktop shortcut.

Portable edition:
1. Download the portable ZIP from the official TraceFab website.
2. Extract the complete ZIP to a writable folder.
3. Keep all extracted files together.
4. Launch TraceFab.exe from the extracted folder.

Do not run TraceFab directly from inside the ZIP archive.


WINDOWS SECURITY
-----------------------------------------
TraceFab is currently unsigned beta software. Windows, Microsoft Defender,
SmartScreen, or Smart App Control may display a warning because the application
does not yet have a commercial code-signing reputation.

Only download TraceFab from the official website. If Windows blocks the program,
review the displayed file and publisher information before deciding whether to
continue. Never disable Windows security globally to install TraceFab.


FIRST START AND BETA ACTIVATION
-----------------------------------------
TraceFab can request a free beta activation from Help > Activation.

- A new computer can request a free Trial/Beta license.
- A downloaded Pro license must belong to the computer on which it is used.
- Version 0.6.3 introduces updated license validation. Users upgrading from an
  earlier version may need to reactivate once.
- If the Activation form reports a fingerprint mismatch, the license belongs to
  another computer. Request or download the correct license for that computer.
- If no license files are present, use the Activation form to request a beta
  license or import the matching TraceFab.license and TraceFab.signature files.

Do not edit either license file. The license and signature must remain a matching
pair.


SUPPORTED WORKFLOW
-----------------------------------------
1. Import a KiCad PCB or a Gerber/Excellon file set.
2. Inspect the Top, Bottom, Drill/Excellon, and Edge Cut previews.
3. Confirm the board dimensions and PCB thickness.
4. Select or create the required tools in the Tool Library.
5. Calculate the required CAM operations.
6. Add alignment pins and select a suitable origin for double-sided boards.
7. Add the operations to the Manufacturing sequence in machining order.
8. Validate the job and resolve reported configuration problems.
9. Generate the G-code files.
10. Review the G-code in a trusted viewer or controller simulator and perform a
    dry run before cutting.


CURRENT FEATURES
-----------------------------------------
Import and board preview:
- KiCad 9 and KiCad 10 .kicad_pcb import
- Gerber RS-274X import wizard
- Excellon drill-file import
- Two-layer Top and Bottom PCB workflows
- Separate layer, drill, and edge-outline preview controls
- Board-dimension and origin configuration
- Copper pad, trace, via, zone, drill, and board-outline visualization
- KiCad custom Top and Bottom silkscreen-layer interpretation
- Polygonized silkscreen surfaces with layer-aware preview rendering

CAM operations:
- Copper isolation contouring
- Configurable contour cut side and tool offsets
- PCB drilling from imported drill information, with an operator-adjustable
  extra depth below the PCB
- Edge milling with configurable cut depth and multiple passes
- Automatic bridge gaps/tabs for edge milling
- Manual bridge-gap drawing and editing
- Alignment-pin generation for double-sided PCB positioning, including an
  operator-adjustable pin drill depth
- Solder-mask removal toolpaths for supported imported PCB data
- Multi-pass milling for solder-mask removal with an optional additional depth
  increment for every pass
- Laser solder-mask ablation with concentric, horizontal-raster, and
  vertical-raster toolpaths
- Configurable laser beam diameter, pass overlap, pass count, controller power
  value, and XY feed rate
- Laser silkscreen toolpaths using Stencil Outline, Centerline, or Surface
  Removal strategies
- Configurable silkscreen width override, beam diameter, Z delta, overlap,
  passes, laser power, and feed rate

Manufacturing and G-code:
- Tool Library for engraving, drilling, and cutting tools
- Drag-and-drop manufacturing sequence
- Top and Bottom operation support
- Unit, origin, depth, feed, spindle, and safe-movement settings
- Manufacturing validation and operation status overview
- Live manufacturing validation after sequence changes
- Favorite alignment-pin origin selection and four-pin Mirror X guidance
- G-code generation for the configured CNC workflow
- Configurable sequence-aware G-code filenames and a default G-code export
  folder
- Configurable preamble/postamble and post-processing settings
- Laser operations routed through the active post-processor profile's Laser
  Start and Laser Stop program blocks

Interface and support:
- Zoom, mouse/keyboard pan, layer visibility, and preview controls
- Configurable UI colours and import settings
- Initial persistent Program Settings workflow for connected user preferences,
  file locations, and G-code filename formatting
- Optional inverted mouse-wheel zoom
- News panel for release and project announcements
- Integrated Help > User Manual
- Installer and portable distributions


LASER SOLDER-MASK ABLATION (BETA)
-----------------------------------------
TraceFab 0.8.2 provides a production workflow for removing solder mask with a
laser mounted on, or used alongside, a CNC machine.

Available:
- A Laser Calibration window with a power/feed matrix and overlap test pattern
- An Ablation Calculator that estimates the required optical power for a target
  raster energy density in J/mm2
- Concentric, inside-out solder-mask ablation for pads and vias
- Horizontal and vertical raster ablation for pads and vias
- Configurable beam diameter, pass overlap, number of passes, laser power value,
  and XY feed rate
- Laser Start and Laser Stop program blocks in Custom Post-Processor profiles
- Manufacturing sequencing, validation, preview, and G-code export for laser
  solder-mask operations

Important controller notes:
- Laser Power is the raw value expected by the active controller and is not
  assumed to be a percentage. For example, one controller may use 0-100 while
  another uses a different numeric range.
- Built-in profiles provide common M3/S and M5 examples. Create and test a custom
  profile when the controller requires other commands, ports, or PWM syntax.
- Focus Z is an operator reminder used during calibration. Production laser
  toolpaths contain XY motion only, although a configured program footer may
  still emit Safe Z or other machine-specific commands.
- If the laser workflow must never move Z, verify the complete generated program
  and remove Z motion from the applicable custom profile blocks.

Current scope:
- Concentric, Horizontal Raster, and Vertical Raster are available production
  patterns. Every generated program still requires machine-specific review.
- Laser Calibration has its own focused G-code export workflow and is not added
  to the Manufacturing sequence.

Laser output can cause eye injury, burns, fire, toxic fumes, or machine damage.
Use appropriate enclosure, extraction, certified eye protection, supervision,
and a controller-tested emergency stop. Always begin with a safe power setting,
review the G-code, and perform a controlled test on scrap material.


LASER SILKSCREEN WORKFLOW (BETA)
-----------------------------------------
TraceFab 0.8.2 introduces a KiCad silkscreen workflow intended for laser marking,
ablation, and experimental stencil production.

Available:
- Configurable KiCad custom-layer names for Top and Bottom silkscreen artwork
- Interpretation of KiCad silkscreen lines, arcs, circles, rectangles, polygons,
  curves, and text
- Footprint-relative coordinate conversion and Top/Bottom text handling
- Polygonized silkscreen surfaces shared by preview and toolpath generation
- Layer-aware silkscreen rendering in the main board viewport
- Stencil Outline, Centerline, and Surface Removal strategies
- Width override, laser beam diameter, power, feed, overlap, passes, and a
  silkscreen Z delta relative to the normal ablation focus
- Manufacturing sequencing, validation, preview, and laser G-code export

The result depends strongly on the laser focus, material, coating, controller,
and selected strategy. Treat this workflow as beta and test it on scrap material
before using it on a finished PCB.


CUSTOM POST-PROCESSOR PROFILES (BETA)
-----------------------------------------
Version 0.7.0 expands the Custom Post-Processor workflow for controller testing.
Built-in profiles remain protected, while custom Generic ISO and MAXMAKE-derived
profiles use the editable production renderer and final-output formatter.

Available and tested:
- Selectable built-in Generic ISO and MAXMAKE profiles
- Save As, Save, Use Profile, Delete, and persistent JSON custom profiles
- Editable Program Header, Tool Change, Spindle Start, Spindle Stop, and Program
  Footer blocks
- Dynamic operation comments through the editable Operation Comment template
- Two locked First Move After Tool Change orders: Safe Z then XY, or XY then
  Safe Z
- Configurable decimal places and optional suppression of trailing zeros for
  placeholders and X/Y/Z/I/J/F motion values
- Configurable LF/CRLF output, line numbering with start and increment values,
  and blank-line retention
- Optional polygon compression for contouring; 0 disables compression
- Active-profile file extensions in the Manufacturing export dialog
- Custom profiles derived from Generic ISO or MAXMAKE are both routed through
  CustomProfileProgram; protected built-ins retain their dedicated programs

Comment policy:
- Normal generated comments follow the selected comment style and template.
- No comments suppresses normal generated operation comments.
- Basic-mode license limits that omit CNC operations always produce a mandatory
  G-code comment so restricted output is clearly explained.

Not yet connected to production G-code:
- Motion Command templates. The tab is intentionally read-only and marked for a
  future release.
- The Preview & Validation tab remains a deterministic demonstration and does
  not yet execute the complete production generation path.
- Automatic separate-file export per tool or operation

GRBL/grblHAL pre-release testing:
1. Select Generic ISO and create a custom copy with Save As.
2. Edit the Tool Change block and remove unsupported T and M6 commands.
3. For a multi-tool job, retain a controller-supported manual pause/tool-change
   sequence. Never silently continue into the next operation with the wrong
   tool installed.
4. Select Safe Z then XY unless the specific controller requires another tested
   order.
5. Save the profile, click Use Profile, and generate a new G-code file.
6. Inspect the complete file in a trusted viewer and perform a safe dry run
   before machining.

Automatic separate-file export per tool or operation is not implemented yet.
Operators remain responsible for verifying every tool transition in a multi-tool
program.


VERSION 0.8.2 PUBLIC BETA HIGHLIGHTS
-----------------------------------------
- Added a complete beta KiCad silkscreen path from configurable custom layers to
  primitives, polygonized surfaces, viewport rendering, calculated toolpaths,
  Manufacturing operations, and G-code.
- Added Stencil Outline, Centerline, and Surface Removal silkscreen strategies.
- Added layer-aware Top and Bottom silkscreen preview and corrected several
  footprint, text-orientation, mirroring, glyph-placement, and pad-transform
  issues discovered during real-board testing.
- Added an Ablation Calculator based on target raster energy density in J/mm2,
  beam diameter, feed rate, overlap, and available optical power.
- Added Horizontal Raster and Vertical Raster patterns for laser solder-mask
  removal alongside the existing Concentric strategy.
- Added multi-pass milling for solder-mask removal, including a configurable
  additional Z-depth increment for every pass.
- Refined solder-mask laser and milling previews, toolpaths, settings, form
  layouts, and G-code behavior.
- Started the persistent Program Settings workflow and connected the first
  production preferences: favorite alignment pin, inverted mouse-wheel zoom,
  G-code filename formatting, and default G-code export folder.
- Added a sequence-aware filename generator with placeholders for job type,
  layer, mirroring, date/time, and tool properties. Multi-operation filenames
  now preserve the individual sequence order and mirrored state.
- Added persistent default-location fields and folder browsers for G-code export
  and future import workflows.
- Added manufacturing validation results with PASS, WARNING, and FAIL states,
  refreshed automatically when operations are added or removed.
- Added warnings for mixed Top/Bottom sequences and mirrored four-pin alignment
  setups, including the need to use the mirrored origin pin.
- Added automatic selection of a preferred alignment-pin origin when that pin is
  available, with a safe Lower Left fallback otherwise.
- Improved the Manufacturing validation/status layout and prevented the results
  grid from behaving like an editable/selectable operation grid.
- Added keyboard viewport panning and optional inverted mouse-wheel zoom.
- Improved scalable WinForms layouts, Designer editability, tooltips, lock
  notices, and high-DPI behavior across Gerber Import, CAM Parameters,
  Solder Mask, Silkscreen, Program Settings, and Manufacturing forms.
- Removed the unused solder-mask Gerber rows from the active import workflow;
  solder-mask removal currently continues to use the interpreted pad and via
  geometry.
- Added and expanded geometry regression checks for silkscreen conversion,
  toolpaths, solder-mask patterns, manufacturing validation, and filenames.
- Fixed multiple geometry, rendering, coordinate-normalization, origin,
  mirroring, UI-scaling, and G-code-generation defects found during practical
  PCB manufacturing tests.


RELEASE HISTORY
-----------------------------------------
v0.8.2 public beta
- Added the KiCad silkscreen surface, preview, toolpath, Manufacturing, and
  G-code workflow.
- Added solder-mask raster patterns, multi-pass milling, and the laser Ablation
  Calculator.
- Introduced persistent Program Settings, favorite-origin behavior,
  manufacturing validation, and sequence-aware G-code filenames.
- Improved import-to-G-code guidance, UI scaling, rendering, mirroring, and
  practical manufacturing reliability.

v0.8.0 public beta
- Added production laser solder-mask ablation and laser calibration workflows.
- Added controller-specific Laser Start/Stop post-processor blocks.
- Added configurable laser geometry and motion parameters.
- Expanded CAM form persistence, scaling, rendering, and toolpath generation.

v0.7.0 public beta
- Expanded Custom Post-Processor production support and final-output settings.
- Added custom MAXMAKE-derived routing through CustomProfileProgram.
- Added numeric precision, comments, line endings, line numbering, blank-line
  handling, polygon compression, and profile-specific export extensions.
- Preserved protected Generic ISO and MAXMAKE built-in output paths.

v0.6.6-beta pre-release
- Experimental Custom Post-Processor workflow for early controller testing.
- Built-in Generic ISO and MAXMAKE output profiles.
- Initial GRBL/grblHAL testing path through a Generic ISO custom profile.
- Custom profiles based on MAXMAKE were not supported in this pre-release.

v0.6.2
- Licensing validation and activation reliability update.
- Alignment Pins, drilling-depth, and Edge Cut stability fixes.
- Clearer per-operation depth controls and improved Drill Setup usability.
- Manufacturing and documentation improvements.

v0.6.x
- Added Gerber RS-274X and Excellon import workflows.
- Expanded two-layer CAM and manufacturing functionality.
- Added the TraceFab User Manual.

v0.5.x
- Added KiCad 10 support and expanded PCB geometry processing.
- Added copper-zone handling and CAM workflow improvements.
- Added portable distribution support.

v0.4.0
- Fixed through-hole pad rendering and via rendering order.
- Improved DataGrid layouts, toolbar icons, and dialog spacing.

v0.3.0
- Improved display scaling from Full HD to 4K screens.

v0.2.0
- Fixed UI menu buttons.

v0.1.0
- Initial beta release.


KNOWN LIMITATIONS
-----------------------------------------
- TraceFab currently focuses on two-layer PCB manufacturing.
- Gerber projects currently require a usable board-outline/Edge Cut file for the
  complete workflow.
- Gerber solder-mask import is not yet available.
- Some Gerber board outlines containing polygonized Bézier curves or unusual
  outline constructions may not yet import correctly.
- Complex custom KiCad footprint graphics may require additional support.
- Project save/restore is not yet complete. Keep the source PCB and manufacturing
  files available and verify the active job after reopening TraceFab.
- Built-in G-code simulation is not yet available. Use an external trusted viewer
  or controller simulator.
- High-DPI layouts may still require improvement at some Windows scaling levels.
- Gerber silkscreen import is not yet connected to the production silkscreen
  surface/toolpath workflow. The current silkscreen workflow uses KiCad data.
- Several Program Settings tabs are foundations for future functionality and are
  visibly marked as under construction. Only connected settings affect runtime
  behavior.
- Laser controller commands and power ranges are machine-specific. A custom
  post-processor profile may be required and must be verified by the operator.

If an import fails, please keep the original source files and report the problem
through Discord or email so the parser can be improved.


ROADMAP
-----------------------------------------
Priority development:
- Complete and improve Gerber/Excellon compatibility.
- Support more complex custom footprints and board-outline shapes.
- Improve Gerber Bézier/polygon outline handling and optional via detection.
- Add isolation hatching for large copper areas.
- Improve regional and imperial number-format compatibility.

Manufacturing workflow:
- Expand manufacturing validation and safety checks.
- Add reusable manufacturing recipes and automated job creation.
- Add printable manufacturing summaries and operator checklists.
- Evaluate safe per-job CNC overrides.
- Add an integrated G-code preview and simulation viewer.

Usability:
- Improve high-DPI and 4K scaling.
- Improve beta activation guidance and onboarding.
- Add more tutorials, demonstrations, and packaged release notes.


SAFETY NOTICE
-----------------------------------------
CNC machines and cutting tools can cause injury or equipment damage. TraceFab's
preview and validation features are advisory and cannot guarantee that generated
G-code is safe for every machine, controller, tool, or workholding setup.

Lasers add serious eye, skin, fire, and fume hazards. Use suitable guarding,
extraction, certified eye protection, supervision, and tested emergency controls.

The operator remains responsible for checking units, origin, mirroring, tool
assignments, spindle speeds, feed rates, cutting depths, Safe Z, travel limits,
board-flip alignment, and the final G-code before starting the machine.


SUPPORT
-----------------------------------------
Website:
https://trace-fab.com

Discord community:
https://discord.gg/wT49aXbFYZ

Email:
info@tracefab.com

#================================================================================
# End of TraceFab 0.8.2 Public Beta README
#================================================================================
