Rejected: Using Deno to handle the conversion of GLB files to Godot Engine packed scenes

Metadata

  • Status: rejected
  • Deciders: V-Sekai
  • Tags: V-Sekai, ChatGPT-4

Context and Problem Statement

V-Sekai currently has a limitation in converting 3D models from the GLB format to the Godot Engine packed scene format. This conversion process is essential for seamless integration of 3D assets into the V-Sekai platform.

Proposed Solution

Implement serverless edge functions using Deno to handle the conversion of GLB files to Godot Engine packed scenes and manage data storage and retrieval.

Implementation

  1. Wasm edge functions: Utilize WebAssembly (Wasm) to run the edge functions efficiently.
  2. Compute time estimation: Estimate the required compute time for the conversion process.
  3. Data storage: Set up a storage system for the converted Godot packed scenes.
  4. Table editing UI: Create a user interface for managing the stored Godot packed scenes.
  5. Edge Function use case: Implement the following serverless Deno functions:
    • glbToGodotPackedScene: Convert a GLB file to a Godot packed scene and store it.
    • insertGodotPackedScene: Insert a Godot packed scene into the V-Sekai server.
    • helloWorld: Return a JSON object containing “Hello, World!” as a test function.

Positive Consequences

  • Seamless integration of 3D assets into the V-Sekai platform.
  • Improved performance and reduced latency due to edge computing.
  • Scalable and maintainable architecture with serverless functions.

Negative Consequences

  • Additional complexity in setting up and managing serverless functions.
  • Potential increase in costs due to serverless architecture.

Option graveyard

Use the current process of editor upload.

If this enhancement will be used infrequently, can it be worked around with a few lines of script?

No, this enhancement is essential for the seamless integration of 3D assets into the V-Sekai platform and cannot be easily worked around with a simple script.

Is there a reason why this should be core and done by us?

Yes, this feature is crucial for the V-Sekai platform’s functionality and user experience. Implementing it as a core feature ensures that it is well-integrated, maintainable, and scalable.

References