79 Commits

Author SHA1 Message Date
a76d040ff6 interpolate: pub Fract8 2024-11-24 23:51:18 +01:00
30ed741349 buffers: update threaded implementations 2024-11-24 23:51:03 +01:00
3783bc60b2 animations: rewrite animations with improved surface capabilities 2024-11-24 21:55:24 +01:00
d17baa754f lib8: trig: style++ 2024-11-24 21:54:20 +01:00
2c7d1d2888 mappings: split out ponderjar/panel layouts into separate new functions 2024-11-24 21:53:27 +01:00
54e7506865 mappings: rewrite pixel maps to use the stronger geometry primitives and coordinate space APIs 2024-11-24 19:09:20 +01:00
e8f6a90d0f geometry: style++ 2024-11-24 19:04:35 +01:00
60bcf4faa3 geometry: implement distance API for points 2024-11-24 18:59:16 +01:00
450fbbf9c9 geometry: simplify coord traits, add sized, clone, copy, etc 2024-11-24 18:58:36 +01:00
35ccf20142 lib8: trig: rewrite sin8/cos8 to use traits, for easy modular math with usize 2024-11-24 18:56:47 +01:00
64c28b89fe lib8: interpolate: implement blend8 API 2024-11-24 18:55:54 +01:00
facb95c363 lib8: noise: use wrapping shifts to fix sampling errors 2024-11-24 18:55:11 +01:00
859177a65c lib8: fix hsv2rgb implementation by prescaling the hue 2024-11-24 18:54:25 +01:00
be8aa0248d mappings: default to max 24 strides 2024-11-24 18:52:56 +01:00
b5e1b114f6 render: add opacity to surfaces 2024-11-24 18:51:51 +01:00
43c3344418 sdkconfig: use 240mhz cpu 2024-11-24 18:33:03 +01:00
23fcf1f35f geometry: s/assert/debug_assert/ 2024-11-23 15:01:24 +01:00
a7b681a046 geometry: implement width/height/left/top/right/bottom operations for rectangles 2024-11-23 15:01:02 +01:00
ff610fa6aa platform: smart_leds: use 310 pixels instead of 300 2024-11-23 14:52:36 +01:00
d3a7f8a3e9 cargo: add esp32s3 as a target, configure espflash to use --no-stub 2024-11-23 14:52:04 +01:00
56443c638c lib8: interpolate: drop unused casts 2024-11-23 14:51:40 +01:00
5fed51fbd1 lib8: interpolate: provide a trait to handle fract8 operations 2024-11-23 14:51:27 +01:00
9dff0119a4 render: add a frame parameter to all shaders 2024-11-23 14:50:28 +01:00
73c3ced3d7 render: add api for setting the rectangle on a surface 2024-11-22 15:54:06 +01:00
7b6cf42e4f geometry: require Ord for coordinates, to implement asserts in rectangles 2024-11-22 15:50:49 +01:00
e651608ecc buffers: split out concrete surface and pixbuf implementations into a buffers module 2024-11-18 23:48:20 +01:00
821924cddb cargo: remove embassy from default features 2024-11-18 23:45:05 +01:00
5de628f3e0 platform: smart_leds: rearchitect pixbufs to use color types that are closer to the hardware 2024-11-18 17:21:58 +01:00
e4b8863513 lib8: use Rgb<u8> instead of RGB8 2024-11-18 17:21:10 +01:00
c53a9e27ae power: implement asmilliwatts for sized arrays 2024-11-16 16:25:32 +01:00
cc8377484e platform: smart_leds: warning-- 2024-11-16 12:41:10 +01:00
1b126a3221 cargo: add ansi_term and num 2024-11-16 12:28:21 +01:00
b504ce298b lib8: implement more fastled 8 bit math as lib8 submodules 2024-11-16 12:28:01 +01:00
7d8d59b508 platform: smart_leds: format++ 2024-11-16 12:16:51 +01:00
e3b5a9bde4 platform: smart_leds: handle frame render error 2024-11-16 12:15:42 +01:00
e51ac02dc6 render: implement surface mapping api 2024-11-16 12:13:49 +01:00
10f0eaa75e platform: smart_leds: move pixbuf size into type args 2024-11-16 12:11:34 +01:00
d6e6f1c554 platform: smart_leds: blank display on every frame 2024-11-16 12:06:46 +01:00
24f0a336e6 platform: smart_leds: no need to keep total_mw around when we can calculate on the fly 2024-11-16 12:06:00 +01:00
3517428d54 mappings: implement some debug traits for viewing pixbufs 2024-11-16 12:02:11 +01:00
291affc992 mappings: first implementation of surface mapping and pixel selection engine 2024-11-16 11:49:10 +01:00
61b28179d1 lib8: implement scale8 from fastled 2024-11-16 11:48:11 +01:00
386b454fb7 TODO: add planned layer and surface operations 2024-11-16 11:44:12 +01:00
a64a449da4 lib8: change saturating_add to use by-value instead of by-ref 2024-11-16 11:43:38 +01:00
52434577cd render: make surfacepool cloneable 2024-11-16 11:40:08 +01:00
3a8dd89828 lib8: rewrite hsv2rgb implementation based on fastled 2024-11-16 11:39:28 +01:00
67f1c995ce animations: add other two sides for outline pattern 2024-11-16 11:37:57 +01:00
e329a56c90 geometry: rewrite Coordinates trait into a concrete struct, pass coords by reference to shaders, and add a Rectangle type 2024-11-16 11:37:24 +01:00
a23b2e8e94 power: implement AsMilliwatts for slices 2024-11-14 19:43:14 +01:00
7e90dd5a22 animations: set blank shaders on task start 2024-11-02 15:22:49 +01:00