Stable scene loading and func_luxe updates

This commit is contained in:
2025-06-18 17:54:55 -07:00
parent 52ebf82e0a
commit 75502fe544
69 changed files with 389 additions and 330 deletions

View File

@ -3,125 +3,18 @@
import "luxe: assets" for Assets, Strings
import "luxe: blocks" for Block
import "luxe: type/anim.asset" for AnimDesc
import "luxe: type/asset.meta.asset" for AssetMeta
import "luxe: type/audio.asset" for AudioDesc
import "luxe: type/basis.asset" for Basis
import "luxe: type/audio.bus.asset" for AudioBusMeta
import "luxe: type/clip.asset" for ClipDesc
import "luxe: type/compute.asset" for Compute
import "func_luxe: type/entity_def.asset" for EntityDef
import "luxe: type/font.face.asset" for FaceDesc
import "luxe: type/font.asset" for FontDesc
import "func_luxe: type/game_config.asset" for GameConfig
import "luxe: type/mesh.asset" for MeshDesc
import "luxe: type/scene.asset" for SceneDesc
import "luxe: type/skeleton.asset" for SkeletonDesc
import "luxe: type/stage.asset" for StageDesc
import "luxe: type/text.style.asset" for TextStyle
import "luxe: type/tiles.asset" for TilesDesc
import "luxe: type/tiles.brush.asset" for TilesBrush
import "luxe: type/tiles.visual.asset" for TilesVisualDesc
class AssetType {
static anim { "luxe: type/anim.asset" }
static anim_track { "luxe: type/anim.track.asset" }
static asset_meta { "luxe: type/asset.meta.asset" }
static atlas { "luxe: type/atlas.asset" }
static audio { "luxe: type/audio.asset" }
static basis { "luxe: type/basis.asset" }
static block { "luxe: type/block.asset" }
static block_def { "luxe: type/block_def.asset" }
static bus { "luxe: type/audio.bus.asset" }
static clip { "luxe: type/clip.asset" }
static compute { "luxe: type/compute.asset" }
static entity { "luxe: type/entity.asset" }
static entity_def { "func_luxe: type/entity_def.asset" }
static face { "luxe: type/font.face.asset" }
static font { "luxe: type/font.asset" }
static game_config { "func_luxe: type/game_config.asset" }
static image { "luxe: type/image.asset" }
static material { "luxe: type/material.asset" }
static mesh { "luxe: type/mesh.asset" }
static mesh_preset { "luxe: type/mesh.preset.asset" }
static modifier { "luxe: type/modifier.asset" }
static physics { "luxe: type/physics.asset" }
static pose_node { "luxe: type/pose_node.asset" }
static prototype { "luxe: type/prototype.asset" }
static scene { "luxe: type/scene.asset" }
static skeleton { "luxe: type/skeleton.asset" }
static stage { "luxe: type/stage.asset" }
static task { "luxe: type/task.asset" }
static text_style { "luxe: type/text.style.asset" }
static tiles { "luxe: type/tiles.asset" }
static tiles_brush { "luxe: type/tiles.brush.asset" }
static tiles_visual { "luxe: type/tiles.visual.asset" }
}
class AssetGetAPI {
construct new() {}
#asset_type(arg = "asset_id", subtype= "anim")
anim(asset_id: String) : AnimDesc { Asset.instance(AssetType.anim, asset_id) }
#asset_type(arg = "asset_id", subtype= "asset_meta")
asset_meta(asset_id: String) : AssetMeta { Asset.instance(AssetType.asset_meta, asset_id) }
#asset_type(arg = "asset_id", subtype= "audio")
audio(asset_id: String) : AudioDesc { Asset.instance(AssetType.audio, asset_id) }
#asset_type(arg = "asset_id", subtype= "basis")
basis(asset_id: String) : Basis { Asset.instance(AssetType.basis, asset_id) }
#asset_type(arg = "asset_id", subtype= "bus")
bus(asset_id: String) : AudioBusMeta { Asset.instance(AssetType.bus, asset_id) }
#asset_type(arg = "asset_id", subtype= "clip")
clip(asset_id: String) : ClipDesc { Asset.instance(AssetType.clip, asset_id) }
#asset_type(arg = "asset_id", subtype= "compute")
compute(asset_id: String) : Compute { Asset.instance(AssetType.compute, asset_id) }
#asset_type(arg = "asset_id", subtype= "entity_def")
entity_def(asset_id: String) : EntityDef { Asset.instance(AssetType.entity_def, asset_id) }
#asset_type(arg = "asset_id", subtype= "face")
face(asset_id: String) : FaceDesc { Asset.instance(AssetType.face, asset_id) }
#asset_type(arg = "asset_id", subtype= "font")
font(asset_id: String) : FontDesc { Asset.instance(AssetType.font, asset_id) }
#asset_type(arg = "asset_id", subtype= "game_config")
game_config(asset_id: String) : GameConfig { Asset.instance(AssetType.game_config, asset_id) }
#asset_type(arg = "asset_id", subtype= "mesh")
mesh(asset_id: String) : MeshDesc { Asset.instance(AssetType.mesh, asset_id) }
#asset_type(arg = "asset_id", subtype= "scene")
scene(asset_id: String) : SceneDesc { Asset.instance(AssetType.scene, asset_id) }
#asset_type(arg = "asset_id", subtype= "skeleton")
skeleton(asset_id: String) : SkeletonDesc { Asset.instance(AssetType.skeleton, asset_id) }
#asset_type(arg = "asset_id", subtype= "stage")
stage(asset_id: String) : StageDesc { Asset.instance(AssetType.stage, asset_id) }
#asset_type(arg = "asset_id", subtype= "text_style")
text_style(asset_id: String) : TextStyle { Asset.instance(AssetType.text_style, asset_id) }
#asset_type(arg = "asset_id", subtype= "tiles")
tiles(asset_id: String) : TilesDesc { Asset.instance(AssetType.tiles, asset_id) }
#asset_type(arg = "asset_id", subtype= "tiles_brush")
tiles_brush(asset_id: String) : TilesBrush { Asset.instance(AssetType.tiles_brush, asset_id) }
#asset_type(arg = "asset_id", subtype= "tiles_visual")
tiles_visual(asset_id: String) : TilesVisualDesc { Asset.instance(AssetType.tiles_visual, asset_id) }
}
var AssetGet = AssetGetAPI.new()
class AssetAddAPI {
construct new() {}
anim(asset_id: String) : AnimDesc { Asset.add(AssetType.anim, asset_id) }
asset_meta(asset_id: String) : AssetMeta { Asset.add(AssetType.asset_meta, asset_id) }
audio(asset_id: String) : AudioDesc { Asset.add(AssetType.audio, asset_id) }
basis(asset_id: String) : Basis { Asset.add(AssetType.basis, asset_id) }
bus(asset_id: String) : AudioBusMeta { Asset.add(AssetType.bus, asset_id) }
clip(asset_id: String) : ClipDesc { Asset.add(AssetType.clip, asset_id) }
compute(asset_id: String) : Compute { Asset.add(AssetType.compute, asset_id) }
entity_def(asset_id: String) : EntityDef { Asset.add(AssetType.entity_def, asset_id) }
face(asset_id: String) : FaceDesc { Asset.add(AssetType.face, asset_id) }
font(asset_id: String) : FontDesc { Asset.add(AssetType.font, asset_id) }
game_config(asset_id: String) : GameConfig { Asset.add(AssetType.game_config, asset_id) }
mesh(asset_id: String) : MeshDesc { Asset.add(AssetType.mesh, asset_id) }
scene(asset_id: String) : SceneDesc { Asset.add(AssetType.scene, asset_id) }
skeleton(asset_id: String) : SkeletonDesc { Asset.add(AssetType.skeleton, asset_id) }
stage(asset_id: String) : StageDesc { Asset.add(AssetType.stage, asset_id) }
text_style(asset_id: String) : TextStyle { Asset.add(AssetType.text_style, asset_id) }
tiles(asset_id: String) : TilesDesc { Asset.add(AssetType.tiles, asset_id) }
tiles_brush(asset_id: String) : TilesBrush { Asset.add(AssetType.tiles_brush, asset_id) }
tiles_visual(asset_id: String) : TilesVisualDesc { Asset.add(AssetType.tiles_visual, asset_id) }
}
var AssetAdd = AssetAddAPI.new()
@ -142,38 +35,6 @@ class Asset {
}
static get : AssetGetAPI { AssetGet }
static add : AssetAddAPI { AssetAdd }
#asset_type(arg = "asset_id", subtype= "anim")
static anim(asset_id: String) : Num { Assets.get_handle(AssetType.anim, asset_id) }
#asset_type(arg = "asset_id", subtype= "atlas")
static atlas(asset_id: String) : Num { Assets.get_handle(AssetType.atlas, asset_id) }
#asset_type(arg = "asset_id", subtype= "audio")
static audio(asset_id: String) : Num { Assets.get_handle(AssetType.audio, asset_id) }
#asset_type(arg = "asset_id", subtype= "bus")
static bus(asset_id: String) : Num { Assets.get_handle(AssetType.bus, asset_id) }
#asset_type(arg = "asset_id", subtype= "clip")
static clip(asset_id: String) : Num { Assets.get_handle(AssetType.clip, asset_id) }
#asset_type(arg = "asset_id", subtype= "compute")
static compute(asset_id: String) : Num { Assets.get_handle(AssetType.compute, asset_id) }
#asset_type(arg = "asset_id", subtype= "face")
static face(asset_id: String) : Num { Assets.get_handle(AssetType.face, asset_id) }
#asset_type(arg = "asset_id", subtype= "font")
static font(asset_id: String) : Num { Assets.get_handle(AssetType.font, asset_id) }
#asset_type(arg = "asset_id", subtype= "prototype")
static prototype(asset_id: String) : Num { Assets.get_handle(AssetType.prototype, asset_id) }
#asset_type(arg = "asset_id", subtype= "scene")
static scene(asset_id: String) : Num { Assets.get_handle(AssetType.scene, asset_id) }
#asset_type(arg = "asset_id", subtype= "skeleton")
static skeleton(asset_id: String) : Num { Assets.get_handle(AssetType.skeleton, asset_id) }
#asset_type(arg = "asset_id", subtype= "stage")
static stage(asset_id: String) : Num { Assets.get_handle(AssetType.stage, asset_id) }
#asset_type(arg = "asset_id", subtype= "task")
static task(asset_id: String) : Num { Assets.get_handle(AssetType.task, asset_id) }
#asset_type(arg = "asset_id", subtype= "text_style")
static text_style(asset_id: String) : Num { Assets.get_handle(AssetType.text_style, asset_id) }
#asset_type(arg = "asset_id", subtype= "tiles")
static tiles(asset_id: String) : Num { Assets.get_handle(AssetType.tiles, asset_id) }
#asset_type(arg = "asset_id", subtype= "tiles_brush")
static tiles_brush(asset_id: String) : Num { Assets.get_handle(AssetType.tiles_brush, asset_id) }
#asset_type(arg = "asset_id", subtype= "tiles_visual")
static tiles_visual(asset_id: String) : Num { Assets.get_handle(AssetType.tiles_visual, asset_id) }
}

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,4 @@
preview.png
QuenchTreeArboretum.code-workspace
QuenchTreeArboretum.code-workspace
LICENSE
README.md

