Compare commits

...

2 Commits

76 changed files with 2943 additions and 66 deletions

4
Cargo.lock generated
View File

@ -718,9 +718,9 @@ dependencies = [
[[package]] [[package]]
name = "glam" name = "glam"
version = "0.24.2" version = "0.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945" checksum = "480c9417a5dc586fc0c0cb67891170e59cc11e9dc79ba1c11ddd2c56ca3f3b90"
[[package]] [[package]]
name = "hashbrown" name = "hashbrown"

View File

@ -26,7 +26,7 @@ use lyra::api::ecs::{EcsDynamicView, EcsWorld, Entity, WasmTypeId};
impl WasmTypeId { impl WasmTypeId {
pub fn of<T: 'static>() -> Self { pub fn of<T: 'static>() -> Self {
Self { Self {
inner: unsafe { mem::transmute(TypeId::of::<T>()) } inner: unsafe { mem::transmute(TypeId::of::<T>()) },
} }
} }
} }
@ -74,16 +74,53 @@ impl<'a> World<'a> {
} }
} }
/// Create a new [`Entity`] in the world with a component [`Bundle`].
///
///
/// ```nobuild
/// let new_entity = world.spawn((Vec3::new(10.0, 1.0, 10.0), PlayerMovement::new()));
/// ```
pub fn spawn<B: Bundle>(&self, bundle: B) -> Result<Entity, ComponentSerializationError> { pub fn spawn<B: Bundle>(&self, bundle: B) -> Result<Entity, ComponentSerializationError> {
let infos = B::component_info(); let infos = B::component_info();
let bundle = bundle.to_bytes()?; let bundle = bundle.to_bytes()?;
Ok(self.inner.spawn(&bundle, &infos)) Ok(self.inner.spawn(&bundle, &infos))
} }
/// Insert a bundle into an existing entity.
///
/// If the components already exist on the entity, they will be updated, else the entity will
/// be moved to a different Archetype that can store the entity. That may involve creating
/// a new Archetype.
pub fn insert<B: Bundle>(&self, en: Entity, bundle: B) -> Result<(), ComponentSerializationError> {
let infos = B::component_info();
let bundle = bundle.to_bytes()?;
Ok(self.inner.insert(en, &bundle, &infos))
}
/// Query components from entities.
///
/// ```rust
/// # use common_api::{math::{Vec3, Vec4}, World};
/// # let world = World::new();
///
/// let view = world.view::<(Vec3, Vec4)>();
/// for row in view {
/// let (en, (p3, p4)) = row.unwrap();
/// println!("Entity: {}", en.id.id);
/// println!(" vec3: {:?}", p3);
/// println!(" vec4: {:?}", p4);
/// }
/// ```
pub fn view<B: Bundle>(&self) -> View<B> { pub fn view<B: Bundle>(&self) -> View<B> {
let infos = B::component_info(); let infos = B::component_info();
View::from(self.inner.view(&infos)) View::from(self.inner.view(&infos))
} }
pub fn view_one<B: Bundle>(&self, en: Entity) -> Option<Result<B, ComponentSerializationError>> {
let infos = B::component_info();
self.inner.view_one(en, &infos)
.map(|bytes| B::from_bytes(bytes))
}
} }
pub struct View<B: Bundle> { pub struct View<B: Bundle> {
@ -95,7 +132,7 @@ impl<B: Bundle> From<EcsDynamicView> for View<B> {
fn from(value: EcsDynamicView) -> Self { fn from(value: EcsDynamicView) -> Self {
Self { Self {
inner: value, inner: value,
_marker: PhantomData _marker: PhantomData,
} }
} }
} }
@ -111,11 +148,11 @@ impl<B: Bundle> View<B> {
} }
impl<B: Bundle> Iterator for View<B> { impl<B: Bundle> Iterator for View<B> {
type Item = Result<B, ComponentSerializationError>; type Item = Result<(Entity, B), ComponentSerializationError>;
fn next(&mut self) -> Option<Self::Item> { fn next(&mut self) -> Option<Self::Item> {
if let Some(row) = self.inner.next() { if let Some((en, row)) = self.inner.next() {
Some(B::from_bytes(row)) Some(B::from_bytes(row).map(|b| (en, b)))
} else { } else {
None None
} }

View File

@ -34,7 +34,7 @@ interface ecs {
/// Get the bytes of the next row in the view. /// Get the bytes of the next row in the view.
/// ///
/// A row contains multiple component serialized as bytes. The buffer is tighly packed. /// A row contains multiple component serialized as bytes. The buffer is tighly packed.
next: func() -> option<list<u8>>; next: func() -> option<tuple<entity, list<u8>>>;
} }
resource ecs-world { resource ecs-world {
@ -49,6 +49,16 @@ interface ecs {
/// and specify the layouts of them. /// and specify the layouts of them.
spawn: func(components: list<u8>, component-infos: list<component-info>) -> entity; spawn: func(components: list<u8>, component-infos: list<component-info>) -> entity;
/// Insert components into an existing entity.
///
/// Parameters:
/// * `en`: The entity to insert into.
/// * `components`: A tightly packed byte buffer containing the components to spawn
/// with the entity. This expects the components in the same order of `component-infos`.
/// * `component-infos`: A list of `component-infos` uses to identify the components
/// and specify the layouts of them.
insert: func(en: entity, components: list<u8>, component-infos: list<component-info>);
/// Query for a list of entities and their components. /// Query for a list of entities and their components.
/// ///
/// Parameters: /// Parameters:
@ -57,6 +67,15 @@ interface ecs {
/// Returns: an iterator that returns the byte buffers of each row. /// Returns: an iterator that returns the byte buffers of each row.
view: func(component-infos: list<component-info>) -> ecs-dynamic-view; view: func(component-infos: list<component-info>) -> ecs-dynamic-view;
/// Query for components from a single entity.
///
/// Parameters:
/// * `en`: The entity to query components from.
/// * `component-infos`: The `component-info`'s of the components that you are querying.
///
/// Returns: A row of components serialized as bytes. The buffer is tighly packed.
view-one: func(en: entity, component-infos: list<component-info>) -> option<list<u8>>;
//with_system: func(stage: string, component-infos: list<component-info>, system: func(components: list<u8>)); //with_system: func(stage: string, component-infos: list<component-info>, system: func(components: list<u8>));
} }
} }

View File

@ -0,0 +1,16 @@
/* namespace dotnet_guest_test;
public class Class1
{
} */
//package example:calculator;
namespace ExampleWorld;//.wit.exports.example.component;
public class ExampleWorldImpl : IExampleWorld
{
public static int Add(int x, int y)
{
return x + y;
}
}

View File

@ -0,0 +1,5 @@
package example:component;
world example {
export add: func(x: s32, y: s32) -> s32;
}

View File

@ -0,0 +1,64 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"dotnet-guest-test/1.0.0": {
"dependencies": {
"BytecodeAlliance.Componentize.DotNet.Wasm.SDK": "0.4.0-preview00007"
},
"runtime": {
"dotnet-guest-test.dll": {}
}
},
"BytecodeAlliance.Componentize.DotNet.Wasm.SDK/0.4.0-preview00007": {
"dependencies": {
"BytecodeAlliance.Componentize.DotNet.WitBindgen": "0.4.0-preview00007",
"Microsoft.DotNet.ILCompiler.LLVM": "10.0.0-alpha.1.24525.6",
"runtime.win-x64.Microsoft.DotNet.ILCompiler.LLVM": "10.0.0-alpha.1.24525.6"
}
},
"BytecodeAlliance.Componentize.DotNet.WitBindgen/0.4.0-preview00007": {},
"Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {},
"runtime.win-x64.Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {}
}
},
"libraries": {
"dotnet-guest-test/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"BytecodeAlliance.Componentize.DotNet.Wasm.SDK/0.4.0-preview00007": {
"type": "package",
"serviceable": true,
"sha512": "sha512-eEF9LXM3Y6CjJ+MNq2Kxe064HUNeZd9bPGxNYvGJS6YWnBtsPF5xPWexoXOO8nZaRxfy2EePNBIni5/7dp1ACw==",
"path": "bytecodealliance.componentize.dotnet.wasm.sdk/0.4.0-preview00007",
"hashPath": "bytecodealliance.componentize.dotnet.wasm.sdk.0.4.0-preview00007.nupkg.sha512"
},
"BytecodeAlliance.Componentize.DotNet.WitBindgen/0.4.0-preview00007": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pSVjm0WVc7OAd8NSo0PUtaWNYIYdWToI48LodgmOvj8U755JHdXqQIgwZxDOEA38KYA8H/g0zgfOD5zPQbH3vA==",
"path": "bytecodealliance.componentize.dotnet.witbindgen/0.4.0-preview00007",
"hashPath": "bytecodealliance.componentize.dotnet.witbindgen.0.4.0-preview00007.nupkg.sha512"
},
"Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7Xgtsv7rVZd/c+roCF2kzuut+XkJZ4Hig+7Eg90F7BR82+xPXkn0DiY+bLrYXFY27PLQCi8gEHeDzmbtEOtaMA==",
"path": "microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6",
"hashPath": "microsoft.dotnet.ilcompiler.llvm.10.0.0-alpha.1.24525.6.nupkg.sha512"
},
"runtime.win-x64.Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-L/aiafKFLiCBE0a9JSpziY9V18nyfKkjH0KpHLK38ixBDPGay15WcyaV5vGEO3m1U1WHhfYhpIcruhx3Z8xOGA==",
"path": "runtime.win-x64.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6",
"hashPath": "runtime.win-x64.microsoft.dotnet.ilcompiler.llvm.10.0.0-alpha.1.24525.6.nupkg.sha512"
}
}
}

