37 Commits

Author SHA1 Message Date
CNCKitchen ce5b040972 Merge PR #29: refactor(i18n): split translations into per-language files with lazy loading; add French
- Split monolithic i18n.js into per-language files under js/i18n/
- Lazy-load translations via dynamic import() with caching
- Add French (fr) language support
- Add error handling in _loadLang with English fallback
- Remove duplicated lang.name from per-language files (registry is single source of truth)
- Add dev-time key validation (warns on localhost when keys are missing vs en.js)
- Add missing alerts.fileTooLarge key from main to all language files
- Await async initLang() in main.js (supported by type=module)
2026-04-07 10:46:35 +02:00
CNCKitchen e5a4b53b81 Merge PR #17: Performance 2-3x faster pipeline, spatial brush index, fix VRAM leaks, bug fixes, default resolution to 1/250 diagonal 2026-04-07 09:51:28 +02:00
CNCKitchen 498581d8cf feat: enhance language selection and boundary falloff features
- Added a language dropdown selector to replace the previous button-based language toggle.
- Integrated boundary falloff settings into the preview material, allowing for smoother transitions between masked and unmasked areas.
- Updated shaders to utilize boundary falloff attributes for improved visual fidelity in bump-only previews.
- Refactored related CSS styles for the new dropdown and adjusted layout for better usability.
- Introduced new functions for computing boundary attributes and managing edge data textures.
2026-04-07 09:48:45 +02:00
SirMcPotato 35d02e74f6 refactor(i18n): lazy-load per-language files on demand 2026-04-07 02:43:37 +02:00
SirMcPotato 6f63a10609 feat(i18n): add French translations 2026-04-07 02:20:03 +02:00
CNCKitchen 16f5e96751 Update boundaryFalloff setting and add panel subsection heading styles
- Changed boundaryFalloff from 1 to 0 in main.js settings for improved behavior.
- Added new languages ES, PT, JP
2026-04-06 20:16:19 +02:00
CNCKitchen 47cc55e5ce fix(i18n): add missing trailing commas in boundary falloff translations (EN, DE) 2026-04-06 14:16:44 +02:00
CNCKitchen e2c90ba7a6 feat(i18n): add Italian translations for Boundary Falloff 2026-04-06 14:07:10 +02:00
CNCKitchen da4cf54e41 Merge branch 'pr/LightDestory/6' into develop 2026-04-06 13:51:21 +02:00
CNCKitchen f39b4b088b Merge branch 'pr/AndrewSink/1' into develop
# Conflicts:
#	js/i18n.js
#	js/main.js
#	js/previewMaterial.js
2026-04-06 13:39:58 +02:00
CNCKitchen 65106482c1 resolved merge issue 2026-04-06 13:23:11 +02:00
Avatarsia 689c192a89 fix: spatial index, decimation overflow, input validation, accessibility
Round 2 of performance and correctness improvements:

- Spatial grid index for brush painting: forEachTriInSphere now queries
  only nearby grid cells instead of scanning all triangles. ~5.7x faster
  for brush operations on 68k+ tri meshes.

- Decimation overflow fix: hasLinkViolation used a fixed 0x200000
  multiplier for vertex-pair keys, overflowing at >2M vertices.
  Now uses dynamic multiplier based on actual vertex count.

- Decimation determinant threshold: solveQ used absolute 1e-10 which
  fails for large coordinates. Now relative to matrix element magnitude.

- 3MF triangle index validation: bounds-check all parsed indices against
  vertex count, throw clear error on corrupt files instead of silent NaN.

- File size limit: reject files >500 MB before loading into memory,
  prevents browser tab crash on oversized files.

- Accessibility: preset swatches now keyboard-navigable (role=button,
  tabindex=0, Enter/Space to select). Modal dialogs trap focus and
  close on Escape.

- Ctrl+click straight line tool: click to set start point, Ctrl+click
  to paint a straight line between points. Ctrl+hover shows preview.

