Redesign icon: wood texture shield with darken-blended Syncthing motif
All checks were successful
Release / build (push) Successful in 2m34s
All checks were successful
Release / build (push) Successful in 2m34s
Replace procedural icon renderer with pre-rendered textured icons:
- Use Stammtisch wood texture as shield face (crop tabletop planks)
- Apply Syncthing motif via darken blend ("warpaint on wood" effect)
- Fix Syncthing logo geometry: asymmetric node placement (76°/116°/168°
gaps) with offset hub, matching the official SVG
- Metal rim with rivets and directional lighting
- Embed pre-rendered PNGs via go:embed (no runtime rendering)
- Icon generator in cmd/icongen/ takes wood texture as input
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
package icons
|
||||
|
||||
import "image/color"
|
||||
|
||||
// State represents the current sync state for icon rendering.
|
||||
type State int
|
||||
|
||||
@@ -12,19 +10,3 @@ const (
|
||||
StateError // Red — folder error
|
||||
StateDisconnected // Dark gray — cannot reach Syncthing
|
||||
)
|
||||
|
||||
// colors maps each state to its icon color.
|
||||
var colors = map[State]color.RGBA{
|
||||
StateIdle: {76, 175, 80, 255}, // green
|
||||
StateSyncing: {33, 150, 243, 255}, // blue
|
||||
StatePaused: {158, 158, 158, 255}, // gray
|
||||
StateError: {244, 67, 54, 255}, // red
|
||||
StateDisconnected: {97, 97, 97, 255}, // dark gray
|
||||
}
|
||||
|
||||
func colorForState(s State) color.RGBA {
|
||||
if c, ok := colors[s]; ok {
|
||||
return c
|
||||
}
|
||||
return colors[StateDisconnected]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user