View File

@ -0,0 +1,93 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0/wasi-wasm",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {},
".NETCoreApp,Version=v8.0/wasi-wasm": {
"dotnet-guest-test/1.0.0": {
"dependencies": {
"BytecodeAlliance.Componentize.DotNet.Wasm.SDK": "0.4.0-preview00007",
"Microsoft.NET.ILLink.Tasks": "8.0.10"
},
"runtime": {
"dotnet-guest-test.dll": {}
}
},
"BytecodeAlliance.Componentize.DotNet.Wasm.SDK/0.4.0-preview00007": {
"dependencies": {
"BytecodeAlliance.Componentize.DotNet.WitBindgen": "0.4.0-preview00007",
"Microsoft.DotNet.ILCompiler.LLVM": "10.0.0-alpha.1.24525.6",
"runtime.win-x64.Microsoft.DotNet.ILCompiler.LLVM": "10.0.0-alpha.1.24525.6"
}
},
"BytecodeAlliance.Componentize.DotNet.WitBindgen/0.4.0-preview00007": {},
"Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {
"dependencies": {
"runtime.wasi-wasm.Microsoft.DotNet.ILCompiler.LLVM": "10.0.0-alpha.1.24525.6"
}
},
"Microsoft.NET.ILLink.Tasks/8.0.10": {},
"runtime.wasi-wasm.Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {},
"runtime.win-x64.Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {}
}
},
"libraries": {
"dotnet-guest-test/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"BytecodeAlliance.Componentize.DotNet.Wasm.SDK/0.4.0-preview00007": {
"type": "package",
"serviceable": true,
"sha512": "sha512-eEF9LXM3Y6CjJ+MNq2Kxe064HUNeZd9bPGxNYvGJS6YWnBtsPF5xPWexoXOO8nZaRxfy2EePNBIni5/7dp1ACw==",
"path": "bytecodealliance.componentize.dotnet.wasm.sdk/0.4.0-preview00007",
"hashPath": "bytecodealliance.componentize.dotnet.wasm.sdk.0.4.0-preview00007.nupkg.sha512"
},
"BytecodeAlliance.Componentize.DotNet.WitBindgen/0.4.0-preview00007": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pSVjm0WVc7OAd8NSo0PUtaWNYIYdWToI48LodgmOvj8U755JHdXqQIgwZxDOEA38KYA8H/g0zgfOD5zPQbH3vA==",
"path": "bytecodealliance.componentize.dotnet.witbindgen/0.4.0-preview00007",
"hashPath": "bytecodealliance.componentize.dotnet.witbindgen.0.4.0-preview00007.nupkg.sha512"
},
"Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7Xgtsv7rVZd/c+roCF2kzuut+XkJZ4Hig+7Eg90F7BR82+xPXkn0DiY+bLrYXFY27PLQCi8gEHeDzmbtEOtaMA==",
"path": "microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6",
"hashPath": "microsoft.dotnet.ilcompiler.llvm.10.0.0-alpha.1.24525.6.nupkg.sha512"
},
"Microsoft.NET.ILLink.Tasks/8.0.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xT8jYjlroY7SLbGtoV9vUTVW/TPgodL4Egc31a444Xe0TMytLZ3UlKQ0kxMZsy/CrWsFB6wtKnSG1SsXcWreew==",
"path": "microsoft.net.illink.tasks/8.0.10",
"hashPath": "microsoft.net.illink.tasks.8.0.10.nupkg.sha512"
},
"runtime.wasi-wasm.Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-devgD/lKWF4d/zrr73wjJ8tCyN0AyQMJK/wkPuCllUYcDAIdtAq3TSQQ0YUUPOqNXts+//Als9T+CasvI31V3w==",
"path": "runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6",
"hashPath": "runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm.10.0.0-alpha.1.24525.6.nupkg.sha512"
},
"runtime.win-x64.Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-L/aiafKFLiCBE0a9JSpziY9V18nyfKkjH0KpHLK38ixBDPGay15WcyaV5vGEO3m1U1WHhfYhpIcruhx3Z8xOGA==",
"path": "runtime.win-x64.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6",
"hashPath": "runtime.win-x64.microsoft.dotnet.ilcompiler.llvm.10.0.0-alpha.1.24525.6.nupkg.sha512"
}
},
"runtimes": {
"wasi-wasm": [
"wasi",
"any",
"base"
]
}
}

View File

@ -0,0 +1,93 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v9.0/wasi-wasm",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v9.0": {},
".NETCoreApp,Version=v9.0/wasi-wasm": {
"dotnet-guest-test/1.0.0": {
"dependencies": {
"BytecodeAlliance.Componentize.DotNet.Wasm.SDK": "0.4.0-preview00007",
"Microsoft.NET.ILLink.Tasks": "9.0.0-rc.2.24473.5"
},
"runtime": {
"dotnet-guest-test.dll": {}
}
},
"BytecodeAlliance.Componentize.DotNet.Wasm.SDK/0.4.0-preview00007": {
"dependencies": {
"BytecodeAlliance.Componentize.DotNet.WitBindgen": "0.4.0-preview00007",
"Microsoft.DotNet.ILCompiler.LLVM": "10.0.0-alpha.1.24525.6",
"runtime.win-x64.Microsoft.DotNet.ILCompiler.LLVM": "10.0.0-alpha.1.24525.6"
}
},
"BytecodeAlliance.Componentize.DotNet.WitBindgen/0.4.0-preview00007": {},
"Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {
"dependencies": {
"runtime.wasi-wasm.Microsoft.DotNet.ILCompiler.LLVM": "10.0.0-alpha.1.24525.6"
}
},
"Microsoft.NET.ILLink.Tasks/9.0.0-rc.2.24473.5": {},
"runtime.wasi-wasm.Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {},
"runtime.win-x64.Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {}
}
},
"libraries": {
"dotnet-guest-test/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"BytecodeAlliance.Componentize.DotNet.Wasm.SDK/0.4.0-preview00007": {
"type": "package",
"serviceable": true,
"sha512": "sha512-eEF9LXM3Y6CjJ+MNq2Kxe064HUNeZd9bPGxNYvGJS6YWnBtsPF5xPWexoXOO8nZaRxfy2EePNBIni5/7dp1ACw==",
"path": "bytecodealliance.componentize.dotnet.wasm.sdk/0.4.0-preview00007",
"hashPath": "bytecodealliance.componentize.dotnet.wasm.sdk.0.4.0-preview00007.nupkg.sha512"
},
"BytecodeAlliance.Componentize.DotNet.WitBindgen/0.4.0-preview00007": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pSVjm0WVc7OAd8NSo0PUtaWNYIYdWToI48LodgmOvj8U755JHdXqQIgwZxDOEA38KYA8H/g0zgfOD5zPQbH3vA==",
"path": "bytecodealliance.componentize.dotnet.witbindgen/0.4.0-preview00007",
"hashPath": "bytecodealliance.componentize.dotnet.witbindgen.0.4.0-preview00007.nupkg.sha512"
},
"Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7Xgtsv7rVZd/c+roCF2kzuut+XkJZ4Hig+7Eg90F7BR82+xPXkn0DiY+bLrYXFY27PLQCi8gEHeDzmbtEOtaMA==",
"path": "microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6",
"hashPath": "microsoft.dotnet.ilcompiler.llvm.10.0.0-alpha.1.24525.6.nupkg.sha512"
},
"Microsoft.NET.ILLink.Tasks/9.0.0-rc.2.24473.5": {
"type": "package",
"serviceable": true,
"sha512": "sha512-mXyCgKqBIo/KOpY09FqjOU8d+LME2qowzzvBd1/viYmSpAKYfQ2w1WDOlh0FniY4xnrB/wmDiAo4frJvfCqT0w==",
"path": "microsoft.net.illink.tasks/9.0.0-rc.2.24473.5",
"hashPath": "microsoft.net.illink.tasks.9.0.0-rc.2.24473.5.nupkg.sha512"
},
"runtime.wasi-wasm.Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-devgD/lKWF4d/zrr73wjJ8tCyN0AyQMJK/wkPuCllUYcDAIdtAq3TSQQ0YUUPOqNXts+//Als9T+CasvI31V3w==",
"path": "runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6",
"hashPath": "runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm.10.0.0-alpha.1.24525.6.nupkg.sha512"
},
"runtime.win-x64.Microsoft.DotNet.ILCompiler.LLVM/10.0.0-alpha.1.24525.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-L/aiafKFLiCBE0a9JSpziY9V18nyfKkjH0KpHLK38ixBDPGay15WcyaV5vGEO3m1U1WHhfYhpIcruhx3Z8xOGA==",
"path": "runtime.win-x64.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6",
"hashPath": "runtime.win-x64.microsoft.dotnet.ilcompiler.llvm.10.0.0-alpha.1.24525.6.nupkg.sha512"
}
},
"runtimes": {
"wasi-wasm": [
"wasi",
"any",
"base"
]
}
}

