-
Notifications
You must be signed in to change notification settings - Fork 44
Comparing changes
Open a pull request
base repository: barebaric/rayforge
base: 1.8.3
head repository: barebaric/rayforge
compare: 1.8.4
- 13 commits
- 113 files changed
- 2 contributors
Commits on Jul 14, 2026
-
refactor: replace OpsProducer pipeline with assembler registry
- Remove AssemblerMeta.resolve_params in favor of Step.get_assembler_kwargs() - Replace step.assembler_name/assembler_params with ASSEMBLER_NAME ClassVar and real typed attributes on each Step subclass - Add MachineDefaults dataclass wired through the pipeline - Thread Step through pipeline instead of separate assembler_name/params - Add AssemblerRegistry with _register_laser_assemblers fallback for workers - Make task_mgr a required parameter on AddonManager, passed at construction so _build_and_update_manifest always finds shared_state - Remove set_task_manager method (redundant with constructor parameter) - Remove _ensure_assemblers_registered conftest fixture (assembler registry fallback handles it) - Step.from_dict dispatches via step_registry; workers get addon manifest through shared_state automatically - Remove _STEP_TYPE_TO_ASSEMBLER hack from compute_workpiece_artifact - Add to_dict/from_dict roundtrip and get_assembler_kwargs tests for all step subclasses - Clean up pipeline test args indices (args[7] -> args[5]) - Remove addon imports from core pipeline tests
Configuration menu - View commit details
-
Copy full SHA for 5b73275 - Browse repository at this point
Copy the full SHA 5b73275View commit details
Commits on Jul 15, 2026
-
refactor: eliminate AssemblerMeta, migrate UI widgets to step attributes
- Add orchestration ClassVars to Step base (IS_VECTOR, SPLIT_CONTOURS, SET_POWER, NORMALIZE_WINDINGS, ALWAYS_WRAP, SECTION_TYPE) and override on each Step subclass - replaces AssemblerMeta fields - Delete AssemblerMeta class entirely; AssemblerRegistry becomes a plain name -> Callable map with no param_keys filtering - Add set_step_property() helper to StepComponentSettingsWidget base for undoable step attribute writes via ChangePropertyCommand - Migrate contour, frame, shrinkwrap, wavefront, and raster widgets to read/write step attributes directly instead of opsproducer_dict - Add override_threshold, threshold to ContourStep and dither_algorithm to EngraveStep (previously only on producers) - Fix Step.from_dict to delegate to step_class.from_dict(data) so subclass attributes are deserialized correctly - Remove _register_laser_assemblers() hardcoded fallback from registry (consistent with ProducerRegistry/StepRegistry pattern) - Simplify all assembler registration calls (no AssemblerMeta wrapper) - ShrinkWrapStep imports prepare_surface directly from rayforge.image - Fix UnboundLocalError from local logger shadowing module-level logger
Configuration menu - View commit details
-
Copy full SHA for c495c70 - Browse repository at this point
Copy the full SHA c495c70View commit details -
delete producers, now replaced by step methods + assemblers
- Delete all producer files: OpsProducer, ProducerRegistry, PlaceholderProducer, and all 6 laser producer implementations (contour, frame, shrinkwrap, raster, wavefront, material_test_grid) - Remove register_producers hook spec, registration table entry, and all implementations (laser_worker, sketcher) - Move CutSide/CutOrder enums to rayforge/core/cut_side.py - Migrate material test widget + command to step attributes (no more opsproducer_dict or producer parameters) - Widget frontend passes 4 args (editor, title, page, step) — no more producer arg - Base class makes component parameter optional with default None - Add missing_step_types property to Doc (replaces missing_producer_types) - Clean up all remaining OpsProducer/opsproducer_dict/producer_registry references across tests, scripts, and hooks
Configuration menu - View commit details
-
Copy full SHA for c511aea - Browse repository at this point
Copy the full SHA c511aeaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 792f566 - Browse repository at this point
Copy the full SHA 792f566View commit details -
Add bidirectional raster scan X-offset calibration
Fixed-corner mechanical/firmware skew between left-to-right and right-to-left raster passes misaligns alternate scan rows on some machines, regardless of speed (a different case from the timing-delay skew LightBurn's speed table addresses). - Adds a bidir_x_offset_mm param to the Rasterizer producer (UI control + serialization), per engrave step rather than a single machine-wide value, since different jobs may want different corrections, and this may need to vary by speed in the future - Adds BidirScanOffsetTransformer, which shifts each right-to-left raster pass along X by that offset during gcode generation, preserving per-pixel power values for variable-power (photo) engraving - Tests the producer -> settings -> transformer wiring end-to-end, not just each piece in isolation
Configuration menu - View commit details
-
Copy full SHA for a9cee80 - Browse repository at this point
Copy the full SHA a9cee80View commit details -
Improve material test grid block isolation
- Doubles the auto-calculated overscan distance for individual test blocks, so backlash settling happens outside the visible engrave area rather than muddying whatever parameter the grid is testing - Adds Optimize to the default transformers, but disabled: its nearest-neighbor travel reordering has no concept of cell boundaries and was interleaving lines from different cells instead of engraving each one fully before moving to the next. Left toggleable rather than removed, so it's easy to compare with/without
Configuration menu - View commit details
-
Copy full SHA for d5c06cc - Browse repository at this point
Copy the full SHA d5c06ccView commit details -
Add Speed vs Offset mode to the material test grid
Extends the material test grid so users can calibrate bidir_x_offset_mm empirically: columns vary speed, rows vary offset. raygeo's generate_material_test_grid already supports grid_mode="Speed vs Offset" plus min_offset/max_offset (including scaling power with speed so darkness stays comparable across a row) -- this just plumbs an offset_range param through the producer, its preview, and the step settings widget.
Configuration menu - View commit details
-
Copy full SHA for 3f7b2a3 - Browse repository at this point
Copy the full SHA 3f7b2a3View commit details -
Merge pull request #312 from vyvcodd/feature/bidir-x-offset
Add bidirectional raster scan X-offset calibration
Configuration menu - View commit details
-
Copy full SHA for cf65c60 - Browse repository at this point
Copy the full SHA cf65c60View commit details -
Merge branch 'main' into refactor/assembler-registry-pipeline
Re-implement bidirectional raster scan X-offset calibration feature from main in the new assembler/step architecture (producers were deleted in this branch): - EngraveStep: add bidir_x_offset_mm attribute with serialization - MaterialTestStep: add offset_range attribute, pass min/max_offset to assembler, add SPEED_VS_OFFSET grid mode support - material_test_helpers: add SPEED_VS_OFFSET to GridMode enum, pass min/max_offset to draw_preview - material_test_cmd: add offset_range to _PARAM_KEYS for preview sync - raster_widget: read bidir_x_offset_mm from self.step (not producer) - material_test_grid_widget: read offset_range from self.step, fix offset handlers to use tuple signature of _update_range_param - workpiece_stage: read bidir_x_offset_mm from step.to_dict() via setdefault instead of deleted opsproducer_dict - Add BidirScanOffsetTransformer and tests from main (unchanged) - Update tests for new architecture (no opsproducer_dict references)
Configuration menu - View commit details
-
Copy full SHA for 5ecd390 - Browse repository at this point
Copy the full SHA 5ecd390View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6661d11 - Browse repository at this point
Copy the full SHA 6661d11View commit details -
Merge pull request #309 from barebaric/refactor/assembler-registry-pi…
…peline refactor: replace OpsProducer pipeline with assembler registry
Configuration menu - View commit details
-
Copy full SHA for 729dbb7 - Browse repository at this point
Copy the full SHA 729dbb7View commit details -
Configuration menu - View commit details
-
Copy full SHA for f9ea7e1 - Browse repository at this point
Copy the full SHA f9ea7e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for d37c526 - Browse repository at this point
Copy the full SHA d37c526View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 1.8.3...1.8.4