artfactory 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 599b6c292eeda3bdc04988a887288bda3618f4a5944ad1d6ca8f0f8786f48f23
4
+ data.tar.gz: 12ca8ed6478b0303c6c7fd911fc85080d777639c85c3bde6ac6abc6e5b6b0a91
5
+ SHA512:
6
+ metadata.gz: 82782eb8941ef671b07275d9e2e36a2ef0b978269e270ddfb9ec7b1f99fa0e21d009236333849088c23458c5d4a0819f5d0e245914ad35f3ae442510995e3389
7
+ data.tar.gz: 4df5bc7e3a8940d3712f361d2591fb6b9472a79d03c34d573049eaa1a49148481960649604249e78d112b486235e9f1b83b06486dd49caca6fb4468f7d97addb
data/CHANGELOG.md ADDED
@@ -0,0 +1,3 @@
1
+ ### 0.0.1 / 2021-06-09
2
+
3
+ * Everything is new. First release
data/Manifest.txt ADDED
@@ -0,0 +1,7 @@
1
+ CHANGELOG.md
2
+ Manifest.txt
3
+ README.md
4
+ Rakefile
5
+ lib/artfactory.rb
6
+ lib/artfactory/artfactory.rb
7
+ lib/artfactory/version.rb
data/README.md ADDED
@@ -0,0 +1,22 @@
1
+
2
+ # Art Factory
3
+
4
+ Yes, you can! Generate your own pixel art images (off chain) from text attributes (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
5
+
6
+
7
+
8
+ * home :: [github.com/pixelartexchange/pixelart](https://github.com/pixelartexchange/pixelart)
9
+ * bugs :: [github.com/pixelartexchange/pixelart/issues](https://github.com/pixelartexchange/pixelart/issues)
10
+ * gem :: [rubygems.org/gems/artfactory](https://rubygems.org/gems/artfactory)
11
+ * rdoc :: [rubydoc.info/gems/artfactory](http://rubydoc.info/gems/artfactory)
12
+
13
+
14
+
15
+
16
+ ## Usage
17
+
18
+ ...
19
+
20
+ ## Questions? Comments?
21
+
22
+ Post them on the [D.I.Y. Punk (Pixel) Art reddit](https://old.reddit.com/r/DIYPunkArt). Thanks.
data/Rakefile ADDED
@@ -0,0 +1,39 @@
1
+ require 'hoe'
2
+ require './lib/artfactory/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 'artfactory' do
13
+
14
+ self.version = Pixelart::Module::Artfactory::VERSION
15
+
16
+ self.summary = "artfactory - generate your own pixel art images (off chain) from text attributes (via spritesheets); 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
+ ['backgrounds'],
31
+ ]
32
+
33
+ self.licenses = ['Public Domain']
34
+
35
+ self.spec_extras = {
36
+ required_ruby_version: '>= 2.3'
37
+ }
38
+
39
+ end
@@ -0,0 +1,77 @@
1
+ ####
2
+ # "simple" generator (no different sizes, genders, etc.)
3
+ # uses built-in spritesheet for (archetypes &) attributes
4
+
5
+
6
+
7
+ class Artfactory
8
+
9
+
10
+ def self.read( image_path="./spritesheet.png",
11
+ meta_path="./spritesheet.csv",
12
+ width: 24,
13
+ height: 24 )
14
+
15
+ sheet = Pixelart::Spritesheet.read( image_path,
16
+ meta_path,
17
+ width: width, height: height )
18
+ new( sheet )
19
+ end
20
+
21
+ def self.use( sheet ) ### check - allow more sheets - why? why not?
22
+ new( sheet )
23
+ end
24
+
25
+
26
+
27
+ def initialize( sheet )
28
+ @sheet = sheet
29
+ end
30
+
31
+ def spritesheet() @sheet; end
32
+ alias_method :sheet, :spritesheet
33
+
34
+
35
+ def to_recs( *values )
36
+ recs = []
37
+
38
+ names = values
39
+
40
+ names.each do |name|
41
+ rec = @sheet.find_meta_by( name: name )
42
+ if rec.nil?
43
+ puts "!! ERROR - attribute (metadata record) >#{name}< not found; sorry"
44
+ exit 1
45
+ end
46
+ recs << rec
47
+ end
48
+
49
+ recs
50
+ end
51
+
52
+
53
+ def generate_image( *values, before: nil )
54
+ recs = to_recs( *values )
55
+
56
+ ## note: first construct/generate image on transparent background
57
+ ## add background if present as LAST step
58
+ img = Pixelart::Image.new( @sheet.image.tile_width,
59
+ @sheet.image.tile_height )
60
+
61
+ recs.each do |rec|
62
+ ## note: before call(back) MUST change image INPLACE!!!!
63
+ before.call( img, rec ) if before
64
+ img.compose!( @sheet.image[ rec.id ] )
65
+ end
66
+
67
+ img
68
+ end
69
+ alias_method :generate, :generate_image
70
+
71
+ end # class Artfactory
72
+
73
+
74
+
75
+ #############
76
+ ## add convenience alternate spelling - why? why not?
77
+ ArtFactory = Artfactory
@@ -0,0 +1,26 @@
1
+
2
+
3
+ module Pixelart
4
+ module Module
5
+ module Artfactory
6
+
7
+ MAJOR = 0
8
+ MINOR = 1
9
+ PATCH = 0
10
+ VERSION = [MAJOR,MINOR,PATCH].join('.')
11
+
12
+ def self.version
13
+ VERSION
14
+ end
15
+
16
+ def self.banner
17
+ "artfactory/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}] in (#{root})"
18
+ end
19
+
20
+ def self.root
21
+ File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )
22
+ end
23
+
24
+ end # module Artfactory
25
+ end # module Module
26
+ end # module Pixelart
data/lib/artfactory.rb ADDED
@@ -0,0 +1,14 @@
1
+ ## 3rd party
2
+ require 'pixelart/base'
3
+ require 'backgrounds/base'
4
+
5
+
6
+ ## our own code
7
+ require 'artfactory/version' # note: let version always go first
8
+ require 'artfactory/artfactory'
9
+
10
+
11
+
12
+
13
+
14
+ puts Pixelart::Module::Artfactory.banner # say hello
metadata ADDED
@@ -0,0 +1,118 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: artfactory
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-06-09 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: backgrounds
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rdoc
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '4.0'
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '7'
51
+ type: :development
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: '4.0'
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '7'
61
+ - !ruby/object:Gem::Dependency
62
+ name: hoe
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.23'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.23'
75
+ description: artfactory - generate your own pixel art images (off chain) from text
76
+ attributes (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
77
+ email: wwwmake@googlegroups.com
78
+ executables: []
79
+ extensions: []
80
+ extra_rdoc_files:
81
+ - CHANGELOG.md
82
+ - Manifest.txt
83
+ - README.md
84
+ files:
85
+ - CHANGELOG.md
86
+ - Manifest.txt
87
+ - README.md
88
+ - Rakefile
89
+ - lib/artfactory.rb
90
+ - lib/artfactory/artfactory.rb
91
+ - lib/artfactory/version.rb
92
+ homepage: https://github.com/pixelartexchange/pixelart
93
+ licenses:
94
+ - Public Domain
95
+ metadata: {}
96
+ post_install_message:
97
+ rdoc_options:
98
+ - "--main"
99
+ - README.md
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '2.3'
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubygems_version: 3.3.7
114
+ signing_key:
115
+ specification_version: 4
116
+ summary: artfactory - generate your own pixel art images (off chain) from text attributes
117
+ (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
118
+ test_files: []