Added level elements

This commit is contained in:
Rob Kelly 2025-03-06 19:10:44 -07:00
parent b695492357
commit 965605a002
34 changed files with 831 additions and 48 deletions

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,2 @@
# Blender 4.3.2 MTL File: 'hallway.blend'
# www.blender.org

View File

@ -0,0 +1,37 @@
# Blender 4.3.2
# www.blender.org
mtllib hallway.mtl
o Cube
v -2.000000 -2.000000 2.000000
v -2.000000 2.000000 2.000000
v -2.000000 -2.000000 -2.000000
v -2.000000 2.000000 -2.000000
v 2.000000 -2.000000 2.000000
v 2.000000 2.000000 2.000000
v 2.000000 -2.000000 -2.000000
v 2.000000 2.000000 -2.000000
vn -0.0000 -0.0000 1.0000
vn -0.0000 -0.0000 -1.0000
vn -0.0000 1.0000 -0.0000
vn -0.0000 -1.0000 -0.0000
vt 0.500000 0.000000
vt 0.500000 0.500000
vt 0.000000 0.500000
vt 0.000000 0.000000
vt 0.500000 0.500000
vt 0.500000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 1.000000 0.500000
vt 0.500000 0.500000
vt 0.500000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.500000 1.000000
vt 0.500000 0.500000
vt 1.000000 0.500000
s 0
f 3/1/1 7/2/1 8/3/1 4/4/1
f 5/5/2 1/6/2 2/7/2 6/8/2
f 3/9/3 1/10/3 5/11/3 7/12/3
f 8/13/4 6/14/4 2/15/4 4/16/4

Binary file not shown.

BIN
asset_dev/level/hallway/hallway_1_C.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
asset_dev/level/hallway/hallway_1_E.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
asset_dev/level/hallway/hallway_1_M.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
asset_dev/level/hallway/hallway_1_N.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
asset_dev/level/hallway/hallway_1_R.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,37 @@
# Blender 4.3.2
# www.blender.org
mtllib hallway.mtl
o Cube
v -2.000000 -2.000000 2.000000
v -2.000000 2.000000 2.000000
v -2.000000 -2.000000 -2.000000
v -2.000000 2.000000 -2.000000
v 2.000000 -2.000000 2.000000
v 2.000000 2.000000 2.000000
v 2.000000 -2.000000 -2.000000
v 2.000000 2.000000 -2.000000
vn -0.0000 -0.0000 1.0000
vn -0.0000 -0.0000 -1.0000
vn -0.0000 1.0000 -0.0000
vn -0.0000 -1.0000 -0.0000
vt 0.500000 0.000000
vt 0.500000 0.500000
vt 0.000000 0.500000
vt 0.000000 0.000000
vt 0.500000 0.500000
vt 0.500000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 1.000000 0.500000
vt 0.500000 0.500000
vt 0.500000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.500000 1.000000
vt 0.500000 0.500000
vt 1.000000 0.500000
s 0
f 3/1/1 7/2/1 8/3/1 4/4/1
f 5/5/2 1/6/2 2/7/2 6/8/2
f 3/9/3 1/10/3 5/11/3 7/12/3
f 8/13/4 6/14/4 2/15/4 4/16/4

View File

