improve readme

This commit is contained in:
Joseph HENRY 2026-03-26 15:10:50 +01:00
parent 6ea41f3b4d
commit b0c2a3a2c1

View File

@ -56,6 +56,7 @@ gpu.state.blend_set('ALPHA')
- **Literal enum types** — string parameters like `gpu.state.blend_set(mode)` use `Literal["NONE", "ALPHA", ...]` instead of plain `str`
- **Docstrings** — inline documentation on properties, methods, and functions
- **Classmethod detection**`Matrix.Identity()`, `Vector.Fill()`, etc. correctly typed as `@classmethod`
- **Operator metadata**`bpy.ops.mesh.primitive_cube_add.poll()`, `.idname()`, `.get_rna_type()`, and `.bl_options` are typed via introspected `_BPyOpsSubModOp` wrapper
- **Dynamic array types**`Image.pixels` typed as `bpy_prop_array[float]` (not `list[float]` or `float`)
- **Zero `Any` usage** — precise types throughout, no `typing.Any` fallbacks
- **basedpyright strict mode** — 0 errors on generated stubs (4.1+)
@ -81,6 +82,8 @@ The introspection data is then passed through a stub generator that handles type
| `Any` usage | 0 | 1800+ |
| Collection wrapper types | `BlendDataObjects` | `bpy_prop_collection[Object]` |
| `bpy_struct` methods | Introspected | Missing |
| `rna_type` attribute | Yes | Missing |
| Operator metadata | `poll()`, `idname()`, etc. | Missing |
| Constructor `__init__` | Yes (mathutils, gpu, etc.) | No |
| Literal enum types | Yes | Yes (via stub_internal) |
| Context members | ~100 typed | ~100 typed |