Enhance property encoding and class descriptor retrieval in rbx_dom_lua

- Introduced a new function, `findClassDescriptor`, to retrieve class properties and metadata, including inherited properties, from the database.
- Updated `encodeInstance` to include encoding for Tags alongside Attributes, ensuring comprehensive property serialization.
- Improved property filtering logic to skip non-serializable properties and those matching default values, aligning with syncback behavior.
- Enhanced comments for clarity on property handling and encoding processes.
This commit is contained in:
Joe 2026-01-30 13:18:20 -06:00
parent c0d089f0aa
commit dccd3a691a
6 changed files with 188 additions and 62 deletions

View file

@ -253,7 +253,10 @@ pub struct ReadResponse<'a> {
#[serde(rename_all = "camelCase")]
pub struct AddedInstance {
/// The parent instance's Ref (must exist in Rojo's tree)
pub parent: Ref,
/// For top-level added instances, this is required.
/// For nested children, this can be omitted (parent is implied by nesting).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent: Option<Ref>,
/// The instance name
pub name: String,
/// The class name (e.g., "ModuleScript", "Script", "LocalScript")