@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://bj6v5kgn4of2t"
path="res://.godot/imported/hallway.obj-c2558675b5331fb5d31769915011b0c9.mesh"
[deps]
files=["res://.godot/imported/hallway.obj-c2558675b5331fb5d31769915011b0c9.mesh"]
source_file="res://assets/level/hallway/hallway.obj"
dest_files=["res://.godot/imported/hallway.obj-c2558675b5331fb5d31769915011b0c9.mesh", "res://.godot/imported/hallway.obj-c2558675b5331fb5d31769915011b0c9.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false

BIN
assets/level/hallway/hallway_1_C.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cj5em70wq1l6f"
path="res://.godot/imported/hallway_1_C.png-9a126edbc39655070332e0af1a5ee780.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/level/hallway/hallway_1_C.png"
dest_files=["res://.godot/imported/hallway_1_C.png-9a126edbc39655070332e0af1a5ee780.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/level/hallway/hallway_1_E.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bi87m5noufg5h"
path="res://.godot/imported/hallway_1_E.png-6ecbafa7ad140eb5c3224e031759ac7c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/level/hallway/hallway_1_E.png"
dest_files=["res://.godot/imported/hallway_1_E.png-6ecbafa7ad140eb5c3224e031759ac7c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/level/hallway/hallway_1_M.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c6ublhoexsuk"
path="res://.godot/imported/hallway_1_M.png-b3c5e22318ae1f3d03aaa8c1818762f7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/level/hallway/hallway_1_M.png"
dest_files=["res://.godot/imported/hallway_1_M.png-b3c5e22318ae1f3d03aaa8c1818762f7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/level/hallway/hallway_1_N.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dtp6ctfi5l4v8"
path="res://.godot/imported/hallway_1_N.png-51db985672dd9b41c5fc36f4a085de59.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/level/hallway/hallway_1_N.png"
dest_files=["res://.godot/imported/hallway_1_N.png-51db985672dd9b41c5fc36f4a085de59.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://assets/level/hallway/hallway_1_N.png"
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/level/hallway/hallway_1_R.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://5ua6bne0btou"
path="res://.godot/imported/hallway_1_R.png-9be1c4defb83d9d71353c85d69b7912b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/level/hallway/hallway_1_R.png"
dest_files=["res://.godot/imported/hallway_1_R.png-9be1c4defb83d9d71353c85d69b7912b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View File

@ -23,6 +23,7 @@ seamless_blend_skirt = 0.5
noise = ExtResource("2_u4cba") noise = ExtResource("2_u4cba")
[resource] [resource]
resource_local_to_scene = true
render_priority = 0 render_priority = 0
shader = ExtResource("1_euy6e") shader = ExtResource("1_euy6e")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1) shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)

View File

@ -1,7 +1,46 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://byyjoruj8mwe0"] [gd_resource type="StandardMaterial3D" load_steps=7 format=3 uid="uid://byyjoruj8mwe0"]
[ext_resource type="Material" uid="uid://kkyg6jrp3d53" path="res://assets/materials/gunk_material.tres" id="1_8bovt"] [ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="1_psvij"]
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="2_jaip2"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_ow0bp"]
load_path = "res://.godot/imported/debug_mask.png-fd2bc783338ed9439fe81a4eef9d86da.s3tc.ctex"
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_d70or"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("2_jaip2")
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_0ksu8"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("2_jaip2")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_4xnwj"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("1_psvij")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.25, 0.88, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.02
shader_parameter/uv_scale = Vector2(8, 8)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = SubResource("CompressedTexture2D_ow0bp")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_d70or")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_0ksu8")
[resource] [resource]
next_pass = ExtResource("1_8bovt") next_pass = SubResource("ShaderMaterial_4xnwj")
albedo_color = Color(1, 0.403922, 1, 1) albedo_color = Color(1, 0.403922, 1, 1)

View File

@ -0,0 +1,58 @@
[gd_resource type="MeshLibrary" load_steps=9 format=4 uid="uid://vg03fgf3y33r"]
[ext_resource type="Texture2D" uid="uid://cj5em70wq1l6f" path="res://assets/level/hallway/hallway_1_C.png" id="1_qs4ap"]
[ext_resource type="Texture2D" uid="uid://bi87m5noufg5h" path="res://assets/level/hallway/hallway_1_E.png" id="2_qcnin"]
[ext_resource type="Texture2D" uid="uid://c6ublhoexsuk" path="res://assets/level/hallway/hallway_1_M.png" id="3_qphuf"]
[ext_resource type="Texture2D" uid="uid://dtp6ctfi5l4v8" path="res://assets/level/hallway/hallway_1_N.png" id="4_qv560"]
[ext_resource type="Texture2D" uid="uid://5ua6bne0btou" path="res://assets/level/hallway/hallway_1_R.png" id="5_rd1qh"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tx1dy"]
albedo_texture = ExtResource("1_qs4ap")
metallic = 1.0
metallic_texture = ExtResource("3_qphuf")
roughness_texture = ExtResource("5_rd1qh")
emission_enabled = true
emission_texture = ExtResource("2_qcnin")
normal_enabled = true
normal_texture = ExtResource("4_qv560")
texture_filter = 4
[sub_resource type="ArrayMesh" id="ArrayMesh_f5v27"]
_surfaces = [{
"aabb": AABB(-2, -2, -2, 4, 4, 4),
"format": 34896613377,
"index_count": 24,
"index_data": PackedByteArray("AAABAAIAAwABAAAAAgABAAQABQABAAMABgACAAQABQADAAYABwACAAYABgADAAcA"),
"name": "Cube",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 8,
"vertex_data": PackedByteArray("//8AAAAAAAAAAAAAAAAAAP////8AAAAA//8AAP//AAAAAP//AAAAAAAAAAD//wAAAAD/////AAD///////8AAA==")
}]
blend_shape_mode = 0
[sub_resource type="ArrayMesh" id="ArrayMesh_p1wtp"]
_surfaces = [{
"aabb": AABB(-2, -2, -2, 4, 4, 4),
"attribute_data": PackedByteArray("/3//f/9///8AAP9/AAD///9/AAD/f/9/AAAAAAAA/3//f/9/////f/9//////////38AAP//AAD/f/9/////fw=="),
"format": 34896613399,
"index_count": 24,
"index_data": PackedByteArray("AAABAAIAAgABAAMABAAFAAYABgAFAAcACAAJAAoACgAJAAsADAANAA4ADgANAA8A"),
"material": SubResource("StandardMaterial3D_tx1dy"),
"name": "Cube",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 16,
"vertex_data": PackedByteArray("//8AAAAA/78AAAAAAAD/v/////8AAP+/AAD//wAA/78AAAAA////////AAD/////AAD//////////////////wAAAAD//1TVAAAAAAAAVNX//wAA//9U1f//AAAAAFTV////////VNX/////AABU1QAA/////1TVAAD//wAAVNX/f/9//3//f/9//3//f/9//z//v/8//7//P/+//z//v1TVqipU1aoqVNWqKlTVqipUVVRVVFVUVVRVVFVUVVRV")
}]
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_f5v27")
[resource]
item/0/name = "Hallway 1"
item/0/mesh = SubResource("ArrayMesh_p1wtp")
item/0/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
item/0/mesh_cast_shadow = 1
item/0/shapes = []
item/0/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
item/0/navigation_layers = 1

File diff suppressed because one or more lines are too long

View File

@ -26,6 +26,7 @@ emission_enabled = true
emission = Color(0, 1, 0.301961, 1) emission = Color(0, 1, 0.301961, 1)
emission_energy_multiplier = 10.0 emission_energy_multiplier = 10.0
texture_filter = 2 texture_filter = 2
disable_receive_shadows = true
billboard_mode = 3 billboard_mode = 3
billboard_keep_scale = true billboard_keep_scale = true
particles_anim_h_frames = 1 particles_anim_h_frames = 1
@ -54,6 +55,7 @@ parent_tool = NodePath("..")
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -1) transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -1)
layers = 2 layers = 2
sorting_offset = 1.0
mesh = SubResource("CylinderMesh_j5thb") mesh = SubResource("CylinderMesh_j5thb")
[node name="BeamParticles1" type="GPUParticles3D" parent="."] [node name="BeamParticles1" type="GPUParticles3D" parent="."]

View File

@ -83,6 +83,7 @@ parent_tool = NodePath("../..")
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -0.15, 0, 1, -6.55671e-09, 0, 0, -1) transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -0.15, 0, 1, -6.55671e-09, 0, 0, -1)
layers = 2 layers = 2
sorting_offset = 1.0
mesh = SubResource("CylinderMesh_48buk") mesh = SubResource("CylinderMesh_48buk")
[node name="ReticleDecals" type="Node3D" parent="."] [node name="ReticleDecals" type="Node3D" parent="."]

