artfactory 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 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: []