interface asset { use ecs.{ecs-world, ecs-resource}; resource asset-handle { version: func() -> u64; uuid: func() -> string; path: func() -> option; is-watched: func() -> bool; is-loaded: func() -> bool; wait-for-load: func(); wait-recurse-dependencies-load: func(); } resource image-handle { from-raw-handle: static func(raw-handle: borrow) -> option; height: func() -> option; width: func() -> option; get-bytes: func() -> option>; } resource asset-manager { from-ecs-resource: static func(w: borrow) -> option; request: func(path: string) -> asset-handle; } }