View File

@ -0,0 +1,26 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net9.0</TargetFramework>
<!-- <RootNamespace>dotnet_guest_test</RootNamespace> -->
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<RuntimeIdentifier>wasi-wasm</RuntimeIdentifier>
<UseAppHost>false</UseAppHost>
<PublishTrimmed>true</PublishTrimmed>
<InvariantGlobalization>true</InvariantGlobalization>
<SelfContained>true</SelfContained>
<IlcExportUnmanagedEntrypoints>true</IlcExportUnmanagedEntrypoints>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BytecodeAlliance.Componentize.DotNet.Wasm.SDK" Version="0.4.0-preview00007" />
</ItemGroup>
<ItemGroup>
<Wit Update="add.wit" World="example" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
<clear />
<add key="dotnet-experimental" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-experimental/nuget/v3/index.json" />
<add key="nuget" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

View File

@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("dotnet-guest-test")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a2e1522af2dcf57ca6922200649e6f3dd8ed127b")]
[assembly: System.Reflection.AssemblyProductAttribute("dotnet-guest-test")]
[assembly: System.Reflection.AssemblyTitleAttribute("dotnet-guest-test")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -0,0 +1 @@
6c0b00465c49af6857c17c5998fa22b35c628c23cb6fa9f4684bfb3119086f7d

View File

@ -0,0 +1,15 @@
is_global = true
build_property.TargetFramework = net8.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = dotnet_guest_test
build_property.ProjectDir = /media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@ -0,0 +1 @@
ff31f9c86923ea1dac7129c96e7e8f4941940d6b9cefbe69a0634e942bf87002

View File

@ -0,0 +1,15 @@
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/dotnet-guest-test.GeneratedMSBuildEditorConfig.editorconfig
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wit_bindgen/lastbuild.txt
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wit_bindgen/Example.cs
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wit_bindgen/ExampleWorld_component_type.wit
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wit_bindgen/ExampleWorld_wasm_import_linkage_attribute.cs
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/dotnet-guest-test.AssemblyInfoInputs.cache
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/dotnet-guest-test.AssemblyInfo.cs
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/dotnet-guest-test.csproj.CoreCompileInputs.cache
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/bin/Debug/net8.0/dotnet-guest-test.deps.json
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/bin/Debug/net8.0/dotnet-guest-test.dll
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/bin/Debug/net8.0/dotnet-guest-test.pdb
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/dotnet-guest-test.dll
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/refint/dotnet-guest-test.dll
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/dotnet-guest-test.pdb
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/ref/dotnet-guest-test.dll

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

View File

@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("dotnet-guest-test")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a2e1522af2dcf57ca6922200649e6f3dd8ed127b")]
[assembly: System.Reflection.AssemblyProductAttribute("dotnet-guest-test")]
[assembly: System.Reflection.AssemblyTitleAttribute("dotnet-guest-test")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -0,0 +1 @@
6c0b00465c49af6857c17c5998fa22b35c628c23cb6fa9f4684bfb3119086f7d

View File

@ -0,0 +1,19 @@
is_global = true
build_property.EnableAotAnalyzer =
build_property.EnableSingleFileAnalyzer =
build_property.EnableTrimAnalyzer = true
build_property.IncludeAllContentForSelfExtract =
build_property.TargetFramework = net8.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization = true
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = dotnet-guest-test
build_property.ProjectDir = /media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@ -0,0 +1 @@
8f1e8a538fb97e667ff2f5a357c78e9d77c46a316388e3b58570819e63e98093

View File

@ -0,0 +1,15 @@
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/bin/Debug/net8.0/wasi-wasm/dotnet-guest-test.deps.json
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/bin/Debug/net8.0/wasi-wasm/dotnet-guest-test.dll
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/bin/Debug/net8.0/wasi-wasm/dotnet-guest-test.pdb
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/dotnet-guest-test.GeneratedMSBuildEditorConfig.editorconfig
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/wit_bindgen/lastbuild.txt
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/wit_bindgen/Example.cs
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/wit_bindgen/ExampleWorld_component_type.wit
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/wit_bindgen/ExampleWorld_wasm_import_linkage_attribute.cs
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/dotnet-guest-test.AssemblyInfoInputs.cache
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/dotnet-guest-test.AssemblyInfo.cs
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/dotnet-guest-test.csproj.CoreCompileInputs.cache
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/dotnet-guest-test.dll
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/refint/dotnet-guest-test.dll
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/dotnet-guest-test.pdb
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net8.0/wasi-wasm/ref/dotnet-guest-test.dll

View File

@ -0,0 +1,234 @@
obj/Debug/net8.0/wasi-wasm/dotnet-guest-test.dll
-o:obj/Debug/net8.0/wasi-wasm/native/dotnet-guest-test.o
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/sdk/System.Private.CoreLib.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/sdk/System.Private.DisabledReflection.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/sdk/System.Private.Reflection.Execution.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/sdk/System.Private.StackTraceMetadata.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/sdk/System.Private.TypeLoader.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/Microsoft.CSharp.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/Microsoft.VisualBasic.Core.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/Microsoft.VisualBasic.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/Microsoft.Win32.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/Microsoft.Win32.Registry.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/mscorlib.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/netstandard.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.AppContext.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Buffers.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Collections.Concurrent.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Collections.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Collections.Immutable.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Collections.NonGeneric.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Collections.Specialized.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.Annotations.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.DataAnnotations.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.EventBasedAsync.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.TypeConverter.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Configuration.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Console.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Core.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Data.Common.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Data.DataSetExtensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Data.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.Contracts.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.Debug.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.DiagnosticSource.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.FileVersionInfo.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.Process.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.StackTrace.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.TextWriterTraceListener.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.Tools.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.TraceSource.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.Tracing.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Drawing.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Drawing.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Dynamic.Runtime.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Formats.Asn1.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Formats.Tar.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Globalization.Calendars.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Globalization.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Globalization.Extensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Compression.Brotli.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Compression.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Compression.FileSystem.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Compression.ZipFile.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.FileSystem.AccessControl.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.FileSystem.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.FileSystem.DriveInfo.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.FileSystem.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.FileSystem.Watcher.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.IsolatedStorage.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.MemoryMappedFiles.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Pipelines.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Pipes.AccessControl.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Pipes.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.UnmanagedMemoryStream.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Linq.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Linq.Expressions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Linq.Parallel.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Linq.Queryable.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Memory.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Http.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Http.Json.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.HttpListener.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Mail.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.NameResolution.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.NetworkInformation.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Ping.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Quic.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Requests.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Security.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.ServicePoint.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Sockets.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.WebClient.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.WebHeaderCollection.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.WebProxy.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.WebSockets.Client.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.WebSockets.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Numerics.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Numerics.Vectors.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ObjectModel.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Private.DataContractSerialization.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Private.Uri.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Private.Xml.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Private.Xml.Linq.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.DispatchProxy.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Emit.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Emit.ILGeneration.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Emit.Lightweight.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Extensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Metadata.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.TypeExtensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Resources.Reader.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Resources.ResourceManager.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Resources.Writer.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.CompilerServices.Unsafe.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.CompilerServices.VisualC.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Extensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Handles.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.InteropServices.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.InteropServices.JavaScript.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.InteropServices.RuntimeInformation.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Intrinsics.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Loader.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Numerics.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Serialization.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Serialization.Formatters.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Serialization.Json.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Serialization.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Serialization.Xml.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.AccessControl.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Claims.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.Algorithms.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.Cng.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.Csp.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.Encoding.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.OpenSsl.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.X509Certificates.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Principal.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Principal.Windows.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.SecureString.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ServiceModel.Web.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ServiceProcess.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.Encoding.CodePages.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.Encoding.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.Encoding.Extensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.Encodings.Web.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.Json.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.RegularExpressions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Channels.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Overlapped.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Tasks.Dataflow.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Tasks.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Tasks.Extensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Tasks.Parallel.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Thread.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.ThreadPool.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Timer.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Transactions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Transactions.Local.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ValueTuple.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Web.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Web.HttpUtility.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Windows.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.Linq.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.ReaderWriter.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.Serialization.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.XDocument.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.XmlDocument.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.XmlSerializer.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.XPath.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.XPath.XDocument.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/WindowsBase.dll
--targetos:wasi
--targetarch:wasm
-g
--nativelib
--exportsfile:obj/Debug/net8.0/wasi-wasm/native/dotnet-guest-test.exports
--export-unmanaged-entrypoints
--initassembly:System.Private.CoreLib
--initassembly:System.Private.StackTraceMetadata
--initassembly:System.Private.TypeLoader
--initassembly:System.Private.Reflection.Execution
--directpinvoke:libSystem.Globalization.Native
--directpinvoke:libSystem.Native
--feature:System.Linq.Expressions.CanEmitObjectArrayDelegate=false
--feature:Microsoft.Extensions.DependencyInjection.VerifyOpenGenericServiceTrimmability=true
--feature:System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization=false
--feature:System.Diagnostics.Tracing.EventSource.IsSupported=false
--feature:System.Globalization.Invariant=true
--feature:System.Globalization.PredefinedCulturesOnly=true
--feature:System.Resources.ResourceManager.AllowCustomResourceTypes=false
--feature:System.Runtime.CompilerServices.RuntimeFeature.IsDynamicCodeSupported=false
--feature:System.Runtime.InteropServices.BuiltInComInterop.IsSupported=false
--feature:System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting=false
--feature:System.Runtime.InteropServices.EnableCppCLIHostActivation=false
--feature:System.Runtime.InteropServices.Marshalling.EnableGeneratedComInterfaceComImportInterop=false
--feature:System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization=false
--feature:System.StartupHookProvider.IsSupported=false
--feature:System.Text.Encoding.EnableUnsafeUTF7Encoding=false
--feature:System.Text.Json.JsonSerializer.IsReflectionEnabledByDefault=false
--feature:System.Threading.Thread.EnableAutoreleasePool=false
--runtimeknob:System.Linq.Expressions.CanEmitObjectArrayDelegate=false
--runtimeknob:Microsoft.Extensions.DependencyInjection.VerifyOpenGenericServiceTrimmability=true
--runtimeknob:System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization=false
--runtimeknob:System.Diagnostics.Tracing.EventSource.IsSupported=false
--runtimeknob:System.Globalization.Invariant=true
--runtimeknob:System.Globalization.PredefinedCulturesOnly=true
--runtimeknob:System.Resources.ResourceManager.AllowCustomResourceTypes=false
--runtimeknob:System.Runtime.CompilerServices.RuntimeFeature.IsDynamicCodeSupported=false
--runtimeknob:System.Runtime.InteropServices.BuiltInComInterop.IsSupported=false
--runtimeknob:System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting=false
--runtimeknob:System.Runtime.InteropServices.EnableCppCLIHostActivation=false
--runtimeknob:System.Runtime.InteropServices.Marshalling.EnableGeneratedComInterfaceComImportInterop=false
--runtimeknob:System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization=false
--runtimeknob:System.StartupHookProvider.IsSupported=false
--runtimeknob:System.Text.Encoding.EnableUnsafeUTF7Encoding=false
--runtimeknob:System.Text.Json.JsonSerializer.IsReflectionEnabledByDefault=false
--runtimeknob:System.Threading.Thread.EnableAutoreleasePool=false
--runtimeknob:RUNTIME_IDENTIFIER=wasi-wasm
--stacktracedata
--scanreflection
--nowarn:"1701;1702;IL2121;1701;1702"
--warnaserr:";NU1605;SYSLIB0011"
--singlewarn
--nosinglewarnassembly:dotnet-guest-test
--resilient
--generateunmanagedentrypoints:System.Private.CoreLib
--codegenopt:LlvmExceptionHandlingModel=emulated
--codegenopt:Target=wasm32-unknown-wasip2
--wasm-global-base:1024
--feature:System.Diagnostics.Debugger.IsSupported=false

View File

@ -0,0 +1,94 @@
// Generated by `wit-bindgen` 0.34.0. DO NOT EDIT!
// <auto-generated />
#nullable enable
using System;
using System.Runtime.CompilerServices;
using System.Collections;
using System.Runtime.InteropServices;
using System.Text;
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
namespace ExampleWorld {
public interface IExampleWorld {
static abstract int Add(int x, int y);
}
public readonly struct None {}
[StructLayout(LayoutKind.Sequential)]
public readonly struct Result<Ok, Err>
{
public readonly byte Tag;
private readonly object value;
private Result(byte tag, object value)
{
Tag = tag;
this.value = value;
}
public static Result<Ok, Err> ok(Ok ok)
{
return new Result<Ok, Err>(OK, ok!);
}
public static Result<Ok, Err> err(Err err)
{
return new Result<Ok, Err>(ERR, err!);
}
public bool IsOk => Tag == OK;
public bool IsErr => Tag == ERR;
public Ok AsOk
{
get
{
if (Tag == OK)
return (Ok)value;
else
throw new ArgumentException("expected OK, got " + Tag);
}
}
public Err AsErr
{
get
{
if (Tag == ERR)
return (Err)value;
else
throw new ArgumentException("expected ERR, got " + Tag);
}
}
public const byte OK = 0;
public const byte ERR = 1;
}
namespace exports {
public static class ExampleWorld
{
[UnmanagedCallersOnly(EntryPoint = "add")]
public static unsafe int wasmExportAdd(int p0, int p1) {
int ret;
ret = ExampleWorldImpl.Add((p0), (p1));
return ret;
}
[UnmanagedCallersOnly(EntryPoint = "cabi_post_add")]
public static void cabi_post_wasmExportAdd(int returnValue) {
Console.WriteLine("TODO: cabi_post_add");
}
}
}
}

View File

@ -0,0 +1,5 @@
package example:component;
world example {
export add: func(x: s32, y: s32) -> s32;
}

View File

@ -0,0 +1,11 @@
// Generated by `wit-bindgen` 0.34.0. DO NOT EDIT!
// <auto-generated />
#nullable enable
#if !NET9_0_OR_GREATER
// temporarily add this attribute until it is available in dotnet 9
namespace System.Runtime.InteropServices
{
internal partial class WasmImportLinkageAttribute : Attribute {}
}
#endif

View File

@ -0,0 +1,94 @@
// Generated by `wit-bindgen` 0.34.0. DO NOT EDIT!
// <auto-generated />
#nullable enable
using System;
using System.Runtime.CompilerServices;
using System.Collections;
using System.Runtime.InteropServices;
using System.Text;
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
namespace ExampleWorld {
public interface IExampleWorld {
static abstract int Add(int x, int y);
}
public readonly struct None {}
[StructLayout(LayoutKind.Sequential)]
public readonly struct Result<Ok, Err>
{
public readonly byte Tag;
private readonly object value;
private Result(byte tag, object value)
{
Tag = tag;
this.value = value;
}
public static Result<Ok, Err> ok(Ok ok)
{
return new Result<Ok, Err>(OK, ok!);
}
public static Result<Ok, Err> err(Err err)
{
return new Result<Ok, Err>(ERR, err!);
}
public bool IsOk => Tag == OK;
public bool IsErr => Tag == ERR;
public Ok AsOk
{
get
{
if (Tag == OK)
return (Ok)value;
else
throw new ArgumentException("expected OK, got " + Tag);
}
}
public Err AsErr
{
get
{
if (Tag == ERR)
return (Err)value;
else
throw new ArgumentException("expected ERR, got " + Tag);
}
}
public const byte OK = 0;
public const byte ERR = 1;
}
namespace exports {
public static class ExampleWorld
{
[UnmanagedCallersOnly(EntryPoint = "add")]
public static unsafe int wasmExportAdd(int p0, int p1) {
int ret;
ret = ExampleWorldImpl.Add((p0), (p1));
return ret;
}
[UnmanagedCallersOnly(EntryPoint = "cabi_post_add")]
public static void cabi_post_wasmExportAdd(int returnValue) {
Console.WriteLine("TODO: cabi_post_add");
}
}
}
}

View File

@ -0,0 +1,5 @@
package example:component;
world example {
export add: func(x: s32, y: s32) -> s32;
}

View File

@ -0,0 +1,11 @@
// Generated by `wit-bindgen` 0.34.0. DO NOT EDIT!
// <auto-generated />
#nullable enable
#if !NET9_0_OR_GREATER
// temporarily add this attribute until it is available in dotnet 9
namespace System.Runtime.InteropServices
{
internal partial class WasmImportLinkageAttribute : Attribute {}
}
#endif

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]

View File

@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("dotnet-guest-test")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a2e1522af2dcf57ca6922200649e6f3dd8ed127b")]
[assembly: System.Reflection.AssemblyProductAttribute("dotnet-guest-test")]
[assembly: System.Reflection.AssemblyTitleAttribute("dotnet-guest-test")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -0,0 +1 @@
6c0b00465c49af6857c17c5998fa22b35c628c23cb6fa9f4684bfb3119086f7d

View File

@ -0,0 +1,19 @@
is_global = true
build_property.EnableAotAnalyzer =
build_property.EnableSingleFileAnalyzer =
build_property.EnableTrimAnalyzer = true
build_property.IncludeAllContentForSelfExtract =
build_property.TargetFramework = net9.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization = true
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = dotnet-guest-test
build_property.ProjectDir = /media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop = false
build_property.EffectiveAnalysisLevelStyle = 9.0
build_property.EnableCodeStyleSeverity =

View File

@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@ -0,0 +1 @@
8b688d02d6bf6777b87d0b10b95f6002366e48b7bdd575df26b78dadfe024afd

View File

@ -0,0 +1,15 @@
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/dotnet-guest-test.GeneratedMSBuildEditorConfig.editorconfig
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/wit_bindgen/lastbuild.txt
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/wit_bindgen/Example.cs
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/wit_bindgen/ExampleWorld_component_type.wit
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/wit_bindgen/ExampleWorld_wasm_import_linkage_attribute.cs
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/dotnet-guest-test.AssemblyInfoInputs.cache
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/dotnet-guest-test.AssemblyInfo.cs
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/dotnet-guest-test.csproj.CoreCompileInputs.cache
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/bin/Debug/net9.0/wasi-wasm/dotnet-guest-test.deps.json
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/bin/Debug/net9.0/wasi-wasm/dotnet-guest-test.dll
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/bin/Debug/net9.0/wasi-wasm/dotnet-guest-test.pdb
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/dotnet-guest-test.dll
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/refint/dotnet-guest-test.dll
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/dotnet-guest-test.pdb
/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/Debug/net9.0/wasi-wasm/ref/dotnet-guest-test.dll

View File

@ -0,0 +1,242 @@
obj/Debug/net9.0/wasi-wasm/dotnet-guest-test.dll
-o:obj/Debug/net9.0/wasi-wasm/native/dotnet-guest-test.o
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/sdk/System.Private.CoreLib.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/sdk/System.Private.DisabledReflection.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/sdk/System.Private.Reflection.Execution.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/sdk/System.Private.StackTraceMetadata.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/sdk/System.Private.TypeLoader.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/Microsoft.CSharp.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/Microsoft.VisualBasic.Core.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/Microsoft.VisualBasic.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/Microsoft.Win32.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/Microsoft.Win32.Registry.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/mscorlib.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/netstandard.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.AppContext.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Buffers.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Collections.Concurrent.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Collections.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Collections.Immutable.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Collections.NonGeneric.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Collections.Specialized.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.Annotations.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.DataAnnotations.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.EventBasedAsync.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ComponentModel.TypeConverter.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Configuration.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Console.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Core.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Data.Common.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Data.DataSetExtensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Data.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.Contracts.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.Debug.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.DiagnosticSource.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.FileVersionInfo.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.Process.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.StackTrace.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.TextWriterTraceListener.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.Tools.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.TraceSource.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Diagnostics.Tracing.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Drawing.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Drawing.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Dynamic.Runtime.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Formats.Asn1.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Formats.Tar.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Globalization.Calendars.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Globalization.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Globalization.Extensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Compression.Brotli.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Compression.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Compression.FileSystem.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Compression.ZipFile.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.FileSystem.AccessControl.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.FileSystem.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.FileSystem.DriveInfo.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.FileSystem.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.FileSystem.Watcher.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.IsolatedStorage.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.MemoryMappedFiles.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Pipelines.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Pipes.AccessControl.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.Pipes.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.IO.UnmanagedMemoryStream.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Linq.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Linq.Expressions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Linq.Parallel.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Linq.Queryable.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Memory.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Http.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Http.Json.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.HttpListener.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Mail.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.NameResolution.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.NetworkInformation.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Ping.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Quic.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Requests.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Security.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.ServicePoint.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.Sockets.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.WebClient.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.WebHeaderCollection.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.WebProxy.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.WebSockets.Client.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Net.WebSockets.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Numerics.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Numerics.Vectors.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ObjectModel.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Private.DataContractSerialization.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Private.Uri.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Private.Xml.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Private.Xml.Linq.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.DispatchProxy.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Emit.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Emit.ILGeneration.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Emit.Lightweight.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Extensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Metadata.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Reflection.TypeExtensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Resources.Reader.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Resources.ResourceManager.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Resources.Writer.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.CompilerServices.Unsafe.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.CompilerServices.VisualC.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Extensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Handles.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.InteropServices.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.InteropServices.JavaScript.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.InteropServices.RuntimeInformation.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Intrinsics.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Loader.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Numerics.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Serialization.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Serialization.Formatters.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Serialization.Json.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Serialization.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Runtime.Serialization.Xml.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.AccessControl.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Claims.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.Algorithms.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.Cng.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.Csp.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.Encoding.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.OpenSsl.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.Primitives.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Cryptography.X509Certificates.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Principal.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.Principal.Windows.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Security.SecureString.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ServiceModel.Web.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ServiceProcess.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.Encoding.CodePages.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.Encoding.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.Encoding.Extensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.Encodings.Web.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.Json.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Text.RegularExpressions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Channels.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Overlapped.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Tasks.Dataflow.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Tasks.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Tasks.Extensions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Tasks.Parallel.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Thread.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.ThreadPool.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Threading.Timer.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Transactions.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Transactions.Local.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.ValueTuple.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Web.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Web.HttpUtility.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Windows.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.Linq.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.ReaderWriter.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.Serialization.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.XDocument.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.XmlDocument.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.XmlSerializer.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.XPath.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/System.Xml.XPath.XDocument.dll
-r:/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/framework/WindowsBase.dll
--targetos:wasi
--targetarch:wasm
-g
--nativelib
--exportsfile:obj/Debug/net9.0/wasi-wasm/native/dotnet-guest-test.exports
--export-unmanaged-entrypoints
--initassembly:System.Private.CoreLib
--initassembly:System.Private.StackTraceMetadata
--initassembly:System.Private.TypeLoader
--initassembly:System.Private.Reflection.Execution
--directpinvoke:libSystem.Globalization.Native
--directpinvoke:libSystem.Native
--feature:System.Linq.Expressions.CanEmitObjectArrayDelegate=false
--feature:Microsoft.Extensions.DependencyInjection.VerifyOpenGenericServiceTrimmability=true
--feature:System.ComponentModel.DefaultValueAttribute.IsSupported=false
--feature:System.ComponentModel.Design.IDesignerHost.IsSupported=false
--feature:System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization=false
--feature:System.ComponentModel.TypeDescriptor.IsComObjectDescriptorSupported=false
--feature:System.Diagnostics.Tracing.EventSource.IsSupported=false
--feature:System.Globalization.Invariant=true
--feature:System.Globalization.PredefinedCulturesOnly=true
--feature:System.Resources.ResourceManager.AllowCustomResourceTypes=false
--feature:System.Resources.UseSystemResourceKeys=false
--feature:System.Runtime.CompilerServices.RuntimeFeature.IsDynamicCodeSupported=false
--feature:System.Runtime.InteropServices.BuiltInComInterop.IsSupported=false
--feature:System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting=false
--feature:System.Runtime.InteropServices.EnableCppCLIHostActivation=false
--feature:System.Runtime.InteropServices.Marshalling.EnableGeneratedComInterfaceComImportInterop=false
--feature:System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization=false
--feature:System.StartupHookProvider.IsSupported=false
--feature:System.Text.Encoding.EnableUnsafeUTF7Encoding=false
--feature:System.Text.Json.JsonSerializer.IsReflectionEnabledByDefault=false
--feature:System.Threading.Thread.EnableAutoreleasePool=false
--runtimeknob:System.Linq.Expressions.CanEmitObjectArrayDelegate=false
--runtimeknob:Microsoft.Extensions.DependencyInjection.VerifyOpenGenericServiceTrimmability=true
--runtimeknob:System.ComponentModel.DefaultValueAttribute.IsSupported=false
--runtimeknob:System.ComponentModel.Design.IDesignerHost.IsSupported=false
--runtimeknob:System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization=false
--runtimeknob:System.ComponentModel.TypeDescriptor.IsComObjectDescriptorSupported=false
--runtimeknob:System.Diagnostics.Tracing.EventSource.IsSupported=false
--runtimeknob:System.Globalization.Invariant=true
--runtimeknob:System.Globalization.PredefinedCulturesOnly=true
--runtimeknob:System.Resources.ResourceManager.AllowCustomResourceTypes=false
--runtimeknob:System.Resources.UseSystemResourceKeys=false
--runtimeknob:System.Runtime.CompilerServices.RuntimeFeature.IsDynamicCodeSupported=false
--runtimeknob:System.Runtime.InteropServices.BuiltInComInterop.IsSupported=false
--runtimeknob:System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting=false
--runtimeknob:System.Runtime.InteropServices.EnableCppCLIHostActivation=false
--runtimeknob:System.Runtime.InteropServices.Marshalling.EnableGeneratedComInterfaceComImportInterop=false
--runtimeknob:System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization=false
--runtimeknob:System.StartupHookProvider.IsSupported=false
--runtimeknob:System.Text.Encoding.EnableUnsafeUTF7Encoding=false
--runtimeknob:System.Text.Json.JsonSerializer.IsReflectionEnabledByDefault=false
--runtimeknob:System.Threading.Thread.EnableAutoreleasePool=false
--runtimeknob:RUNTIME_IDENTIFIER=wasi-wasm
--stacktracedata
--scanreflection
--nowarn:"1701;1702;IL2121;1701;1702"
--warnaserr:";NU1605;SYSLIB0011"
--singlewarn
--nosinglewarnassembly:dotnet-guest-test
--resilient
--generateunmanagedentrypoints:System.Private.CoreLib
--codegenopt:LlvmExceptionHandlingModel=emulated
--codegenopt:Target=wasm32-unknown-wasip2
--wasm-global-base:1024
--feature:System.Diagnostics.Debugger.IsSupported=false

View File

@ -0,0 +1,94 @@
// Generated by `wit-bindgen` 0.34.0. DO NOT EDIT!
// <auto-generated />
#nullable enable
using System;
using System.Runtime.CompilerServices;
using System.Collections;
using System.Runtime.InteropServices;
using System.Text;
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
namespace ExampleWorld {
public interface IExampleWorld {
static abstract int Add(int x, int y);
}
public readonly struct None {}
[StructLayout(LayoutKind.Sequential)]
public readonly struct Result<Ok, Err>
{
public readonly byte Tag;
private readonly object value;
private Result(byte tag, object value)
{
Tag = tag;
this.value = value;
}
public static Result<Ok, Err> ok(Ok ok)
{
return new Result<Ok, Err>(OK, ok!);
}
public static Result<Ok, Err> err(Err err)
{
return new Result<Ok, Err>(ERR, err!);
}
public bool IsOk => Tag == OK;
public bool IsErr => Tag == ERR;
public Ok AsOk
{
get
{
if (Tag == OK)
return (Ok)value;
else
throw new ArgumentException("expected OK, got " + Tag);
}
}
public Err AsErr
{
get
{
if (Tag == ERR)
return (Err)value;
else
throw new ArgumentException("expected ERR, got " + Tag);
}
}
public const byte OK = 0;
public const byte ERR = 1;
}
namespace exports {
public static class ExampleWorld
{
[UnmanagedCallersOnly(EntryPoint = "add")]
public static unsafe int wasmExportAdd(int p0, int p1) {
int ret;
ret = ExampleWorldImpl.Add((p0), (p1));
return ret;
}
[UnmanagedCallersOnly(EntryPoint = "cabi_post_add")]
public static void cabi_post_wasmExportAdd(int returnValue) {
Console.WriteLine("TODO: cabi_post_add");
}
}
}
}

View File

@ -0,0 +1,5 @@
package example:component;
world example {
export add: func(x: s32, y: s32) -> s32;
}

View File

@ -0,0 +1,11 @@
// Generated by `wit-bindgen` 0.34.0. DO NOT EDIT!
// <auto-generated />
#nullable enable
#if !NET9_0_OR_GREATER
// temporarily add this attribute until it is available in dotnet 9
namespace System.Runtime.InteropServices
{
internal partial class WasmImportLinkageAttribute : Attribute {}
}
#endif

View File

@ -0,0 +1,92 @@
{
"format": 1,
"restore": {
"/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/dotnet-guest-test.csproj": {}
},
"projects": {
"/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/dotnet-guest-test.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/dotnet-guest-test.csproj",
"projectName": "dotnet-guest-test",
"projectPath": "/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/dotnet-guest-test.csproj",
"packagesPath": "/home/seanomik/.nuget/packages/",
"outputPath": "/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/nuget.config",
"/home/seanomik/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net9.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {},
"https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-experimental/nuget/v3/index.json": {}
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "all"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"BytecodeAlliance.Componentize.DotNet.Wasm.SDK": {
"target": "Package",
"version": "[0.4.0-preview00007, )"
},
"Microsoft.NET.ILLink.Tasks": {
"suppressParent": "All",
"target": "Package",
"version": "[9.0.0-rc.2.24473.5, )",
"autoReferenced": true
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[9.0.0-rc.2.24474.3, 9.0.0-rc.2.24474.3]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/9.0.100-rc.2.24474.11/PortableRuntimeIdentifierGraph.json"
}
},
"runtimes": {
"wasi-wasm": {
"#import": []
}
}
}
}
}

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/seanomik/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/seanomik/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/seanomik/.nuget/packages/" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.net.illink.tasks/9.0.0-rc.2.24473.5/build/Microsoft.NET.ILLink.Tasks.props" Condition="Exists('$(NuGetPackageRoot)microsoft.net.illink.tasks/9.0.0-rc.2.24473.5/build/Microsoft.NET.ILLink.Tasks.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/build/Microsoft.DotNet.ILCompiler.LLVM.props" Condition="Exists('$(NuGetPackageRoot)microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/build/Microsoft.DotNet.ILCompiler.LLVM.props')" />
<Import Project="$(NuGetPackageRoot)bytecodealliance.componentize.dotnet.witbindgen/0.4.0-preview00007/build/BytecodeAlliance.Componentize.DotNet.WitBindgen.props" Condition="Exists('$(NuGetPackageRoot)bytecodealliance.componentize.dotnet.witbindgen/0.4.0-preview00007/build/BytecodeAlliance.Componentize.DotNet.WitBindgen.props')" />
<Import Project="$(NuGetPackageRoot)bytecodealliance.componentize.dotnet.wasm.sdk/0.4.0-preview00007/build/BytecodeAlliance.Componentize.DotNet.Wasm.SDK.props" Condition="Exists('$(NuGetPackageRoot)bytecodealliance.componentize.dotnet.wasm.sdk/0.4.0-preview00007/build/BytecodeAlliance.Componentize.DotNet.Wasm.SDK.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Pkgruntime_win-x64_Microsoft_DotNet_ILCompiler_LLVM Condition=" '$(Pkgruntime_win-x64_Microsoft_DotNet_ILCompiler_LLVM)' == '' ">/home/seanomik/.nuget/packages/runtime.win-x64.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6</Pkgruntime_win-x64_Microsoft_DotNet_ILCompiler_LLVM>
<PkgMicrosoft_NET_ILLink_Tasks Condition=" '$(PkgMicrosoft_NET_ILLink_Tasks)' == '' ">/home/seanomik/.nuget/packages/microsoft.net.illink.tasks/9.0.0-rc.2.24473.5</PkgMicrosoft_NET_ILLink_Tasks>
<PkgMicrosoft_DotNet_ILCompiler_LLVM Condition=" '$(PkgMicrosoft_DotNet_ILCompiler_LLVM)' == '' ">/home/seanomik/.nuget/packages/microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6</PkgMicrosoft_DotNet_ILCompiler_LLVM>
<PkgBytecodeAlliance_Componentize_DotNet_WitBindgen Condition=" '$(PkgBytecodeAlliance_Componentize_DotNet_WitBindgen)' == '' ">/home/seanomik/.nuget/packages/bytecodealliance.componentize.dotnet.witbindgen/0.4.0-preview00007</PkgBytecodeAlliance_Componentize_DotNet_WitBindgen>
<PkgBytecodeAlliance_Componentize_DotNet_Wasm_SDK Condition=" '$(PkgBytecodeAlliance_Componentize_DotNet_Wasm_SDK)' == '' ">/home/seanomik/.nuget/packages/bytecodealliance.componentize.dotnet.wasm.sdk/0.4.0-preview00007</PkgBytecodeAlliance_Componentize_DotNet_Wasm_SDK>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/build/Microsoft.DotNet.ILCompiler.LLVM.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/build/Microsoft.DotNet.ILCompiler.LLVM.targets')" />
<Import Project="$(NuGetPackageRoot)bytecodealliance.componentize.dotnet.witbindgen/0.4.0-preview00007/build/BytecodeAlliance.Componentize.DotNet.WitBindgen.targets" Condition="Exists('$(NuGetPackageRoot)bytecodealliance.componentize.dotnet.witbindgen/0.4.0-preview00007/build/BytecodeAlliance.Componentize.DotNet.WitBindgen.targets')" />
<Import Project="$(NuGetPackageRoot)bytecodealliance.componentize.dotnet.wasm.sdk/0.4.0-preview00007/build/BytecodeAlliance.Componentize.DotNet.Wasm.SDK.targets" Condition="Exists('$(NuGetPackageRoot)bytecodealliance.componentize.dotnet.wasm.sdk/0.4.0-preview00007/build/BytecodeAlliance.Componentize.DotNet.Wasm.SDK.targets')" />
</ImportGroup>
</Project>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
{
"version": 2,
"dgSpecHash": "EEsijyJy1Hk=",
"success": true,
"projectFilePath": "/media/data_drive/Development/Rust/lyra-wasm-scripting-test/dotnet-guest-test/dotnet-guest-test.csproj",
"expectedPackageFiles": [
"/home/seanomik/.nuget/packages/bytecodealliance.componentize.dotnet.wasm.sdk/0.4.0-preview00007/bytecodealliance.componentize.dotnet.wasm.sdk.0.4.0-preview00007.nupkg.sha512",
"/home/seanomik/.nuget/packages/bytecodealliance.componentize.dotnet.witbindgen/0.4.0-preview00007/bytecodealliance.componentize.dotnet.witbindgen.0.4.0-preview00007.nupkg.sha512",
"/home/seanomik/.nuget/packages/microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/microsoft.dotnet.ilcompiler.llvm.10.0.0-alpha.1.24525.6.nupkg.sha512",
"/home/seanomik/.nuget/packages/microsoft.net.illink.tasks/9.0.0-rc.2.24473.5/microsoft.net.illink.tasks.9.0.0-rc.2.24473.5.nupkg.sha512",
"/home/seanomik/.nuget/packages/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/runtime.wasi-wasm.microsoft.dotnet.ilcompiler.llvm.10.0.0-alpha.1.24525.6.nupkg.sha512",
"/home/seanomik/.nuget/packages/runtime.win-x64.microsoft.dotnet.ilcompiler.llvm/10.0.0-alpha.1.24525.6/runtime.win-x64.microsoft.dotnet.ilcompiler.llvm.10.0.0-alpha.1.24525.6.nupkg.sha512",
"/home/seanomik/.nuget/packages/microsoft.aspnetcore.app.ref/9.0.0-rc.2.24474.3/microsoft.aspnetcore.app.ref.9.0.0-rc.2.24474.3.nupkg.sha512"
],
"logs": []
}

