coolcats 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +3 -0
- data/Manifest.txt +8 -0
- data/README.md +155 -0
- data/Rakefile +38 -0
- data/config/spritesheet.csv +68 -0
- data/config/spritesheet.png +0 -0
- data/lib/coolcats/version.rb +23 -0
- data/lib/coolcats.rb +67 -0
- metadata +107 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 86246698ce26e02b56b6b9474adc3323ccb78359e1f63547b30e9476d9dde693
|
4
|
+
data.tar.gz: 147d11723068844d4d907e12ae86cc9bdc97a25eb6859be404bb4d9c4f6a3b5d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 80ef11ec6ed05e6e357b313748a739fc90293443d038c13338ca81d14263d12b01bfc18ab629178af18d4c2198d94942685766a27aaf82e1bf49efb0d40a1a7a
|
7
|
+
data.tar.gz: 7a35931c14f37da591267b5d93f8177476d6f9d6181ada6db4dbac5ceff176ebff427a56ffea671e72d9e0b10af936c219cf55c89c79805c3267004d0ebc42f0
|
data/CHANGELOG.md
ADDED
data/Manifest.txt
ADDED
data/README.md
ADDED
@@ -0,0 +1,155 @@
|
|
1
|
+
# Coolcats (Pixel Cats)
|
2
|
+
|
3
|
+
coolcats - generate your own 24×24 pixel cat images (off chain) from text attributes (via built-in spritesheet); incl. 2x/4x/8x zoom for bigger sizes and more
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
* home :: [github.com/pixelartexchange/pixelart](https://github.com/pixelartexchange/pixelart)
|
8
|
+
* bugs :: [github.com/pixelartexchange/pixelart/issues](https://github.com/pixelartexchange/pixelart/issues)
|
9
|
+
* gem :: [rubygems.org/gems/coolcats](https://rubygems.org/gems/coolcats)
|
10
|
+
* rdoc :: [rubydoc.info/gems/coolcats](http://rubydoc.info/gems/coolcats)
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
## Usage
|
16
|
+
|
17
|
+
Let's generate some super-rare never-before-seen
|
18
|
+
coolcats (pixel cats):
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
require 'coolcats'
|
22
|
+
|
23
|
+
|
24
|
+
coolcat = Coolcat::Image.generate( 'Ditto', 'Beret Red' )
|
25
|
+
coolcat.save( "coolcat1.png")
|
26
|
+
coolcat.zoom(4).save( "coolcat1@4x.png" )
|
27
|
+
|
28
|
+
coolcat = Coolcat::Image.generate( 'Hearts', 'Afro Black' )
|
29
|
+
coolcat.save( "coolcat2.png")
|
30
|
+
coolcat.zoom(4).save( "coolcat2@4x.png" )
|
31
|
+
|
32
|
+
coolcat = Coolcat::Image.generate( 'Unamused' )
|
33
|
+
coolcat.save( "coolcat3.png")
|
34
|
+
coolcat.zoom(4).save( "coolcat3@4x.png" )
|
35
|
+
```
|
36
|
+
|
37
|
+
Voila!
|
38
|
+
|
39
|
+

|
40
|
+

|
41
|
+

|
42
|
+
|
43
|
+
In 4x:
|
44
|
+
|
45
|
+

|
46
|
+

|
47
|
+

|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
```ruby
|
52
|
+
## try tv heads
|
53
|
+
|
54
|
+
coolcat = Coolcat::Image.generate( 'TV Head White', 'TV Face 404' )
|
55
|
+
coolcat.save( "coolcat4.png")
|
56
|
+
coolcat.zoom(4).save( "coolcat4@4x.png" )
|
57
|
+
|
58
|
+
coolcat = Coolcat::Image.generate( 'TV Head Grey', 'TV Face No Signal' )
|
59
|
+
coolcat.save( "coolcat5.png")
|
60
|
+
coolcat.zoom(4).save( "coolcat5@4x.png" )
|
61
|
+
|
62
|
+
coolcat = Coolcat::Image.generate( 'TV Head Purple', 'TV Face XP' )
|
63
|
+
coolcat.save( "coolcat6.png")
|
64
|
+
coolcat.zoom(4).save( "coolcat6@4x.png" )
|
65
|
+
```
|
66
|
+
|
67
|
+
Voila!
|
68
|
+
|
69
|
+

|
70
|
+

|
71
|
+

|
72
|
+
|
73
|
+
In 4x:
|
74
|
+
|
75
|
+

|
76
|
+

|
77
|
+

|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
```ruby
|
82
|
+
## try halloween theme
|
83
|
+
|
84
|
+
coolcat = Coolcat::Image.generate( 'Jack' )
|
85
|
+
coolcat.save( "coolcat7.png")
|
86
|
+
coolcat.zoom(4).save( "coolcat7@4x.png" )
|
87
|
+
|
88
|
+
coolcat = Coolcat::Image.generate( 'Scream' )
|
89
|
+
coolcat.save( "coolcat8.png")
|
90
|
+
coolcat.zoom(4).save( "coolcat8@4x.png" )
|
91
|
+
|
92
|
+
coolcat = Coolcat::Image.generate( 'Beret Red', 'Skull' )
|
93
|
+
coolcat.save( "coolcat9.png")
|
94
|
+
coolcat.zoom(4).save( "coolcat9@4x.png" )
|
95
|
+
```
|
96
|
+
|
97
|
+
Voila!
|
98
|
+
|
99
|
+

|
100
|
+

|
101
|
+

|
102
|
+
|
103
|
+
In 4x:
|
104
|
+
|
105
|
+

|
106
|
+

|
107
|
+

|
108
|
+
|
109
|
+
|
110
|
+
And so on.
|
111
|
+
|
112
|
+
### Bonus - Look-Up Attributes (Via Built-In Spritesheet)
|
113
|
+
|
114
|
+
|
115
|
+
Let's look-up some attributes:
|
116
|
+
|
117
|
+
```ruby
|
118
|
+
base = Coolcat::Sheet.find_by( name: 'Base' )
|
119
|
+
beanie_orange = Coolcat::Sheet.find_by( name: 'Beanie Orange' )
|
120
|
+
costume_gorilla = Coolcat::Sheet.find_by( name: 'Costume Gorilla' )
|
121
|
+
overalls_blue = Coolcat::Sheet.find_by( name: 'Overalls Blue' )
|
122
|
+
|
123
|
+
base.save( "base.png" )
|
124
|
+
beanie_orange.save( "beanie_orange.png" )
|
125
|
+
costume_gorilla.save( "costume_gorilla.png" )
|
126
|
+
overalls_blue.save( "overalls_blue.png" )
|
127
|
+
|
128
|
+
base.zoom( 4 ).save( "base@4x.png" )
|
129
|
+
beanie_orange.zoom( 4 ).save( "beanie_orange@4x.png" )
|
130
|
+
costume_gorilla.zoom( 4 ).save( "costume_gorilla@4x.png" )
|
131
|
+
overalls_blue.zoom( 4 ).save( "overalls_blue@4x.png" )
|
132
|
+
```
|
133
|
+
|
134
|
+
Voila!
|
135
|
+
|
136
|
+

|
137
|
+

|
138
|
+

|
139
|
+

|
140
|
+
|
141
|
+
In 4x:
|
142
|
+
|
143
|
+

|
144
|
+

|
145
|
+

|
146
|
+

|
147
|
+
|
148
|
+
And so on.
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
## Questions? Comments?
|
154
|
+
|
155
|
+
Post them on the [CryptoPunksDev reddit](https://old.reddit.com/r/CryptoPunksDev). Thanks.
|
data/Rakefile
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'hoe'
|
2
|
+
require './lib/coolcats/version.rb'
|
3
|
+
|
4
|
+
###
|
5
|
+
# hack/ quick fix for broken intuit_values - overwrite with dummy
|
6
|
+
class Hoe
|
7
|
+
def intuit_values( input ); end
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
Hoe.spec 'coolcats' do
|
13
|
+
|
14
|
+
self.version = Coolcats::VERSION
|
15
|
+
|
16
|
+
self.summary = "coolcats - generate your own 24×24 pixel cat images (off chain) from text attributes (via built-in spritesheet); incl. 2x/4x/8x zoom for bigger sizes and more"
|
17
|
+
self.description = summary
|
18
|
+
|
19
|
+
self.urls = { home: 'https://github.com/pixelartexchange/pixelart' }
|
20
|
+
|
21
|
+
self.author = 'Gerald Bauer'
|
22
|
+
self.email = 'wwwmake@googlegroups.com'
|
23
|
+
|
24
|
+
# switch extension to .markdown for gihub formatting
|
25
|
+
self.readme_file = 'README.md'
|
26
|
+
self.history_file = 'CHANGELOG.md'
|
27
|
+
|
28
|
+
self.extra_deps = [
|
29
|
+
['pixelart', '>= 1.3.1'],
|
30
|
+
]
|
31
|
+
|
32
|
+
self.licenses = ['Public Domain']
|
33
|
+
|
34
|
+
self.spec_extras = {
|
35
|
+
required_ruby_version: '>= 2.3'
|
36
|
+
}
|
37
|
+
|
38
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
id, name, type, more_names
|
2
|
+
0, Base, Archetype - Cool Cat,
|
3
|
+
1, Angry, Attribute - Face,
|
4
|
+
2, Angry Cute, Attribute - Face,
|
5
|
+
3, Beard Brown, Attribute - Face,
|
6
|
+
4, Derp, Attribute - Face,
|
7
|
+
5, Ditto, Attribute - Face,
|
8
|
+
6, Dizzy, Attribute - Face,
|
9
|
+
7, Face Face, Attribute - Face,
|
10
|
+
8, Glasses, Attribute - Face,
|
11
|
+
9, Glasses Funny, Attribute - Face,
|
12
|
+
10, Glossy, Attribute - Face,
|
13
|
+
11, Grin, Attribute - Face,
|
14
|
+
12, Happy, Attribute - Face,
|
15
|
+
13, Happy Cute, Attribute - Face,
|
16
|
+
14, Hearts, Attribute - Face,
|
17
|
+
15, Mononoke, Attribute - Face,
|
18
|
+
16, Mummy, Attribute - Face,
|
19
|
+
17, Ninja Black, Attribute - Face,
|
20
|
+
18, Ninja Blue, Attribute - Face,
|
21
|
+
19, Ninja Red, Attribute - Face,
|
22
|
+
20, Owo, Attribute - Face,
|
23
|
+
21, Pixel, Attribute - Face,
|
24
|
+
22, Stunned, Attribute - Face,
|
25
|
+
23, Sunglasses Blue, Attribute - Face,
|
26
|
+
24, Sunglasses Cool, Attribute - Face,
|
27
|
+
25, Sunglasses Heart, Attribute - Face,
|
28
|
+
26, Sunglasses Pixel, Attribute - Face,
|
29
|
+
27, TV Face 404, Attribute - Face,
|
30
|
+
28, TV Face Bob Ross, Attribute - Face,
|
31
|
+
29, TV Face No Signal, Attribute - Face,
|
32
|
+
30, TV Face XP, Attribute - Face,
|
33
|
+
31, Unamused, Attribute - Face,
|
34
|
+
32, Uwu, Attribute - Face,
|
35
|
+
33, Wink, Attribute - Face,
|
36
|
+
34, Afro Black, Attribute - Hat,
|
37
|
+
35, Afro Rainbow Unicorn, Attribute - Hat,
|
38
|
+
36, Beanie Orange, Attribute - Hat,
|
39
|
+
37, Beanie Red, Attribute - Hat,
|
40
|
+
38, Beret Red, Attribute - Hat,
|
41
|
+
39, Bucket Hat Tan, Attribute - Hat,
|
42
|
+
40, Costume Dragon, Attribute - Hat,
|
43
|
+
41, Costume Frog, Attribute - Hat,
|
44
|
+
42, Costume Gorilla, Attribute - Hat,
|
45
|
+
43, Flower Blue, Attribute - Hat,
|
46
|
+
44, Flower Pink, Attribute - Hat,
|
47
|
+
45, Flower Red, Attribute - Hat,
|
48
|
+
46, Halo, Attribute - Hat,
|
49
|
+
47, Visor Yellow, Attribute - Hat,
|
50
|
+
48, Sun Hat White, Attribute - Hat,
|
51
|
+
49, TV Head Grey, Attribute - Hat,
|
52
|
+
50, TV Head Purple, Attribute - Hat,
|
53
|
+
51, TV Head White, Attribute - Hat,
|
54
|
+
52, Bandana Red, Attribute - Clothes,
|
55
|
+
53, Buttondown Black Flannel, Attribute - Clothes,
|
56
|
+
54, Buttondown Red Flannel, Attribute - Clothes,
|
57
|
+
55, Chain, Attribute - Clothes,
|
58
|
+
56, Gown White, Attribute - Clothes,
|
59
|
+
57, Overalls Blue, Attribute - Clothes,
|
60
|
+
58, Shirt White, Attribute - Clothes,
|
61
|
+
59, Sweater Orange, Attribute - Clothes,
|
62
|
+
60, Tanktop White, Attribute - Clothes,
|
63
|
+
61, T-Shirt Blue, Attribute - Clothes,
|
64
|
+
62, Work Blue, Attribute - Clothes,
|
65
|
+
63, Jack, Attribute - Halloween,
|
66
|
+
64, Jason, Attribute - Halloween,
|
67
|
+
65, Scream, Attribute - Halloween,
|
68
|
+
66, Skull, Attribute - Halloween,
|
Binary file
|
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Coolcats
|
4
|
+
|
5
|
+
MAJOR = 0
|
6
|
+
MINOR = 1
|
7
|
+
PATCH = 0
|
8
|
+
VERSION = [MAJOR,MINOR,PATCH].join('.')
|
9
|
+
|
10
|
+
def self.version
|
11
|
+
VERSION
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.banner
|
15
|
+
"coolcats/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}] in (#{root})"
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.root
|
19
|
+
File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )
|
20
|
+
end
|
21
|
+
|
22
|
+
end # module Coolcats
|
23
|
+
|
data/lib/coolcats.rb
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
## 3rd party
|
2
|
+
require 'pixelart/base'
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
## our own code
|
7
|
+
require 'coolcats/version' # note: let version always go first
|
8
|
+
|
9
|
+
|
10
|
+
## forward define superclass for image
|
11
|
+
module Coolcats
|
12
|
+
class Image < Pixelart::Image; end
|
13
|
+
end
|
14
|
+
|
15
|
+
###
|
16
|
+
## add convenience pre-configurated generatored with build-in spritesheet (see config)
|
17
|
+
|
18
|
+
module Coolcats
|
19
|
+
|
20
|
+
def self.generator
|
21
|
+
@generator ||= Pixelart::Generator.new( "#{root}/config/spritesheet.png",
|
22
|
+
"#{root}/config/spritesheet.csv",
|
23
|
+
width: 24,
|
24
|
+
height: 24 )
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
class Image
|
29
|
+
def self.generate( *values, background: nil )
|
30
|
+
## note: always auto-add base coolcat archetye by default
|
31
|
+
img = Coolcats.generator.generate( 'Base', *values, background: background )
|
32
|
+
## note: unwrap inner image before passing on to c'tor (requires ChunkyPNG image for now)
|
33
|
+
new( 24, 24, img.image )
|
34
|
+
end # method Image.generate
|
35
|
+
end # class Image
|
36
|
+
|
37
|
+
|
38
|
+
class Spritesheet
|
39
|
+
## note: for now class used for "namespace" only
|
40
|
+
def self.find_by( name: ) ## return archetype/attribute image by name
|
41
|
+
# note: pass along name as q (query string)
|
42
|
+
Coolcats.generator.find( name )
|
43
|
+
end
|
44
|
+
end # class Spritesheet
|
45
|
+
## add convenience (alternate spelling) alias - why? why not?
|
46
|
+
SpriteSheet = Spritesheet
|
47
|
+
Sheet = Spritesheet
|
48
|
+
Sprite = Spritesheet
|
49
|
+
end # module Coolcats
|
50
|
+
|
51
|
+
|
52
|
+
### add some convenience shortcuts
|
53
|
+
CoolCats = Coolcats
|
54
|
+
## add singular too -why? why not?
|
55
|
+
Coolcat = Coolcats
|
56
|
+
CoolCat = Coolcats
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
###
|
62
|
+
# note: for convenience auto include Pixelart namespace!!! - why? why not?
|
63
|
+
include Pixelart
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
puts Coolcats.banner # say hello
|
metadata
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: coolcats
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Gerald Bauer
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-05-19 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: pixelart
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.3.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.3.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rdoc
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '4.0'
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '7'
|
37
|
+
type: :development
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '4.0'
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '7'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: hoe
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3.23'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3.23'
|
61
|
+
description: coolcats - generate your own 24×24 pixel cat images (off chain) from
|
62
|
+
text attributes (via built-in spritesheet); incl. 2x/4x/8x zoom for bigger sizes
|
63
|
+
and more
|
64
|
+
email: wwwmake@googlegroups.com
|
65
|
+
executables: []
|
66
|
+
extensions: []
|
67
|
+
extra_rdoc_files:
|
68
|
+
- CHANGELOG.md
|
69
|
+
- Manifest.txt
|
70
|
+
- README.md
|
71
|
+
files:
|
72
|
+
- CHANGELOG.md
|
73
|
+
- Manifest.txt
|
74
|
+
- README.md
|
75
|
+
- Rakefile
|
76
|
+
- config/spritesheet.csv
|
77
|
+
- config/spritesheet.png
|
78
|
+
- lib/coolcats.rb
|
79
|
+
- lib/coolcats/version.rb
|
80
|
+
homepage: https://github.com/pixelartexchange/pixelart
|
81
|
+
licenses:
|
82
|
+
- Public Domain
|
83
|
+
metadata: {}
|
84
|
+
post_install_message:
|
85
|
+
rdoc_options:
|
86
|
+
- "--main"
|
87
|
+
- README.md
|
88
|
+
require_paths:
|
89
|
+
- lib
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '2.3'
|
95
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
100
|
+
requirements: []
|
101
|
+
rubygems_version: 3.3.7
|
102
|
+
signing_key:
|
103
|
+
specification_version: 4
|
104
|
+
summary: coolcats - generate your own 24×24 pixel cat images (off chain) from text
|
105
|
+
attributes (via built-in spritesheet); incl. 2x/4x/8x zoom for bigger sizes and
|
106
|
+
more
|
107
|
+
test_files: []
|