Optimize finalized surface artwork

This commit is contained in:
Alexander Sellite 2026-09-01 13:05:05 -04:00
parent 82938d3d57
commit f2239d248a
14 changed files with 1254 additions and 305 deletions

View file

@ -44,9 +44,24 @@ func _validate_protocol_bounds() -> void:
var grid_height: int = SurfaceDrawingProtocol.GRID_HEIGHT
var grid_sizes: Variant = SurfaceDrawingProtocol.GRID_SIZES
var cell_size: float = SurfaceDrawingProtocol.CELL_SIZE
assert(
str(SurfaceDrawingProtocol.CAPABILITY)
== NetworkProtocol.SURFACE_DRAWING_CAPABILITY
)
assert(grid_width == 16)
assert(grid_height == 16)
assert(grid_sizes == [16, 32, 64, 128])
assert(
SurfaceDrawingProtocol.MAX_CANVASES
== SurfaceDrawingProtocol.MAX_ACTIVE_CANVASES
+ SurfaceDrawingProtocol.MAX_FINALIZED_CANVASES
)
assert(
SurfaceDrawingProtocol.MAX_FINALIZED_GRID_CELLS
>= SurfaceDrawingProtocol.MAX_FINALIZED_CANVASES
* SurfaceDrawingProtocol.MAX_GRID_SIZE
* SurfaceDrawingProtocol.MAX_GRID_SIZE
)
assert(is_equal_approx(cell_size, 0.075))
assert(is_equal_approx(
float(grid_width) * cell_size,
@ -242,8 +257,12 @@ func _validate_canvas_geometry_and_collaboration() -> void:
assert(not canvas.is_guide_visible())
assert(canvas.is_finalized())
assert(not canvas.has_guide_geometry())
assert(pixel_instance.mesh == persistent_mesh)
assert(pixel_material.albedo_texture == persistent_texture)
var finalized_instance := canvas.get("_pixel_instance") as MeshInstance3D
var finalized_material := finalized_instance.mesh.surface_get_material(
0
) as StandardMaterial3D
assert(finalized_instance.mesh != persistent_mesh)
assert(finalized_material.albedo_texture == persistent_texture)
await process_frame
var finished_pixel_scale: float = canvas.get_rendered_pixel_size()
assert(
@ -265,8 +284,8 @@ func _validate_canvas_geometry_and_collaboration() -> void:
}],
}
assert(canvas.apply_update(second_update))
assert(pixel_instance.mesh == persistent_mesh)
assert(pixel_material.albedo_texture == persistent_texture)
assert(finalized_instance == canvas.get("_pixel_instance"))
assert(finalized_material.albedo_texture == persistent_texture)
var cells: Array[Dictionary] = canvas.get_authoritative_cells()
assert(cells.size() == 1)
assert(cells[0]["color_id"] == "blue")