View File

@ -1,16 +1,4 @@
[
{
references = [
"f5d942e8-59b5-4eec-a1e9-77f88ea95739"
"67eb5fb0-6c76-44cd-a029-de89a3769dfa"
"524b1d81-e692-4a72-8b75-02f6f1e869cc"
"564f64c5-8a4b-461c-ae0c-e7ef84df2817"
"90464f06-fcdc-4327-83b2-e73651f7fd97"
"2ab8ff46-3921-47b8-8fe1-0af7a598428d"
"c6894c25-a77b-43ac-b097-5c3cd318ef70"
]
uuid = "2349a371-3219-4ffb-a961-14923527c65d"
}
{
references = [
"7a3b8b49-6cd9-4029-b41e-2c6a9310cb96"
@ -23,6 +11,12 @@
]
uuid = "7076047a-c14f-4960-8ebc-5bad766cfd1a"
}
{
references = [
"c91295f6-f523-49de-b718-c56ecd1dcee0"
]
uuid = "f1dc0f97-cc01-4e0d-9674-0980a71e11a7"
}
{
references = [
"a4a562f4-bea3-41e2-8001-80226dade944"
@ -37,9 +31,15 @@
}
{
references = [
"880245b3-bd53-49fe-8197-e8392c141341"
"7fbee9fc-7689-4af6-b054-7442665e5d0f"
"2b9a0ad5-af90-426e-8c8b-756a6e559af7"
"d86ca23f-19a9-4512-b840-3b607cfdcb2e"
"e40a5074-39fd-4c82-954d-a171a255fa0c"
"09928909-d3ab-4184-93fd-66aff6059321"
"d7c64489-313f-403c-aebc-280c9c124e97"
"59604c9b-a411-481d-9898-ab106941c58c"
]
uuid = "cc459a79-33fe-4a0e-b619-0b528a2d7f6a"
uuid = "d84a7a8b-478f-48a3-b33a-d859a517465c"
}
{
references = [