Commit Graph
24 Commits
Author SHA1 Message Date
Jeppe Bundgaard 22fcb5cd0e - Refactor machine_1 drawing logic: optimize highlighted button rendering and deferred processing.
- Add branding management feature: API routes, payload handling, and OpenAPI schema updates.
- Implement department branding logic: CRUD operations, validation, and permissions.
- Add order deletion confirmation support with conflict handling and OpenAPI schema updates.
- Enhance tests and API methods for improved order handling and branding workflows.
2026-05-07 10:44:00 +02:00
Jeppe Bundgaard eeccacb2a7 Add unit tests for department lane dynamic image overrides and introduce classes for self-serve signal and virtual hardware management
- Add `DepartmentLaneDynamicImageRouteTest` to verify dynamic image preview handling for studio lanes.
- Introduce `selfserve_machine_signal` class to standardize signal normalization, recording, and gateway signal management workflows.
- Add `selfserve_virtual_hardware` class to handle virtual hardware configurations, including gateway and binding management.
- Enhance structure with auxiliary methods for payload normalization, workspace merging, and validation warnings.
2026-04-29 09:52:51 +02:00
Jeppe Bundgaard 8972db3469 Add optional crop functionality to drawCropOutLine in machine_1
- Update `drawCropOutLine` to accept a `crop` parameter for conditional cropping alongside outline rendering.
- Adjust crop outline coordinates for improved alignment.
- Introduce logic to calculate and apply crop dimensions when `crop` is enabled.
2026-01-29 16:03:32 +01:00
Jeppe Bundgaard 71e2519e8b Add drawLine method and refactor crop outline rendering in machine_1
- Introduce `drawLine` method in `dynamicimages_image_t` for drawing lines with customizable styles (color, thickness, dash patterns).
- Update `drawCropOutLine` in `machine_1` to use a dynamic configuration for rendering top, left, right, and bottom crop outlines.
- Refactor crop outline logic for better readability and maintainability.
2026-01-29 15:48:18 +01:00
Jeppe Bundgaard 9e58370e94 Add crop outline rendering and step counter refinement in machine_1
- Implement `drawCropOutLine` method for rendering horizontal crop outlines in machine images.
- Refactor `drawStepCounterOnButton` with dynamic font sizing and fallback handling for better text alignment.
- Add step counter rendering in top-right position for enhanced button visuals.
- Update `exampleRoute` debugging logic to integrate new `machine_1` functionality.
- Replace old debug assets with new button highlight state assets.
2026-01-29 15:18:37 +01:00
Jeppe Bundgaard db99b293de Reset current_step to 0 and update comments in machine_1 button highlighting logic 2026-01-28 19:06:04 +01:00
Jeppe Bundgaard 5171d55e1f Add only_generate_current_step logic to machine_1 rendering
- Introduce `only_generate_current_step` property to conditionally skip non-relevant button highlights during rendering.
- Update button rendering methods to respect the `only_generate_current_step` flag for improved efficiency.
- Adjust logic in `drawHighlightedButtons` and related functions to check current step before drawing assets.
2026-01-28 19:02:30 +01:00
Jeppe Bundgaard 7247da5e21 Add start button rendering and update highlighted button logic in machine_1
- Introduce `drawHighlightedStartButton` method for dynamic rendering of the start button with step indicators.
- Add new constants for `IMAGE_BUTTON_HIGHLIGHTED_GREEN`, `IMAGE_BUTTON_HIGHLIGHTED_GREY`, and `IMAGE_BUTTON_HIGHLIGHTED_COMPLETED`.
- Refactor `getHighlightedAssetName` to provide conditional asset selection based on step completion.
- Implement `drawStepThumb` for rendering step indicators on the washing thumb.
- Adjust highlighted button logic to dynamically incorporate step counts and completion states.
- Add new assets for highlighted button states (`completed`, `green`, `grey`).
2026-01-28 18:11:52 +01:00
Jeppe Bundgaard 0357c478b4 Remove debug guides and finalize badge positioning in machine_1
- Remove temporary debug crosshair overlays after calibration.
- Refine badge positioning with calibrated inset adjustments.
- Confirm optical centering for better visual alignment.
2026-01-28 16:47:36 +01:00
Jeppe Bundgaard ab7bd4c2da Calibrate badge positioning and add debug guides in machine_1
- Adjust badge center calculations for improved alignment based on asset layout.
- Temporarily disable optical nudge calibration for badge centering.
- Add debug crosshair overlays to validate badge and text anchor points during rendering.
2026-01-28 16:46:04 +01:00
Jeppe Bundgaard 220eda5cb5 Refactor step counter rendering for machine_1 buttons
- Redesign badge positioning with dynamic calculations for better alignment.
- Implement optical centering and text-size adjustments based on badge dimensions.
- Improve font size optimization with iterative refinement and fallback handling.
2026-01-28 16:35:34 +01:00
Jeppe Bundgaard 790e0fbeec Normalize color handling and enhance text overlay logic
- Add `normalizeColor` method in `dynamicimages_asset_t` for consistent color input handling across strings, arrays, and defaults.
- Update text overlay to use the new `normalizeColor` method, improving flexibility and robustness.
- Refactor `machine_1` button step counter to calculate font size dynamically and use RGBA colors.
- Adjust `drawStepCounterOnButton` to improve text alignment and styling.
2026-01-28 16:16:53 +01:00
Jeppe Bundgaard 24b1d410c0 Add text overlay support and enhance font handling in dynamicimages
- Introduce `addTextOverlay` method in `dynamicimages_asset_t` for adding customizable text overlays with alignment and styling options.
- Add `getFontPath` method in `dynamicimages_image_t` for resolving font paths under the shared assets directory.
- Refactor `machine_1` to use `drawStepCounterOnButton` for adding dynamic step counters to buttons.
- Rename and relocate `AlfaSlabOne-Regular.ttf` under `assets/fonts`.
2026-01-28 16:07:03 +01:00
Jeppe Bundgaard f158fa7120 Add reset button rendering and refine highlighted button logic in machine_1
- Introduce `drawHighlightedResetButton` method for dynamically rendering the reset button with text overlay.
- Add `IMAGE_BUTTON_HIGHLIGHTED_BLUE` constant and update asset usage for reset button rendering.
- Refine highlighted button positioning with per-row spacing adjustments and configurable highlight states.
- Add `getNextButtonStepCount` method for tracking button steps during rendering.
2026-01-28 15:56:50 +01:00
Jeppe Bundgaard d03151c426 Add highlighted button rendering to machine_1 layout
- Introduce `drawHighlightedButtons` method for drawing button grids based on configurable rows, columns, and spacing.
- Add new constants for button size, spacing, and grid dimensions.
- Update asset usage to include `machine_1_button_highlighted_transparent`.
2026-01-28 14:57:44 +01:00
Jeppe Bundgaard a2dc4da2bf Refactor machine_1 rendering logic and add new assets
- Replace `IMAGE_WASH_PROGRAMS` with `IMAGE_PROGRAMS_WHEEL` and add `IMAGE_BUTTON_HIGHLIGHTED`.
- Introduce `drawProgramWheel` and `drawThumb` methods for improved modularity.
- Adjust thumb properties (`$thumb_position`, `$thumb_size`) and refine positioning logic.
- Update asset loading to include the new `machine_1_button_highlighted_transparent` asset.
2026-01-28 14:27:06 +01:00
Jeppe Bundgaard 43eeb14099 Update machine_1 default thumb position and adjust thumb X-coordinate positioning
- Set `$thumb_position` default value to `10` for improved alignment.
- Tweak thumb X-coordinate from `620` to `650` for better rendering consistency.
2026-01-27 15:04:17 +01:00
Jeppe Bundgaard 2e7376f00a Add centered asset drawing support and refine image transformations
- Introduce `drawAssetCentered` method in `dynamicimages_image_t` for drawing assets visually centered on specified coordinates.
- Reset virtual canvas/page after image rotation in both `dynamicimages_asset_t` and `dynamicimages_image_t` to ensure consistent positioning.
- Update `machine_1` logic to use `drawAssetCentered` for improved thumb drawing and dynamic pivot alignment.
- Adjust thumb rotation calculations and positioning logic for better visual rendering.
2026-01-27 14:56:58 +01:00
Jeppe Bundgaard 493b4a2d6e Add resize method to dynamicimages_asset_t and enhance machine_1 thumb rendering
- Introduce `resize` method in `dynamicimages_asset_t` for resizing assets in memory with or without aspect ratio preservation.
- Refine `machine_1` rendering logic to dynamically calculate and apply thumb width based on height.
2026-01-27 14:10:45 +01:00
Jeppe Bundgaard ee305757f2 Implement in-memory asset manipulation and enhance machine_1 drawing logic
- Add in-memory asset handling to `dynamicimages_asset_t` with methods for loading, rotating, cloning, and clearing `Imagick` instances.
- Update `dynamicimages_image_t` to use in-memory images when available for dynamic asset composition.
- Replace thumb reference in `machine_1` with new `machine_1_wash_programs_thumb_standalone_transparent` asset.
- Enhance `machine_1` to resize rotated thumb dynamically while drawing.
2026-01-27 12:35:50 +01:00
Jeppe Bundgaard 3cea9659cb Add servePicture method to dynamicimages_image and update machine_1 with thumb rotation logic
- Introduce `servePicture` method to `dynamicimages_image_t` and its interface.
- Add `$thumb_position` property and `getRotationThumbPosition` method to `machine_1`.
- Update `drawAsset` logic in `machine_1` to apply rotated thumb for dynamic rendering.
2026-01-27 12:22:13 +01:00
Jeppe Bundgaard d7705b8f34 Add support for dynamic image composition with Imagick in dynamicimages module
- Update `Dockerfile` to install `Imagick` dependencies and enable the extension.
- Enhance `dynamicimages_image_t` with canvas lifecycle methods (`initImageCanvas`, `clearImage`, etc.), transformations (`resize`, `crop`, `rotate`, etc.), and explicit asset compositing.
- Extend `dynamicimages_image_i` interface with corresponding method signatures.
- Refactor `machine_1` to utilize dynamic image canvas and layered asset drawing.
2026-01-27 12:05:53 +01:00
Jeppe Bundgaard e2521e222f Enhance dynamicimages module with refined asset management and image path configuration
- Update `dynamicimages_asset` constructor to prepend working directory to paths.
- Add helper methods (`getPath`, `getWidth`, `getHeight`) to `dynamicimages_asset`.
- Extend `dynamicimages_image_t` trait with debugging and path configuration utilities.
- Refactor asset path handling in `machine_1` with constants for image files.
- Load `dynamicimages` interfaces, traits, classes, helpers, and configurations in `index.php`.
2026-01-27 11:21:07 +01:00
Jeppe Bundgaard f1f7ba1d46 Introduce dynamicimages module for managing dynamic image assets
- Add core `dynamicimages_c` class for module configuration and management.
- Implement asset management with `dynamicimages_asset` class and related interface/traits.
- Add support for image operations via `dynamicimages_tool` enum.
- Include `dynamicimages_image` class for handling grouped assets with path configuration.
- Introduce `machine_1` image example with associated assets under `dynamicimages`.
2026-01-27 11:07:30 +01:00