Skip to content

Improve GOMpy and LUA binding #30

@BrunoLevy

Description

@BrunoLevy
  • try to get rid of strings everywhere, starting from command-state that could use typed representation instead
  • gom slots that take Any and ArgList as arguments
  • NL::Vector improvements:
    • make NL::Vector closer to numpy arrays
    • support for non-contiguous arrays in NL::Vector
    • array protocol ? buffer protocol ?
  • equality and inequality tests for GOM object wrappers
  • make metaclass wrapper inherit python object so that issubclass works with GOM objects
  • xxx = XXX(args) instead of xxx = XXX.create(args) (done in Python, not yet in Lua)
  • JAX interop
  • split python_interpreter.cpp, separate vec/mat interop
  • iterators
  • make gom interpreter inherit python module so that we can import gom.xxx from gom (in fact did it differently, by overriding gompy's __getattr__ and declaring sub-stuff that i wanted to make inportable in global module table)
  • a GOM mechanism for graphic object attributes, or set_color, set_mesh_color, set_mesh_width etc... slots in shader
    • How it works now: there is no special mechanism, uses conversions from string and to string.
    • What we would like it to do:
      • write:
        mesh.shader.mesh_style.width = 5
        mesh.shader.mesh_style = '0.5 0.5 0.5 1.0;5' --backward compat
        mesh.shader.mesh_style = { {0.5,0.5,0.5,1.0}, 5 } --from table Not yet, we shall see later...
      • read:
        x = mesh.shader.mesh_style.width
        print(mesh.shader.mesh_style)
      • implement MetaBuiltinStruct and MetaStruct
      • register meta information for PointStyle, MeshStyle, SurfaceStyle, ColormapStyle
      • implement generic serializer
      • implement StructPropertyRef

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions