Surn commited on
Commit
85ffc3f
·
1 Parent(s): 3b13a3a

Go Public Version

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. README.md +1 -1
  2. app.py +106 -84
  3. images/prerendered/th/BurntCity.png +3 -0
  4. images/prerendered/th/CONQ_Caustic_Valley.png +3 -0
  5. images/prerendered/th/CONQ_Frozen_City.png +3 -0
  6. images/prerendered/th/CONQ_Hellebore_Springs.png +3 -0
  7. images/prerendered/th/CONQ_Terra_Therma.png +3 -0
  8. images/prerendered/th/CONQ_Viridian_Bog.png +3 -0
  9. images/prerendered/th/Firefly_alien_canyons_1.png +3 -0
  10. images/prerendered/th/Firefly_alien_canyons_2.png +3 -0
  11. images/prerendered/th/Firefly_alien_dry_canyons_1.png +3 -0
  12. images/prerendered/th/Firefly_alien_dry_canyons_2.png +3 -0
  13. images/prerendered/th/Firefly_alien_map_1.png +3 -0
  14. images/prerendered/th/Firefly_hpg_terrain_1.png +3 -0
  15. images/prerendered/th/Firefly_hpg_terrain_2.png +3 -0
  16. images/prerendered/th/Firefly_river_dry_1.png +3 -0
  17. images/prerendered/th/Firefly_river_running_1.png +3 -0
  18. images/prerendered/th/Firefly_topographical_alien_desert_1.png +3 -0
  19. images/prerendered/th/Firefly_topographical_canyon_1.png +3 -0
  20. images/prerendered/th/Firefly_topographical_height_map_1.png +3 -0
  21. images/prerendered/th/Firefly_topographical_height_map_2.png +3 -0
  22. images/prerendered/th/Firefly_topographical_height_map_3.png +3 -0
  23. images/prerendered/th/Firefly_topographical_height_map_5.png +3 -0
  24. images/prerendered/th/Firefly_topographical_height_map_6.png +3 -0
  25. images/prerendered/th/Firefly_topographical_marble_1.png +3 -0
  26. images/prerendered/th/Firefly_topographical_moon_1.png +3 -0
  27. images/prerendered/th/Genison.png +3 -0
  28. images/prerendered/th/Hex_gen_map.PNG +3 -0
  29. images/prerendered/th/alien_orb_land_1.png +3 -0
  30. images/prerendered/th/alien_prarie_1.png +3 -0
  31. images/prerendered/th/alien_world_1.png +3 -0
  32. images/prerendered/th/alien_world_2.png +3 -0
  33. images/prerendered/th/alien_world_3.png +3 -0
  34. images/prerendered/th/alien_world_4.png +3 -0
  35. images/prerendered/th/alien_world_5.png +3 -0
  36. images/prerendered/th/canyon_water_1.png +3 -0
  37. images/prerendered/th/cute3dkawaii.PNG +3 -0
  38. images/prerendered/th/dark_dirt_elevations_1.png +3 -0
  39. images/prerendered/th/donald_park.png +3 -0
  40. images/prerendered/th/elevated_peninsula_1.png +3 -0
  41. images/prerendered/th/fractal_islands.png +3 -0
  42. images/prerendered/th/green_farming_alien_world_1.png +3 -0
  43. images/prerendered/th/green_farming_alien_world_2.png +3 -0
  44. images/prerendered/th/grey_barren_alien_world_1.png +3 -0
  45. images/prerendered/th/grey_barren_alien_world_2.png +3 -0
  46. images/prerendered/th/grey_barren_alien_world_3.png +3 -0
  47. images/prerendered/th/grey_barren_alien_world_4.png +3 -0
  48. images/prerendered/th/grey_barren_alien_world_5.png +3 -0
  49. images/prerendered/th/grey_barren_alien_world_6.png +3 -0
  50. images/prerendered/th/grey_barren_alien_world_7.png +3 -0
README.md CHANGED
@@ -1,5 +1,5 @@
1
  ---
2
- title: Hex Game Maker
3
  emoji: 🌖
4
  colorFrom: yellow
5
  colorTo: purple
 
1
  ---
2
+ title: Hex Game Maker Development Features
3
  emoji: 🌖
4
  colorFrom: yellow
5
  colorTo: purple
app.py CHANGED
@@ -1,13 +1,10 @@
1
  import os
2
- import json
3
- import copy
4
  import time
5
  import random
6
  import logging
7
  from gradio.blocks import postprocess_update_dict
8
  import numpy as np
9
  from typing import Any, Dict, List, Optional, Union
10
- import logging
11
 
12
  import torch
13
  from PIL import Image
@@ -42,8 +39,8 @@ from modules.image_utils import (
42
  open_image,
43
  build_prerendered_images_by_quality,
44
  upscale_image,
45
- lerp_imagemath,
46
- shrink_and_paste_on_blank,
47
  show_lut,
48
  apply_lut_to_image_path,
49
  multiply_and_blend_images,
@@ -57,24 +54,24 @@ from modules.constants import (
57
  default_lut_example_img,
58
  lut_files,
59
  MAX_SEED,
60
- lut_folder,cards,
61
- cards_alternating,
62
- card_colors,
63
- card_colors_alternating,
64
  pre_rendered_maps_paths,
65
  PROMPTS,
66
  NEGATIVE_PROMPTS,
67
  TARGET_SIZE,
68
  temp_files
69
  )
70
- from modules.excluded_colors import (
71
- add_color,
72
- delete_color,
73
- build_dataframe,
74
- on_input,
75
- excluded_color_list,
76
- on_color_display_select
77
- )
78
  from modules.misc import (
79
  get_filename,
80
  convert_ratio_to_dimensions,
@@ -91,6 +88,7 @@ import spaces
91
 
92
  input_image_palette = []
93
  current_prerendered_image = gr.State("./images/Beeuty-1.png")
 
94
  #---if workspace = local or colab---
95
 
96
  # Authenticate with Hugging Face
@@ -393,7 +391,7 @@ def generate_image_to_image(prompt_mash, image_input_path, image_strength, steps
393
  joint_attention_kwargs={"scale": lora_scale},
394
  output_type="pil",
395
  ).images[0]
396
- return final_image
397
 
398
  @spaces.GPU(duration=140)
399
  def run_lora(prompt, image_input, image_strength, cfg_scale, steps, selected_index, randomize_seed, seed, width, height, lora_scale, enlarge, use_conditioned_image=False, progress=gr.Progress(track_tqdm=True)):
@@ -589,8 +587,8 @@ title = "Hex Game Maker"
589
  with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty', delete_cache=(43200, 43200), head_paths="head.htm") as app:
590
  with gr.Row():
591
  gr.Markdown("""
592
- # Hex Game Maker
593
- ## Transform Your Images into Mesmerizing Table Top Map Masterpieces! ⬢""", elem_classes="intro")
594
  with gr.Row():
595
  with gr.Accordion("Welcome to Hex Game Maker, the ultimate tool for transforming your images into stunning hexagon grid artworks. Whether you're a tabletop game enthusiast, a digital artist, or someone who loves unique patterns, Hex Game Maker has something for you.", open=False, elem_classes="intro"):
596
  gr.Markdown ("""
@@ -660,35 +658,37 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty',
660
  outputs=[input_image], scroll_to_output=True,
661
  )
662
  with gr.Column(scale=0):
663
- # with gr.Accordion("Sketch Pad", open = False):
664
- # with gr.Row():
665
- # sketch_image = gr.Sketchpad(
666
- # label="Input Image",
667
- # type="filepath",
668
- # #invert_colors=True,
669
- # #source=['upload','canvas'],
670
- # #tool=['editor','select','color-sketch'],
671
- # interactive=True,
672
- # elem_classes="centered solid imgcontainer",
673
- # key="imgInput",
674
- # image_mode="RGB",
675
- # format="PNG"
676
- # )
677
- # with gr.Row():
678
- # with gr.Column(scale=1):
679
- # sketch_replace_input_image_button = gr.Button(
680
- # "Replace Input Image with sketch",
681
- # elem_id="sketch_replace_input_image_button",
682
- # elem_classes="solid"
683
- # )
684
- # with gr.Column(scale=2):
685
- # alpha_composite_slider = gr.Slider(0,100,50,0.5, label="Alpha Composite Sketch to Input Image", elem_id="alpha_composite_slider")
 
 
 
686
 
687
  with gr.Accordion("Image Filters", open = False):
688
  with gr.Row():
689
  with gr.Column():
690
  composite_color = gr.ColorPicker(label="Color", value="#ede9ac44")
691
- with gr.Column():
692
  composite_opacity = gr.Slider(label="Opacity %", minimum=0, maximum=100, value=50, interactive=True)
693
  with gr.Row():
694
  composite_button = gr.Button("Composite", elem_classes="solid")
@@ -735,8 +735,8 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty',
735
  scroll_to_output=True
736
  )
737
  with gr.Row():
738
- with gr.Accordion("Generative AI", open = False):
739
- with gr.Column(scale=3):
740
  map_options = gr.Dropdown(
741
  label="Map Options",
742
  choices=list(PROMPTS.keys()),
@@ -769,49 +769,66 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty',
769
  inputs=[map_options],
770
  outputs=[prompt, negative_prompt_textbox, prompt_notes_label]
771
  )
772
-
773
- with gr.Column(scale=1, elem_id="gen_column"):
774
- generate_button = gr.Button("Generate From Map Options, Input Image and LoRa Style", variant="primary", elem_id="gen_btn")
775
  with gr.Row():
776
- with gr.Column(scale=0):
777
- selected_info = gr.Markdown("")
778
- lora_gallery = gr.Gallery(
779
- [(item["image"], item["title"]) for item in loras],
780
- label="LoRA Styles",
781
- allow_preview=False,
782
- columns=3,
783
- elem_id="lora_gallery",
784
- show_share_button=False
785
- )
 
 
786
  with gr.Accordion("Custom LoRA", open=False):
787
  with gr.Group():
788
- custom_lora = gr.Textbox(label="Enter Custom LoRA", placeholder="prithivMLmods/Canopus-LoRA-Flux-Anime")
789
  gr.Markdown("[Check the list of FLUX LoRA's](https://huggingface.co/models?other=base_model:adapter:black-forest-labs/FLUX.1-dev)", elem_id="lora_list")
790
  custom_lora_info = gr.HTML(visible=False)
791
  custom_lora_button = gr.Button("Remove custom LoRA", visible=False)
792
  with gr.Column(scale=2):
793
- with gr.Accordion("Template Image Styles", open = False):
 
 
 
 
 
 
794
  with gr.Row():
795
  with gr.Column(scale=1):
796
  # Gallery from PRE_RENDERED_IMAGES GOES HERE
797
- prerendered_image_gallery = gr.Gallery(label="Image Gallery", show_label=True, value=build_prerendered_images_by_quality(3), elem_id="gallery", elem_classes="solid", type="filepath", columns=[3], rows=[3], preview=False ,object_fit="contain", height="auto", format="png",allow_preview=False)
798
- with gr.Column(scale=1):
 
 
 
 
 
 
 
 
 
 
 
 
799
  replace_input_image_button = gr.Button(
800
  "Replace Input Image",
801
  elem_id="prerendered_replace_input_image_button",
802
  elem_classes="solid"
803
  )
804
- generate_input_image_from_gallery = gr.Button(
805
- "Generate AI Image from Gallery",
806
- elem_id="generate_input_image_from_gallery",
807
- elem_classes="solid"
808
- )
809
- with gr.Accordion("Advanced Settings", open=False):
810
  with gr.Row():
811
- image_strength = gr.Slider(label="Image Guidance Strength (prompt percentage)", info="Lower means more image influence", minimum=0.1, maximum=1.0, step=0.01, value=0.8)
812
  with gr.Column():
813
  with gr.Row():
814
- cfg_scale = gr.Slider(label="CFG Scale", minimum=1, maximum=20, step=0.5, value=4.5)
815
  steps = gr.Slider(label="Steps", minimum=1, maximum=50, step=1, value=30)
816
 
817
  with gr.Row():
@@ -839,13 +856,18 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty',
839
  outputs=[width]
840
  )
841
  with gr.Row():
842
- randomize_seed = gr.Checkbox(True, label="Randomize seed")
843
- seed = gr.Slider(label="Seed", minimum=0, maximum=MAX_SEED, step=1, value=0, randomize=True)
844
  lora_scale = gr.Slider(label="LoRA Scale", minimum=0, maximum=3, step=0.01, value=1.01)
845
  with gr.Row():
846
  gr.HTML(value=getVersions(), visible=True, elem_id="versions")
847
 
848
  # Event Handlers
 
 
 
 
 
849
  #use conditioned_image as the input_image for generate_input_image_click
850
  generate_input_image_from_gallery.click(
851
  fn=run_lora,
@@ -858,17 +880,17 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty',
858
  outputs=gr.State(current_prerendered_image), # Update the state with the selected image
859
  show_api=False, scroll_to_output=True
860
  )
861
- # alpha_composite_slider.change(
862
- # fn=alpha_composite_with_control,
863
- # inputs=[input_image, sketch_image, alpha_composite_slider],
864
- # outputs=[input_image],
865
- # scroll_to_output=True
866
- # )
867
- # sketch_replace_input_image_button.click(
868
- # lambda sketch_image: replace_input_with_sketch_image(sketch_image),
869
- # inputs=[sketch_image],
870
- # outputs=[input_image], scroll_to_output=True
871
- # )
872
  # replace input image with selected prerendered image gallery selection
873
  replace_input_image_button.click(
874
  lambda: current_prerendered_image.value,
 
1
  import os
 
 
2
  import time
3
  import random
4
  import logging
5
  from gradio.blocks import postprocess_update_dict
6
  import numpy as np
7
  from typing import Any, Dict, List, Optional, Union
 
8
 
9
  import torch
10
  from PIL import Image
 
39
  open_image,
40
  build_prerendered_images_by_quality,
41
  upscale_image,
42
+ # lerp_imagemath,
43
+ # shrink_and_paste_on_blank,
44
  show_lut,
45
  apply_lut_to_image_path,
46
  multiply_and_blend_images,
 
54
  default_lut_example_img,
55
  lut_files,
56
  MAX_SEED,
57
+ # lut_folder,cards,
58
+ # cards_alternating,
59
+ # card_colors,
60
+ # card_colors_alternating,
61
  pre_rendered_maps_paths,
62
  PROMPTS,
63
  NEGATIVE_PROMPTS,
64
  TARGET_SIZE,
65
  temp_files
66
  )
67
+ # from modules.excluded_colors import (
68
+ # add_color,
69
+ # delete_color,
70
+ # build_dataframe,
71
+ # on_input,
72
+ # excluded_color_list,
73
+ # on_color_display_select
74
+ # )
75
  from modules.misc import (
76
  get_filename,
77
  convert_ratio_to_dimensions,
 
88
 
89
  input_image_palette = []
90
  current_prerendered_image = gr.State("./images/Beeuty-1.png")
91
+
92
  #---if workspace = local or colab---
93
 
94
  # Authenticate with Hugging Face
 
391
  joint_attention_kwargs={"scale": lora_scale},
392
  output_type="pil",
393
  ).images[0]
394
+ return final_image
395
 
396
  @spaces.GPU(duration=140)
397
  def run_lora(prompt, image_input, image_strength, cfg_scale, steps, selected_index, randomize_seed, seed, width, height, lora_scale, enlarge, use_conditioned_image=False, progress=gr.Progress(track_tqdm=True)):
 
587
  with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty', delete_cache=(43200, 43200), head_paths="head.htm") as app:
588
  with gr.Row():
589
  gr.Markdown("""
590
+ # Hex Game Maker Development Features
591
+ ## This project includes features that did not make it into the main project! ⬢""", elem_classes="intro")
592
  with gr.Row():
593
  with gr.Accordion("Welcome to Hex Game Maker, the ultimate tool for transforming your images into stunning hexagon grid artworks. Whether you're a tabletop game enthusiast, a digital artist, or someone who loves unique patterns, Hex Game Maker has something for you.", open=False, elem_classes="intro"):
594
  gr.Markdown ("""
 
658
  outputs=[input_image], scroll_to_output=True,
659
  )
660
  with gr.Column(scale=0):
661
+ with gr.Accordion("Sketch Pad (WIP)", open = False):
662
+ with gr.Row():
663
+ sketch_image = gr.Sketchpad(
664
+ label="Sketch Image",
665
+ type="filepath",
666
+ #invert_colors=True,
667
+ #source=['upload','canvas'],
668
+ #tool=['editor','select','color-sketch'],
669
+ placeholder="Draw a sketch or upload an image. Currently broken in gradio 5.17.1",
670
+ interactive=True,
671
+ elem_classes="centered solid imgcontainer",
672
+ key="imgSketch",
673
+ image_mode="RGB",
674
+ format="PNG",
675
+ width=512, # Default width
676
+ height=512 # Default height
677
+ )
678
+ with gr.Row():
679
+ with gr.Column(scale=1):
680
+ sketch_replace_input_image_button = gr.Button(
681
+ "Replace Input Image with sketch",
682
+ elem_id="sketch_replace_input_image_button",
683
+ elem_classes="solid"
684
+ )
685
+ with gr.Column(scale=2):
686
+ alpha_composite_slider = gr.Slider(0,100,50,0.5, label="Alpha Composite Sketch to Input Image", elem_id="alpha_composite_slider")
687
 
688
  with gr.Accordion("Image Filters", open = False):
689
  with gr.Row():
690
  with gr.Column():
691
  composite_color = gr.ColorPicker(label="Color", value="#ede9ac44")
 
692
  composite_opacity = gr.Slider(label="Opacity %", minimum=0, maximum=100, value=50, interactive=True)
693
  with gr.Row():
694
  composite_button = gr.Button("Composite", elem_classes="solid")
 
735
  scroll_to_output=True
736
  )
737
  with gr.Row():
738
+ with gr.Accordion("Generative AI", open = True ):
739
+ with gr.Column():
740
  map_options = gr.Dropdown(
741
  label="Map Options",
742
  choices=list(PROMPTS.keys()),
 
769
  inputs=[map_options],
770
  outputs=[prompt, negative_prompt_textbox, prompt_notes_label]
771
  )
 
 
 
772
  with gr.Row():
773
+ with gr.Column(scale=1):
774
+ generate_button = gr.Button("Generate From Map Options, Input Image and LoRa Style", variant="primary", elem_id="gen_btn")
775
+ with gr.Accordion("LoRA Styles", open=False):
776
+ selected_info = gr.Markdown("")
777
+ lora_gallery = gr.Gallery(
778
+ [(item["image"], item["title"]) for item in loras],
779
+ label="LoRA Styles",
780
+ allow_preview=False,
781
+ columns=3,
782
+ elem_id="lora_gallery",
783
+ show_share_button=False
784
+ )
785
  with gr.Accordion("Custom LoRA", open=False):
786
  with gr.Group():
787
+ custom_lora = gr.Textbox(label="Enter Custom LoRA. **NOT TESTED**", placeholder="prithivMLmods/Canopus-LoRA-Flux-Anime")
788
  gr.Markdown("[Check the list of FLUX LoRA's](https://huggingface.co/models?other=base_model:adapter:black-forest-labs/FLUX.1-dev)", elem_id="lora_list")
789
  custom_lora_info = gr.HTML(visible=False)
790
  custom_lora_button = gr.Button("Remove custom LoRA", visible=False)
791
  with gr.Column(scale=2):
792
+ generate_input_image_from_gallery = gr.Button(
793
+ "Generate AI Image from Template Image",
794
+ elem_id="generate_input_image_from_gallery",
795
+ elem_classes="solid",
796
+ variant="primary"
797
+ )
798
+ with gr.Accordion("Template Images", open = False):
799
  with gr.Row():
800
  with gr.Column(scale=1):
801
  # Gallery from PRE_RENDERED_IMAGES GOES HERE
802
+ prerendered_image_gallery = gr.Gallery(label="Template Gallery", show_label=True, value=build_prerendered_images_by_quality(3,'thumbnail'), elem_id="gallery", elem_classes="solid", type="filepath", columns=[3], rows=[3], preview=False ,object_fit="contain", height="auto", format="png",allow_preview=False)
803
+ with gr.Column(scale=1):
804
+ # def handle_login(request: gr.Request):
805
+ # # Extract user information from the request
806
+ # user_info = {
807
+ # "username": request.username,
808
+ # "session_hash": request.session_hash,
809
+ # "headers": dict(request.headers),
810
+ # "client": request.client,
811
+ # "query_params": dict(request.query_params),
812
+ # "path_params": dict(request.path_params)
813
+ # }
814
+ # print(f"\n{user_info}\n")
815
+ # return user_info
816
  replace_input_image_button = gr.Button(
817
  "Replace Input Image",
818
  elem_id="prerendered_replace_input_image_button",
819
  elem_classes="solid"
820
  )
821
+ # login_button = gr.LoginButton()
822
+ # user_info_output = gr.JSON(label="User Information")
823
+ # login_button.click(fn=handle_login, inputs=[], outputs=user_info_output)
824
+
825
+ with gr.Row():
826
+ with gr.Accordion("Advanced Settings", open=False):
827
  with gr.Row():
828
+ image_strength = gr.Slider(label="Image Guidance Strength (prompt percentage)", info="Lower means more image influence", minimum=0.1, maximum=1.0, step=0.01, value=0.9)
829
  with gr.Column():
830
  with gr.Row():
831
+ cfg_scale = gr.Slider(label="CFG Scale", minimum=1, maximum=20, step=0.5, value=5.0)
832
  steps = gr.Slider(label="Steps", minimum=1, maximum=50, step=1, value=30)
833
 
834
  with gr.Row():
 
856
  outputs=[width]
857
  )
858
  with gr.Row():
859
+ randomize_seed = gr.Checkbox(False, label="Randomize seed",elem_id="rnd_seed_chk")
860
+ seed = gr.Slider(label="Seed", minimum=0, maximum=MAX_SEED, step=1, value=0, randomize=True, elem_id="rnd_seed")
861
  lora_scale = gr.Slider(label="LoRA Scale", minimum=0, maximum=3, step=0.01, value=1.01)
862
  with gr.Row():
863
  gr.HTML(value=getVersions(), visible=True, elem_id="versions")
864
 
865
  # Event Handlers
866
+ composite_button.click(
867
+ fn=lambda input_image, composite_color, composite_opacity: gr.Warning("Please upload an Input Image to get started.") if input_image is None else change_color(input_image, composite_color, composite_opacity),
868
+ inputs=[input_image, composite_color, composite_opacity],
869
+ outputs=[input_image]
870
+ )
871
  #use conditioned_image as the input_image for generate_input_image_click
872
  generate_input_image_from_gallery.click(
873
  fn=run_lora,
 
880
  outputs=gr.State(current_prerendered_image), # Update the state with the selected image
881
  show_api=False, scroll_to_output=True
882
  )
883
+ alpha_composite_slider.change(
884
+ fn=alpha_composite_with_control,
885
+ inputs=[input_image, sketch_image, alpha_composite_slider],
886
+ outputs=[input_image],
887
+ scroll_to_output=True
888
+ )
889
+ sketch_replace_input_image_button.click(
890
+ lambda sketch_image: replace_input_with_sketch_image(sketch_image),
891
+ inputs=[sketch_image],
892
+ outputs=[input_image], scroll_to_output=True
893
+ )
894
  # replace input image with selected prerendered image gallery selection
895
  replace_input_image_button.click(
896
  lambda: current_prerendered_image.value,
images/prerendered/th/BurntCity.png ADDED

Git LFS Details

  • SHA256: 15250640d3b7fa1906329a55d36666b1be7a317ece2aa82971d0cb1f7524036e
  • Pointer size: 131 Bytes
  • Size of remote file: 124 kB
images/prerendered/th/CONQ_Caustic_Valley.png ADDED

Git LFS Details

  • SHA256: ff0d9973bb78e1c3f6cb861d62685523d6689226546df9fbcf154b5a8ba80a38
  • Pointer size: 131 Bytes
  • Size of remote file: 151 kB
images/prerendered/th/CONQ_Frozen_City.png ADDED

Git LFS Details

  • SHA256: 7be3b98d5ff7fbff7a62684956d07269544f9d42ed494b222eac3ead74acc838
  • Pointer size: 131 Bytes
  • Size of remote file: 153 kB
images/prerendered/th/CONQ_Hellebore_Springs.png ADDED

Git LFS Details

  • SHA256: 1ad4db361c05bb4740a332289b0b4004a696c2e80e7cc3718141137d5a6a02c9
  • Pointer size: 131 Bytes
  • Size of remote file: 122 kB
images/prerendered/th/CONQ_Terra_Therma.png ADDED

Git LFS Details

  • SHA256: b4f4bcaf20c7e0c849aea2059f9866efdbbe41ef93cfba32ce31ab0b56ce8503
  • Pointer size: 131 Bytes
  • Size of remote file: 167 kB
images/prerendered/th/CONQ_Viridian_Bog.png ADDED

Git LFS Details

  • SHA256: 607be3f687a1af1e287aae59ea175ebfaef2879d7269c8274aefd5a8038a05c1
  • Pointer size: 131 Bytes
  • Size of remote file: 123 kB
images/prerendered/th/Firefly_alien_canyons_1.png ADDED

Git LFS Details

  • SHA256: c94dc7666ccec1c1f4a22d8fcb782c65ecbf35e515d382fbcc8e8d029c5f20a2
  • Pointer size: 130 Bytes
  • Size of remote file: 96.6 kB
images/prerendered/th/Firefly_alien_canyons_2.png ADDED

Git LFS Details

  • SHA256: c4da35c3f89481118f1b443d088f3244ebfc0d5cb471970363a8552f43e0a848
  • Pointer size: 131 Bytes
  • Size of remote file: 112 kB
images/prerendered/th/Firefly_alien_dry_canyons_1.png ADDED

Git LFS Details

  • SHA256: f6f8475316a7e7123ebf77dab2b2fe15828b16bf7e36abc8bc35780ac3f0c9b8
  • Pointer size: 131 Bytes
  • Size of remote file: 107 kB
images/prerendered/th/Firefly_alien_dry_canyons_2.png ADDED

Git LFS Details

  • SHA256: 797a17c5742603c4f39bad730b8b72952a8a86df06640f86b71679280b25972c
  • Pointer size: 131 Bytes
  • Size of remote file: 106 kB
images/prerendered/th/Firefly_alien_map_1.png ADDED

Git LFS Details

  • SHA256: caa33cbd52ed4a09e77db9179747896ef2736043e389a7fc7496c44a4c9b83e7
  • Pointer size: 131 Bytes
  • Size of remote file: 107 kB
images/prerendered/th/Firefly_hpg_terrain_1.png ADDED

Git LFS Details

  • SHA256: e41cff8c35071e778908717a832dfe3cd90448fd1808cb9b38a7ef643bf7468b
  • Pointer size: 131 Bytes
  • Size of remote file: 155 kB
images/prerendered/th/Firefly_hpg_terrain_2.png ADDED

Git LFS Details

  • SHA256: 4fa43efd23a7832bda93f27513067aa135604731e302c426a17314c2ff9b5274
  • Pointer size: 131 Bytes
  • Size of remote file: 192 kB
images/prerendered/th/Firefly_river_dry_1.png ADDED

Git LFS Details

  • SHA256: f21c7ae2606ace8282c92d605be6236f848b5412306acbe9705951eec43eb8a3
  • Pointer size: 131 Bytes
  • Size of remote file: 109 kB
images/prerendered/th/Firefly_river_running_1.png ADDED

Git LFS Details

  • SHA256: 9fc88b624d8e4e64db681a451a2c1a58cfa897fa2ace5eefd0d1e4696b5a219f
  • Pointer size: 131 Bytes
  • Size of remote file: 111 kB
images/prerendered/th/Firefly_topographical_alien_desert_1.png ADDED

Git LFS Details

  • SHA256: b48f02ec205293756abab3965614f81187e68b4da2ee4c2a7b3a297551b9d58d
  • Pointer size: 131 Bytes
  • Size of remote file: 110 kB
images/prerendered/th/Firefly_topographical_canyon_1.png ADDED

Git LFS Details

  • SHA256: db29ea5f8b2baf7e7f8ff45cccd89b7ccbe910f00aa1f3bb042249af6e2fd550
  • Pointer size: 131 Bytes
  • Size of remote file: 109 kB
images/prerendered/th/Firefly_topographical_height_map_1.png ADDED

Git LFS Details

  • SHA256: f4d2c1cfc081ad5716cb7784fd725da2914fa2ee9becde41ee30f34fa7cb5608
  • Pointer size: 130 Bytes
  • Size of remote file: 89 kB
images/prerendered/th/Firefly_topographical_height_map_2.png ADDED

Git LFS Details

  • SHA256: aff130572436a77be5acba5dbc5806bcb3d3c9584bd6e9b7708ddf61b1706c60
  • Pointer size: 130 Bytes
  • Size of remote file: 92.2 kB
images/prerendered/th/Firefly_topographical_height_map_3.png ADDED

Git LFS Details

  • SHA256: bc43d5069b2d192054410d0efba2189218be8b2745165627e86b55a454f0efd7
  • Pointer size: 130 Bytes
  • Size of remote file: 90.1 kB
images/prerendered/th/Firefly_topographical_height_map_5.png ADDED

Git LFS Details

  • SHA256: aee403bc7748ee32e29e0abf106fb3b52078be6cf9416e04a5f28cc38387d97d
  • Pointer size: 131 Bytes
  • Size of remote file: 106 kB
images/prerendered/th/Firefly_topographical_height_map_6.png ADDED

Git LFS Details

  • SHA256: 949925ef7c688b05d25dd64559561755141a26cbf16cc2b8ae8c853c96c70e5d
  • Pointer size: 131 Bytes
  • Size of remote file: 110 kB
images/prerendered/th/Firefly_topographical_marble_1.png ADDED

Git LFS Details

  • SHA256: 88700c8ab316677c3d4201cadd05b80b425ab4ad8ee47364b8e04769fb54475e
  • Pointer size: 131 Bytes
  • Size of remote file: 123 kB
images/prerendered/th/Firefly_topographical_moon_1.png ADDED

Git LFS Details

  • SHA256: 4709bd8290066c19ff0de550b752470667adc918431bfe1d4ee3f02f9b49c9a1
  • Pointer size: 131 Bytes
  • Size of remote file: 108 kB
images/prerendered/th/Genison.png ADDED

Git LFS Details

  • SHA256: 0a28bb5a6c27dd518ddfa8277d40b2c8897627c29f270123ed23cf1a2d46c427
  • Pointer size: 131 Bytes
  • Size of remote file: 145 kB
images/prerendered/th/Hex_gen_map.PNG ADDED

Git LFS Details

  • SHA256: a03ada9951e5df9b7a8e3876d7ae080f1555624991f6b24eca575beb0e9eeecd
  • Pointer size: 131 Bytes
  • Size of remote file: 133 kB
images/prerendered/th/alien_orb_land_1.png ADDED

Git LFS Details

  • SHA256: 11275d5ad7b1161d282a68d526e2ee17e92db654365316d74bb4faf753b4a0ce
  • Pointer size: 131 Bytes
  • Size of remote file: 194 kB
images/prerendered/th/alien_prarie_1.png ADDED

Git LFS Details

  • SHA256: 92d8d24dccb39dcd87222c52a8adb51f59e8d074c980c982451e2a332ca1ff1d
  • Pointer size: 131 Bytes
  • Size of remote file: 168 kB
images/prerendered/th/alien_world_1.png ADDED

Git LFS Details

  • SHA256: c6e9ee30989c9c215e895cb99283ba550c7422d1a7e96cd8bf0036c397671986
  • Pointer size: 131 Bytes
  • Size of remote file: 102 kB
images/prerendered/th/alien_world_2.png ADDED

Git LFS Details

  • SHA256: b94d63dd6995c84bc9e6bb202ecb7148b73c1b08020930defd5a017502d9fc20
  • Pointer size: 131 Bytes
  • Size of remote file: 110 kB
images/prerendered/th/alien_world_3.png ADDED

Git LFS Details

  • SHA256: 41e4e52e386554461a5e48edb1f0c6685785bb519dfead891176b537e5dc567a
  • Pointer size: 131 Bytes
  • Size of remote file: 108 kB
images/prerendered/th/alien_world_4.png ADDED

Git LFS Details

  • SHA256: 95a7581538b0595c3c93c5d3bd394bbc9119729fc5dc9f034b80286ec961832a
  • Pointer size: 131 Bytes
  • Size of remote file: 109 kB
images/prerendered/th/alien_world_5.png ADDED

Git LFS Details

  • SHA256: 7ff81f048811ce4099c817b21412076604d4ded4fa8e9abf1d7daf2d7b62fc10
  • Pointer size: 131 Bytes
  • Size of remote file: 109 kB
images/prerendered/th/canyon_water_1.png ADDED

Git LFS Details

  • SHA256: ae8cee2ea821eba2b99760c005f94a92e549c5143f57c1d5434dd66d6b7c25a3
  • Pointer size: 131 Bytes
  • Size of remote file: 190 kB
images/prerendered/th/cute3dkawaii.PNG ADDED

Git LFS Details

  • SHA256: 57c63bf783093b57235047fde2d17789fd13d17487029823ff3fac7aa0a84b19
  • Pointer size: 131 Bytes
  • Size of remote file: 103 kB
images/prerendered/th/dark_dirt_elevations_1.png ADDED

Git LFS Details

  • SHA256: 832b5a3b6efbf5a3d29e4e1818871f1c21ff4de7959454ba4e9a819bd5f7b990
  • Pointer size: 131 Bytes
  • Size of remote file: 185 kB
images/prerendered/th/donald_park.png ADDED

Git LFS Details

  • SHA256: b4313dfdc2537b31fb2877cf783bb0b11f957bbd9be1a8da13b53680ba1a5084
  • Pointer size: 131 Bytes
  • Size of remote file: 202 kB
images/prerendered/th/elevated_peninsula_1.png ADDED

Git LFS Details

  • SHA256: 2560ef9d161e3fe7c8c3afdef95d33e82d517a2fe6606498e257c33ac5907de8
  • Pointer size: 131 Bytes
  • Size of remote file: 131 kB
images/prerendered/th/fractal_islands.png ADDED

Git LFS Details

  • SHA256: aa412eefde22496c2b067c1e6552870285ccfe5fcd26214120b5d85231d13e72
  • Pointer size: 131 Bytes
  • Size of remote file: 143 kB
images/prerendered/th/green_farming_alien_world_1.png ADDED

Git LFS Details

  • SHA256: 061f90226252e1836f903fdac6f440d5db74773d60ba383fa06c75ad7ad151c8
  • Pointer size: 131 Bytes
  • Size of remote file: 109 kB
images/prerendered/th/green_farming_alien_world_2.png ADDED

Git LFS Details

  • SHA256: 8924f69c9e3d0254e5cecfe3ad7b70952b27f1fac4c0544ed13165f8d1d4c38f
  • Pointer size: 131 Bytes
  • Size of remote file: 110 kB
images/prerendered/th/grey_barren_alien_world_1.png ADDED

Git LFS Details

  • SHA256: e26b2b25c14fdcc23b23048e70b442d435eba65776e41fae81565254e15dadcb
  • Pointer size: 131 Bytes
  • Size of remote file: 106 kB
images/prerendered/th/grey_barren_alien_world_2.png ADDED

Git LFS Details

  • SHA256: 528a1198c3230d00258fc76bdb891621f48121cc93ea8d4d9e0fed9d8e73ae71
  • Pointer size: 131 Bytes
  • Size of remote file: 109 kB
images/prerendered/th/grey_barren_alien_world_3.png ADDED

Git LFS Details

  • SHA256: 3f4be89dff3151db54a3109cdb206cd23073edc9581dd143f946a2832e9172e8
  • Pointer size: 131 Bytes
  • Size of remote file: 104 kB
images/prerendered/th/grey_barren_alien_world_4.png ADDED

Git LFS Details

  • SHA256: ade1516c212d4fbbbe7b68e18e1dd2ce0124f41a8e100e55e819afc0cbf2374f
  • Pointer size: 131 Bytes
  • Size of remote file: 104 kB
images/prerendered/th/grey_barren_alien_world_5.png ADDED

Git LFS Details

  • SHA256: e6701c2d889cf3fbad882a33060a7c9f450bcce7ec5978578d0280b67f7d1bf7
  • Pointer size: 131 Bytes
  • Size of remote file: 103 kB
images/prerendered/th/grey_barren_alien_world_6.png ADDED

Git LFS Details

  • SHA256: 2e235dee195187c7c7566d0b2fb0e2f9e3838e3e7d5402333944d8432363ab9b
  • Pointer size: 131 Bytes
  • Size of remote file: 106 kB
images/prerendered/th/grey_barren_alien_world_7.png ADDED

Git LFS Details

  • SHA256: ee2cdb49e34e04e6daef49be633121f8fb37362b2b062de47c9392ae22190948
  • Pointer size: 130 Bytes
  • Size of remote file: 94.8 kB