Commit Graph

42 Commits

Author SHA1 Message Date
Avatarsia d92296754f perf: on-demand rendering, dispose leaks, reduce GC pressure
- Render loop now only calls renderer.render() when the scene actually
  changed (needsRender flag + requestRender export). Idle GPU usage
  drops to near zero.
- Disabled shadow map (no receiver in scene, wasted a full render pass).
- Reuse overlay materials instead of creating new ones every paint frame.
- Dispose CanvasTexture in getEffectiveMapEntry (VRAM leak on every
  slider change).
- Dispose axes/dimension geometry on model reload.
- Reuse Vector3/Quaternion temp objects in pointer/touch/wheel handlers
  instead of allocating ~10 objects per mouse event.
- RAF-batch mousemove for hover/cursor, keep paint events immediate.
- Reuse faceMask buffer attribute when size matches.
- Cache getEffectiveMapEntry result (skip canvas tiling+blur when
  texture and smoothing haven't changed).
- addSmoothNormals: same dedup+flat-array approach as displacement.
2026-04-06 02:38:30 +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 3c94df4504 feat: update max triangle limit to 750K and enhance triangle bounding radius calculations 2026-04-03 09:18:44 +02:00
CNCKitchen 7289c2cabc feat: add texture aspect correction for non-square textures in UV mapping 2026-04-02 17:23:24 +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 6ad91f9707 feat: add dismiss button for store call-to-action and style updates 2026-04-02 10:28:37 +02:00
CNCKitchen 5b6049bb1e refactor: simplify canvas filter support check 2026-04-01 11:15:35 +02:00
CNCKitchen bc5c4625fc texture smoothing on mac 2026-04-01 10:59:23 +02:00
CNCKitchen f7187bc1df Add new texture images: stripes.png, stripes_02.png, woodgrain_02.jpg, and woodgrain_03.jpg
- Added stripes.png and stripes_02.png with metadata from Adobe Photoshop.
- Included two new woodgrain textures (woodgrain_02.jpg and woodgrain_03.jpg) for enhanced visual variety.
2026-03-31 20:26:25 +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 a41b500bf2 feat: add cap angle control for cylindrical mapping and update UV calculations 2026-03-28 16:00:17 +01:00
CNCKitchen fca353a142 feat: implement cursor-centric zoom functionality in viewer 2026-03-26 10:42:29 +01:00
CNCKitchen 475945a799 Refactor code structure for improved readability and maintainability 2026-03-25 08:03:22 +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 a5cb0e5671 feat: update normal handling to use area-weighted buffer normals for improved surface rendering 2026-03-20 23:30:56 +01:00
CNCKitchen b35140cd78 feat: enhance displacement preview with face normal and mask attributes for improved rendering 2026-03-20 22:47:34 +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 43a09e8b14 feat: add seam band width control and integrate with displacement logic for improved blending 2026-03-19 20:12:54 +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 0600877849 feat: add store CTA and dimension annotations, update safety cap and translations 2026-03-18 15:17:46 +01:00
CNCKitchen 3974b30b56 added different languages 2026-03-18 12:47:49 +01:00
CNCKitchen d09d00e5a8 chore: clean up code structure and remove unused code blocks 2026-03-18 12:18:35 +01:00
CNCKitchen 04afab2432 feat: enhance exclusion overlay visibility and improve wireframe rendering 2026-03-18 11:13:48 +01:00
CNCKitchen adab788c74 Refactor code structure for improved readability and maintainability 2026-03-18 10:52:39 +01:00
CNCKitchen f88504696d Refactor code structure for improved readability and maintainability 2026-03-18 09:31:21 +01:00
CNCKitchen 2eb52a0bf2 feat: add brush cursor for exclusion tool and enhance cursor behavior 2026-03-17 20:57:27 +01:00
CNCKitchen 598902021a feat: implement surface exclusion mode toggle and enhance exclusion overlay logic 2026-03-17 19:43:46 +01:00
CNCKitchen cbe7e7ffef feat: add STL file upload button and implement flat-bottom clamp logic in export 2026-03-17 17:47:26 +01:00
CNCKitchen 1d3e756245 feat: add surface exclusions panel and functionality
- Introduced a new section in the UI for surface exclusions, allowing users to exclude triangles from displacement using brush and bucket fill tools.
- Implemented brush type switching (single and radius) and radius control for the brush tool.
- Added functionality for bucket fill with a threshold angle to control the fill area.
- Integrated exclusion weights into the displacement algorithm to ensure excluded faces are handled correctly during subdivision.
- Created adjacency and centroid calculations for triangles to support the bucket fill operation.
- Developed overlay geometries for visual feedback on excluded faces and hover previews.
- Enhanced the CSS for the new exclusion tools and their layout in the UI.
2026-03-17 14:35:45 +01:00
CNCKitchen 57a42f0815 Enhance UI for scale and offset controls; add surface masking options and improve displacement logic 2026-03-17 12:59:03 +01:00
CNCKitchen a68eedba38 Add wireframe toggle in UI and implement wireframe rendering functionality 2026-03-17 11:34:21 +01:00
CNCKitchen 1a23d7d7fa added new triangle decimation 2026-03-17 10:16:50 +01:00
CNCKitchen 66ee4a2d7d Refactor mapping modes and improve UV mapping logic; update viewer axes and camera settings 2026-03-17 09:05:56 +01:00
CNCKitchen 59b689c9ef Enhance displacement calculation and UV mapping; add gizmo visualization in viewer 2026-03-16 21:09:12 +01:00
CNCKitchen 92e7f487ce initial commit 2026-03-16 20:37:32 +01:00