View File

@ -32,6 +32,7 @@ transform = Transform3D(1, 0, 0, 0, 0.997564, -0.0697565, 0, 0.0697565, 0.997564
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
[node name="PointSpray" parent="CameraPivot/SprayMount/SprayMuzzle" instance=ExtResource("3_6wgkm")] [node name="PointSpray" parent="CameraPivot/SprayMount/SprayMuzzle" instance=ExtResource("3_6wgkm")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
visible = false visible = false
[node name="SprayRumbler" type="Node3D" parent="CameraPivot/SprayMount"] [node name="SprayRumbler" type="Node3D" parent="CameraPivot/SprayMount"]

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@ class_name GunkBody extends StaticBody3D
signal painted signal painted
const CONTINUITY_LIMIT := 128 const CONTINUITY_LIMIT := 16
const BUFFER_LIMIT := 3 const BUFFER_LIMIT := 3
const FACE_EPSILON := 0.01 const FACE_EPSILON := 0.01
const MASK_COLOR := Color.RED const MASK_COLOR := Color.RED
@ -23,7 +23,7 @@ var _clear_total := 0.0
var _clear_total_dirty := true var _clear_total_dirty := true
@onready var mesh: ArrayMesh = mesh_instance.mesh @onready var mesh: ArrayMesh = mesh_instance.mesh
@onready var gunk_mat: ShaderMaterial = mesh_instance.get_surface_override_material(0).next_pass @onready var gunk_mat: ShaderMaterial = mesh_instance.mesh.surface_get_material(0).next_pass
@onready var mask_viewport: SubViewport = %MaskViewport @onready var mask_viewport: SubViewport = %MaskViewport
@onready var mask_control: DrawController = %MaskControl @onready var mask_control: DrawController = %MaskControl
@ -90,16 +90,21 @@ func _is_in_triangle(point: Vector3, v1: Vector3, v2: Vector3, v3: Vector3) -> b
## ##
## Returns -1 if the given point+normal does not lie on a mesh face within tolerance. ## Returns -1 if the given point+normal does not lie on a mesh face within tolerance.
func _get_face(point: Vector3, normal: Vector3) -> int: func _get_face(point: Vector3, normal: Vector3) -> int:
var min_i := -1
var min_sdist := INF
for i in range(meshtool.get_face_count()): for i in range(meshtool.get_face_count()):
if meshtool.get_face_normal(i).distance_squared_to(normal) > FACE_EPSILON: var sdist := meshtool.get_face_normal(i).distance_squared_to(normal)
if sdist > FACE_EPSILON or sdist > min_sdist:
continue continue
# Normals match, so check if the point is on this face # Normals match, so check if the point is on this face
var v1 := meshtool.get_vertex(meshtool.get_face_vertex(i, 0)) var v1 := meshtool.get_vertex(meshtool.get_face_vertex(i, 0))
var v2 := meshtool.get_vertex(meshtool.get_face_vertex(i, 1)) var v2 := meshtool.get_vertex(meshtool.get_face_vertex(i, 1))
var v3 := meshtool.get_vertex(meshtool.get_face_vertex(i, 2)) var v3 := meshtool.get_vertex(meshtool.get_face_vertex(i, 2))
if _is_in_triangle(point, v1, v2, v3): if _is_in_triangle(point, v1, v2, v3):
return i min_i = i
return -1 min_sdist = sdist
return min_i
## UV-unwrap a point+normal in 3D space onto the UV space of this mesh. ## UV-unwrap a point+normal in 3D space onto the UV space of this mesh.

View File

@ -25,7 +25,6 @@ grow_vertical = 2
script = ExtResource("2_kkcjw") script = ExtResource("2_kkcjw")
[node name="DebugDraw" type="Control" parent="."] [node name="DebugDraw" type="Control" parent="."]
visible = false
layout_mode = 3 layout_mode = 3
anchors_preset = 0 anchors_preset = 0
offset_right = 40.0 offset_right = 40.0

View File

@ -14,8 +14,8 @@
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "assets/color_palette.md", "file": "assets/color_palette.md",
"mode": "source", "mode": "preview",
"source": false "source": true
}, },
"icon": "lucide-file", "icon": "lucide-file",
"title": "color_palette" "title": "color_palette"