- Precision masking available for radius brush mode.

- Spatial grid rebuilt when entering/leaving precision mode.
2026-04-06 05:14:23 +02:00
CNCKitchen d99c97fb24 feat: update README and add GitHub links in header and license section 2026-04-05 13:45:16 +02:00
Alessio Tudisco bb18296dae refactor: improve italian translation 2026-04-05 01:35:27 +02:00
Alessio Tudisco cfa9c34962 feat: add italian language 2026-04-05 00:36:12 +02:00
CNCKitchen dcbdf344ac feat: add imprint and privacy policy modal with translations 2026-04-04 13:38:15 +02:00
CNCKitchen 1c58ebcc80 feat: added a precision mode for masking 2026-04-03 14:11:40 +02:00
CNCKitchen ccf77c988a feat: increase triangle safety cap to 20M and enhance progress reporting during subdivision 2026-04-02 15:14:53 +02:00
CNCKitchen 88ab1747e7 feat: add texture smoothing feature and update translations for UI consistency 2026-03-31 17:25:24 +02:00
CNCKitchen 76eb1c7998 feat: support loading multiple model formats (.stl, .obj, .3mf) and update UI accordingly 2026-03-28 16:30:41 +01:00
CNCKitchen b0d25f4006 rebranding to BumpMesh 2026-03-27 09:38:59 +01:00
CNCKitchen 475945a799 Refactor code structure for improved readability and maintainability 2026-03-25 08:03:22 +01:00
CNCKitchen 0cff3f8d10 feat: update store call-to-action with new support options and styling 2026-03-23 09:26:01 +01:00
Andrew Sink 27306ed596 add boundary falloff 2026-03-21 10:20:31 -04:00
CNCKitchen 11de141fb0 feat: add additional disclaimer and liability information to license and UI translations 2026-03-21 11:42:30 +01:00
CNCKitchen 87ad3bcecf feat: implement "Place on Face" feature with UI integration and translations 2026-03-21 11:01:49 +01:00
CNCKitchen 6723dcb7b0 Refactor surface masking and exclusion features
- Renamed "Surface Mask" section to "Mask Angles" for clarity in index.html.
- Updated translation keys and tooltips to reflect the new terminology in i18n.js.
- Removed the erase toggle button from the exclusion panel and implemented Shift key functionality to toggle erase mode in main.js.
- Adjusted brush radius handling to improve user experience and updated related UI elements in index.html.
- Enhanced the subdivision process to track original face IDs for better masking accuracy in subdivision.js.
- Added CSS styles for new UI elements and improved layout in style.css.
2026-03-21 09:42:08 +01:00
CNCKitchen 9c50ab83b1 feat: update bucket threshold and enhance mesh info display in UI 2026-03-20 19:47:04 +01:00
CNCKitchen 60e6ee9201 feat: add license popup with terms and conditions, including UI integration and translations 2026-03-20 18:05:44 +01:00
CNCKitchen 981a72af4d Added a 3D Preview 2026-03-19 21:00:33 +01:00
CNCKitchen 14987b8587 feat: add symmetric displacement feature with UI integration and update displacement logic 2026-03-19 14:52:21 +01:00
CNCKitchen 32eddcad37 feat: add seam blend feature and amplitude overlap warning with UI updates 2026-03-19 12:08:14 +01:00
CNCKitchen 08ab85ba75 feat: update UI labels and improve scaling parameters for better user experience 2026-03-18 16:41:13 +01:00
CNCKitchen 9b0995c22d Refactor code structure for improved readability and maintainability 2026-03-18 15:33:17 +01:00
CNCKitchen 0600877849 feat: add store CTA and dimension annotations, update safety cap and translations 2026-03-18 15:17:46 +01:00
CNCKitchen 14c6137b2d feat: update German translations for surface mask and exclusions sections 2026-03-18 12:53:33 +01:00
CNCKitchen 3974b30b56 added different languages 2026-03-18 12:47:49 +01:00