@ -1 +1 @@
Subproject commit 12c8ece4183f117864bac362d181ea5906141c6f Subproject commit 7ae0eae6ac714d72250149ab6b61a1ac66a5a6a9

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.002.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-guest-test", "dotnet-guest-test\dotnet-guest-test.csproj", "{84E6E3EF-CAF8-40FB-B209-9144DFFCC304}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{84E6E3EF-CAF8-40FB-B209-9144DFFCC304}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{84E6E3EF-CAF8-40FB-B209-9144DFFCC304}.Debug|Any CPU.Build.0 = Debug|Any CPU
{84E6E3EF-CAF8-40FB-B209-9144DFFCC304}.Release|Any CPU.ActiveCfg = Release|Any CPU
{84E6E3EF-CAF8-40FB-B209-9144DFFCC304}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {EB233F5A-B23E-444C-8C04-895EAFB95F5C}
EndGlobalSection
EndGlobal

View File

@ -1,12 +1,12 @@
use std::alloc::Layout; use std::alloc::Layout;
use std::borrow::Borrow;
use std::ptr::NonNull; use std::ptr::NonNull;
use anyhow::{anyhow, Context}; use anyhow::{anyhow, Context};
use async_trait::async_trait; use async_trait::async_trait;
use component::witguest::math; use component::witguest::math;
use ecs::query::dynamic::{DynamicViewState, DynamicViewStateIter, QueryDynamicType}; use ecs::query::dynamic::{DynamicViewState, DynamicViewStateIter, QueryDynamicType};
use lyra_ecs::{Component, World}; use lyra_ecs::query::dynamic::DynamicViewOne;
use lyra_ecs::World;
use lyra_ecs as ecs; use lyra_ecs as ecs;
@ -14,50 +14,16 @@ use slab::Slab;
use thiserror::Error; use thiserror::Error;
use wasmtime_wasi::{ResourceTable, WasiCtx, WasiCtxBuilder, WasiView}; use wasmtime_wasi::{ResourceTable, WasiCtx, WasiCtxBuilder, WasiView};
use wasmtime::component::{Resource as WasmResource, ResourceAny}; use wasmtime::component::Resource as WasmResource;
use wasmtime::component::Val as ComponentVal;
#[allow(unused_imports)] #[allow(unused_imports)]
pub(crate) mod lyra_engine { pub(crate) mod lyra_engine {
pub use lyra_ecs as ecs; pub use lyra_ecs as ecs;
} }
/* mod bindings {
wasmtime::component::bindgen!({
world: "imports",
path: "common-api/wit",
//tracing: true,
async: true,
});
mod component {
wasmtime::component::bindgen!({
world: "example",
path: "witguest/wit",
//tracing: true,
async: true,
with: {
"lyra:api": super::lyra::api,
}
});
}
}
use bindings::lyra::api::ecs as wasm_ecs; */
/* wasmtime::component::bindgen!({
world: "imports",
path: "common-api/wit",
//tracing: true,
async: true,
}); */
wasmtime::component::bindgen!({ wasmtime::component::bindgen!({
world: "example", world: "example",
path: "witguest/wit", path: "witguest/wit",
//tracing: true,
async: true, async: true,
with: { with: {
@ -96,14 +62,6 @@ impl Into<ecs::Entity> for wasm_ecs::Entity {
} }
} }
#[repr(C)]
#[derive(Debug, Clone, Copy, PartialEq, Component)]
struct Vec3 {
x: f32,
y: f32,
z: f32,
}
struct WorldEntry { struct WorldEntry {
world: lyra_ecs::World, world: lyra_ecs::World,
/// Indices of dynamic views that are still alive /// Indices of dynamic views that are still alive
@ -189,6 +147,35 @@ impl wasm_ecs::HostEcsWorld for Imports {
en.into() en.into()
} }
async fn insert(
&mut self,
this: WasmResource<wasm_ecs::EcsWorld>,
entity: Entity,
mut components: Vec<u8>,
infos: Vec<wasm_ecs::ComponentInfo>,
) {
let world_entry = self
.world_slab
.get_mut(this.rep() as _)
.ok_or(WasmError::InvalidResourceHandle("EcsWorld"))
.unwrap();
let world = &mut world_entry.world;
// add the components in the tightly packed `components` buffer into the dynamic bundle
let mut bundle = ecs::DynamicBundle::new();
let mut offset = 0;
for info in infos {
// SAFETY: The components are tightly packed, adding the offset to the pointer will
// get the next component in the buffer.
let data_ptr = unsafe { NonNull::new_unchecked(components.as_mut_ptr().add(offset)) };
bundle.push_unknown(data_ptr, info.clone().into());
offset += info.size as usize;
}
world.insert(entity.into(), bundle);
}
async fn view( async fn view(
&mut self, &mut self,
this: wasmtime::component::Resource<wasm_ecs::EcsWorld>, this: wasmtime::component::Resource<wasm_ecs::EcsWorld>,
@ -197,6 +184,57 @@ impl wasm_ecs::HostEcsWorld for Imports {
<Self as wasm_ecs::HostEcsDynamicView>::new(self, this, infos).await <Self as wasm_ecs::HostEcsDynamicView>::new(self, this, infos).await
} }
async fn view_one(
&mut self,
this: wasmtime::component::Resource<wasm_ecs::EcsWorld>,
entity: Entity,
infos: Vec<wasm_ecs::ComponentInfo>,
) -> Option<Vec<u8>> {
let world_entry = self
.world_slab
.get_mut(this.rep() as _)
.ok_or(WasmError::InvalidResourceHandle("EcsWorld"))
.unwrap();
let world = &mut world_entry.world;
//world.view_one(entity.into());
let queries = infos.into_iter()
.map(|i| QueryDynamicType::from_info(i.into()))
.collect();
let v = DynamicViewOne::new_with(&world, entity.into(), queries);
if let Some(row) = v.get() {
let row_len = row.iter().map(|d| d.info.layout().size()).sum();
let mut row_buf = Vec::<u8>::with_capacity(row_len);
let mut offset = 0;
for comp in row {
let comp_size = comp.info.layout().size();
unsafe {
// SAFETY: the vec has the capacity to store this component because it was
// created with Vec::with_capacity.
let dst = row_buf.as_mut_ptr().add(offset);
std::ptr::copy_nonoverlapping(
comp.ptr.as_ptr(),
dst,
comp.info.layout().size(),
);
// make sure to tell the vec that it now has the bytes of this component
row_buf.set_len(row_buf.len() + comp_size);
}
offset += comp_size;
}
Some(row_buf)
} else {
None
}
}
fn drop( fn drop(
&mut self, &mut self,
this: wasmtime::component::Resource<wasm_ecs::EcsWorld>, this: wasmtime::component::Resource<wasm_ecs::EcsWorld>,
@ -248,13 +286,13 @@ impl wasm_ecs::HostEcsDynamicView for Imports {
WasmResource::new_own(view_index as _) WasmResource::new_own(view_index as _)
} }
async fn next(&mut self, view: WasmResource<wasm_ecs::EcsDynamicView>) -> Option<Vec<u8>> { async fn next(&mut self, view: WasmResource<wasm_ecs::EcsDynamicView>) -> Option<(Entity, Vec<u8>)> {
let view_entry = self.world_views_slab.get_mut(view.rep() as _).unwrap(); let view_entry = self.world_views_slab.get_mut(view.rep() as _).unwrap();
let world_entry = self.world_slab.get(view_entry.world_index).unwrap(); let world_entry = self.world_slab.get(view_entry.world_index).unwrap();
let view = &mut view_entry.view; let view = &mut view_entry.view;
// get the next row in the view and copy the returned components into a tightly packed // get the next row in the view and copy the returned components into a tightly packed
if let Some(row) = view.next(&world_entry.world) { if let Some((en, row)) = view.next(&world_entry.world) {
let row_len = row.iter().map(|d| d.info.layout().size()).sum(); let row_len = row.iter().map(|d| d.info.layout().size()).sum();
let mut row_buf = Vec::<u8>::with_capacity(row_len); let mut row_buf = Vec::<u8>::with_capacity(row_len);
@ -279,7 +317,7 @@ impl wasm_ecs::HostEcsDynamicView for Imports {
offset += comp_size; offset += comp_size;
} }
Some(row_buf) Some((en.into(), row_buf))
} else { } else {
None None
} }
@ -303,6 +341,39 @@ impl wasm_ecs::HostEcsDynamicView for Imports {
} }
} }
/* fn dynamic_view_next_impl() -> Option<(Entity, Vec<u8>)> {
// get the next row in the view and copy the returned components into a tightly packed
if let Some((en, row)) = view.next(&world_entry.world) {
let row_len = row.iter().map(|d| d.info.layout().size()).sum();
let mut row_buf = Vec::<u8>::with_capacity(row_len);
let mut offset = 0;
for comp in row {
let comp_size = comp.info.layout().size();
unsafe {
// SAFETY: the vec has the capacity to store this component because it was
// created with Vec::with_capacity.
let dst = row_buf.as_mut_ptr().add(offset);
std::ptr::copy_nonoverlapping(
comp.ptr.as_ptr(),
dst,
comp.info.layout().size(),
);
// make sure to tell the vec that it now has the bytes of this component
row_buf.set_len(row_buf.len() + comp_size);
}
offset += comp_size;
}
Some((en.into(), row_buf))
} else {
None
}
} */
#[async_trait] #[async_trait]
impl wasm_ecs::Host for Imports {} impl wasm_ecs::Host for Imports {}

View File

@ -13,9 +13,14 @@ struct Component;
impl Guest for Component { impl Guest for Component {
fn on_init(world: &EcsWorld, _owning_entity: Entity) -> Result<(), ()> { fn on_init(world: &EcsWorld, _owning_entity: Entity) -> Result<(), ()> {
let world = World::from(world); let world = World::from(world);
let en = world.spawn((Vec3::new(7.0, 30.0, 18.0), Vec4::new(10.0, 332.35, 329.0, 95.0))); let en = world.spawn((Vec3::new(7.0, 30.0, 18.0), Vec4::new(10.0, 332.35, 329.0, 95.0)))
.unwrap();
println!("guest spawned {:?}", en); println!("Spawned {:?}", en);
let pos3 = world.view_one::<Vec3>(en)
.unwrap().unwrap();
println!("Found entity at {pos3:?}");
Ok(()) Ok(())
} }
@ -25,9 +30,10 @@ impl Guest for Component {
let view = world.view::<(Vec3, Vec4)>(); let view = world.view::<(Vec3, Vec4)>();
for pos in view { for pos in view {
let (p3, p4) = pos.unwrap(); let (en, (p3, p4)) = pos.unwrap();
println!("Retrieved vec3: {:?}", p3); println!("Entity: {}", en.id.id);
println!("Retrieved vec4: {:?}", p4); println!(" vec3: {:?}", p3);
println!(" vec4: {:?}", p4);
} }
Ok(()) Ok(())

View File

@ -34,7 +34,7 @@ interface ecs {
/// Get the bytes of the next row in the view. /// Get the bytes of the next row in the view.
/// ///
/// A row contains multiple component serialized as bytes. The buffer is tighly packed. /// A row contains multiple component serialized as bytes. The buffer is tighly packed.
next: func() -> option<list<u8>>; next: func() -> option<tuple<entity, list<u8>>>;
} }
resource ecs-world { resource ecs-world {
@ -49,6 +49,16 @@ interface ecs {
/// and specify the layouts of them. /// and specify the layouts of them.
spawn: func(components: list<u8>, component-infos: list<component-info>) -> entity; spawn: func(components: list<u8>, component-infos: list<component-info>) -> entity;
/// Insert components into an existing entity.
///
/// Parameters:
/// * `en`: The entity to insert into.
/// * `components`: A tightly packed byte buffer containing the components to spawn
/// with the entity. This expects the components in the same order of `component-infos`.
/// * `component-infos`: A list of `component-infos` uses to identify the components
/// and specify the layouts of them.
insert: func(en: entity, components: list<u8>, component-infos: list<component-info>);
/// Query for a list of entities and their components. /// Query for a list of entities and their components.
/// ///
/// Parameters: /// Parameters:
@ -57,6 +67,15 @@ interface ecs {
/// Returns: an iterator that returns the byte buffers of each row. /// Returns: an iterator that returns the byte buffers of each row.
view: func(component-infos: list<component-info>) -> ecs-dynamic-view; view: func(component-infos: list<component-info>) -> ecs-dynamic-view;
/// Query for components from a single entity.
///
/// Parameters:
/// * `en`: The entity to query components from.
/// * `component-infos`: The `component-info`'s of the components that you are querying.
///
/// Returns: A row of components serialized as bytes. The buffer is tighly packed.
view-one: func(en: entity, component-infos: list<component-info>) -> option<list<u8>>;
//with_system: func(stage: string, component-infos: list<component-info>, system: func(components: list<u8>)); //with_system: func(stage: string, component-infos: list<component-info>, system: func(components: list<u8>));
} }
} }