View File

@ -6,10 +6,22 @@
- \#00081a Grunk Dark Blue <mark style="font-weight: bold; background: #fff; color: #00081a;">SAMPLE</mark> - \#00081a Grunk Dark Blue <mark style="font-weight: bold; background: #fff; color: #00081a;">SAMPLE</mark>
- \#40e0ff Grunk Emission Cyan <mark style="font-weight: bold; background: #000; color: #40e0ff;">SAMPLE</mark> - \#40e0ff Grunk Emission Cyan <mark style="font-weight: bold; background: #000; color: #40e0ff;">SAMPLE</mark>
## World ## World
(using [PAPER 8 PALETTE](https://lospec.com/palette-list/paper-8))
- \#1f244b Tech Shadow <mark style="font-weight: bold; background: #fff; color: #1f244b;">SAMPLE</mark>
- \#654053 Tech Midtone 1 <mark style="font-weight: bold; background: #fff; color: #654053;">SAMPLE</mark>
- \#a8605d Tech Midtone 2 <mark style="font-weight: bold; background: #fff; color: #a8605d;">SAMPLE</mark>
- \#d1a67e Tech Highlight 1 <mark style="font-weight: bold; background: #000; color: #d1a67e;">SAMPLE</mark>
- \#f6e79c Tech Highlight 2 <mark style="font-weight: bold; background: #000; color: #f6e79c;">SAMPLE</mark>
- \#3c6b64 Tech Emissive Shadow <mark style="font-weight: bold; background: #000; color: #3c6b64;">SAMPLE</mark>
- \#60ae7b Tech Emissive Midtone <mark style="font-weight: bold; background: #000; color: #60ae7b;">SAMPLE</mark>
- \#b6cf8e Tech Emissive Highlight <mark style="font-weight: bold; background: #000; color: #b6cf8e;">SAMPLE</mark>
## Props ## Props
- \#e8e1d1 Control White <mark style="font-weight: bold; background: #000; color: #e8e1d1;">SAMPLE</mark> - \#e8e1d1 Control White <mark style="font-weight: bold; background: #000; color: #e8e1d1;">SAMPLE</mark>
- \#b4ac9e Control Dark White <mark style="font-weight: bold; background: #000; color: #b4ac9e;">SAMPLE</mark> - \#b4ac9e Control Dark White <mark style="font-weight: bold; background: #000; color: #b4ac9e;">SAMPLE</mark>
- \#4d4a46 Control Gray <mark style="font-weight: bold; background: #000; color: #4d4a46;">SAMPLE</mark> - \#4d4a46 Control Gray <mark style="font-weight: bold; background: #000; color: #4d4a46;">SAMPLE</mark>
- \#3e3b38 Control Gray Shadow <mark style="font-weight: bold; background: #000; color: #3e3b38;">SAMPLE</mark>
- \#716e6b Control Gray Highlight <mark style="font-weight: bold; background: #000; color: #716e6b;">SAMPLE</mark>
- \#ff4a1c Emissive Blood Orange <mark style="font-weight: bold; background: #000; color: #ff4a1c;">SAMPLE</mark>
- \#dd1c1a DANGER Red <mark style="font-weight: bold; background: #000; color: #dd1c1a;">SAMPLE</mark> - \#dd1c1a DANGER Red <mark style="font-weight: bold; background: #000; color: #dd1c1a;">SAMPLE</mark>
- \#23fb59 SUCCESS Green <mark style="font-weight: bold; background: #000; color: #23fb59;">SAMPLE</mark> - \#23fb59 SUCCESS Green <mark style="font-weight: bold; background: #000; color: #23fb59;">SAMPLE</mark>
- \#39a0ed HI-TECH Blue <mark style="font-weight: bold; background: #000; color: #39a0ed;">SAMPLE</mark> - \#39a0ed HI-TECH Blue <mark style="font-weight: bold; background: #000; color: #39a0ed;">SAMPLE</mark>