@defold-typescript/types 0.53.0 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-runtime.js +8966 -0
- package/dist/identity-vocabulary.json +660 -0
- package/dist/src/index.d.ts +18 -0
- package/fixtures/defold-1.12.4/b2d_body_doc.json +1327 -0
- package/fixtures/defold-1.12.4/b2d_doc.json +107 -0
- package/fixtures/defold-1.12.4/base_doc.json +758 -0
- package/fixtures/defold-1.12.4/bit_doc.json +404 -0
- package/fixtures/defold-1.12.4/buffer_doc.json +422 -0
- package/fixtures/defold-1.12.4/camera_doc.json +664 -0
- package/fixtures/defold-1.12.4/collectionfactory_doc.json +219 -0
- package/fixtures/defold-1.12.4/collectionproxy_doc.json +289 -0
- package/fixtures/defold-1.12.4/coroutine_doc.json +151 -0
- package/fixtures/defold-1.12.4/crash_doc.json +497 -0
- package/fixtures/defold-1.12.4/debug_doc.json +410 -0
- package/fixtures/defold-1.12.4/factory_doc.json +219 -0
- package/fixtures/defold-1.12.4/font_doc.json +141 -0
- package/fixtures/defold-1.12.4/globals_doc.json +42 -0
- package/fixtures/defold-1.12.4/go-instance-functions.json +111 -0
- package/fixtures/defold-1.12.4/go_doc.json +1901 -0
- package/fixtures/defold-1.12.4/graphics_doc.json +1634 -0
- package/fixtures/defold-1.12.4/gui_doc.json +5249 -0
- package/fixtures/defold-1.12.4/html5_doc.json +64 -0
- package/fixtures/defold-1.12.4/http_doc.json +66 -0
- package/fixtures/defold-1.12.4/image_doc.json +170 -0
- package/fixtures/defold-1.12.4/io_doc.json +399 -0
- package/fixtures/defold-1.12.4/json_doc.json +97 -0
- package/fixtures/defold-1.12.4/label_doc.json +220 -0
- package/fixtures/defold-1.12.4/liveupdate_doc.json +308 -0
- package/fixtures/defold-1.12.4/math_doc.json +702 -0
- package/fixtures/defold-1.12.4/messages_doc.json +579 -0
- package/fixtures/defold-1.12.4/model_doc.json +315 -0
- package/fixtures/defold-1.12.4/msg_doc.json +137 -0
- package/fixtures/defold-1.12.4/os_doc.json +266 -0
- package/fixtures/defold-1.12.4/package_doc.json +139 -0
- package/fixtures/defold-1.12.4/particlefx_doc.json +249 -0
- package/fixtures/defold-1.12.4/physics_doc.json +1120 -0
- package/fixtures/defold-1.12.4/profiler_doc.json +375 -0
- package/fixtures/defold-1.12.4/render_doc.json +1167 -0
- package/fixtures/defold-1.12.4/resource_doc.json +762 -0
- package/fixtures/defold-1.12.4/socket_doc.json +2194 -0
- package/fixtures/defold-1.12.4/sound_doc.json +582 -0
- package/fixtures/defold-1.12.4/sprite_doc.json +245 -0
- package/fixtures/defold-1.12.4/string_doc.json +412 -0
- package/fixtures/defold-1.12.4/sys_doc.json +853 -0
- package/fixtures/defold-1.12.4/table_doc.json +166 -0
- package/fixtures/defold-1.12.4/tilemap_doc.json +374 -0
- package/fixtures/defold-1.12.4/timer_doc.json +153 -0
- package/fixtures/defold-1.12.4/types_doc.json +212 -0
- package/fixtures/defold-1.12.4/vmath_doc.json +1814 -0
- package/fixtures/defold-1.12.4/window_doc.json +388 -0
- package/fixtures/defold-1.12.4/zlib_doc.json +70 -0
- package/fixtures/defold-1.13.0/b2d_body_doc.json +2428 -0
- package/fixtures/defold-1.13.0/b2d_chain_doc.json +394 -0
- package/fixtures/defold-1.13.0/b2d_doc.json +128 -0
- package/fixtures/defold-1.13.0/b2d_fixture_doc.json +594 -0
- package/fixtures/defold-1.13.0/b2d_joint_doc.json +3315 -0
- package/fixtures/defold-1.13.0/b2d_shape_doc.json +802 -0
- package/fixtures/defold-1.13.0/b2d_world_doc.json +1314 -0
- package/fixtures/defold-1.13.0/base_doc.json +758 -0
- package/fixtures/defold-1.13.0/bit_doc.json +404 -0
- package/fixtures/defold-1.13.0/buffer_doc.json +422 -0
- package/fixtures/defold-1.13.0/camera_doc.json +900 -0
- package/fixtures/defold-1.13.0/collectionfactory_doc.json +219 -0
- package/fixtures/defold-1.13.0/collectionproxy_doc.json +289 -0
- package/fixtures/defold-1.13.0/compute_doc.json +182 -0
- package/fixtures/defold-1.13.0/coroutine_doc.json +151 -0
- package/fixtures/defold-1.13.0/crash_doc.json +497 -0
- package/fixtures/defold-1.13.0/debug_doc.json +410 -0
- package/fixtures/defold-1.13.0/editor_doc.json +3665 -0
- package/fixtures/defold-1.13.0/editor_http_doc.json +273 -0
- package/fixtures/defold-1.13.0/editor_json_doc.json +59 -0
- package/fixtures/defold-1.13.0/editor_localization_doc.json +138 -0
- package/fixtures/defold-1.13.0/editor_pprint_doc.json +36 -0
- package/fixtures/defold-1.13.0/editor_tilemap_tiles_doc.json +235 -0
- package/fixtures/defold-1.13.0/editor_zip_doc.json +163 -0
- package/fixtures/defold-1.13.0/editor_zlib_doc.json +48 -0
- package/fixtures/defold-1.13.0/factory_doc.json +219 -0
- package/fixtures/defold-1.13.0/font_doc.json +141 -0
- package/fixtures/defold-1.13.0/globals_doc.json +42 -0
- package/fixtures/defold-1.13.0/go-instance-functions.json +101 -0
- package/fixtures/defold-1.13.0/go_doc.json +1989 -0
- package/fixtures/defold-1.13.0/graphics_doc.json +1886 -0
- package/fixtures/defold-1.13.0/gui_doc.json +5277 -0
- package/fixtures/defold-1.13.0/html5_doc.json +64 -0
- package/fixtures/defold-1.13.0/http_doc.json +66 -0
- package/fixtures/defold-1.13.0/image_doc.json +170 -0
- package/fixtures/defold-1.13.0/import-manifest.json +10558 -0
- package/fixtures/defold-1.13.0/io_doc.json +399 -0
- package/fixtures/defold-1.13.0/json_doc.json +97 -0
- package/fixtures/defold-1.13.0/label_doc.json +220 -0
- package/fixtures/defold-1.13.0/liveupdate_doc.json +330 -0
- package/fixtures/defold-1.13.0/material_doc.json +238 -0
- package/fixtures/defold-1.13.0/math_doc.json +702 -0
- package/fixtures/defold-1.13.0/model_doc.json +412 -0
- package/fixtures/defold-1.13.0/msg_doc.json +137 -0
- package/fixtures/defold-1.13.0/os_doc.json +266 -0
- package/fixtures/defold-1.13.0/package_doc.json +139 -0
- package/fixtures/defold-1.13.0/particlefx_doc.json +249 -0
- package/fixtures/defold-1.13.0/physics_doc.json +1492 -0
- package/fixtures/defold-1.13.0/profiler_doc.json +375 -0
- package/fixtures/defold-1.13.0/render_doc.json +1381 -0
- package/fixtures/defold-1.13.0/resource_doc.json +762 -0
- package/fixtures/defold-1.13.0/socket_doc.json +2194 -0
- package/fixtures/defold-1.13.0/sound_doc.json +582 -0
- package/fixtures/defold-1.13.0/sprite_doc.json +335 -0
- package/fixtures/defold-1.13.0/string_doc.json +412 -0
- package/fixtures/defold-1.13.0/sys_doc.json +1142 -0
- package/fixtures/defold-1.13.0/table_doc.json +166 -0
- package/fixtures/defold-1.13.0/tilemap_doc.json +402 -0
- package/fixtures/defold-1.13.0/timer_doc.json +153 -0
- package/fixtures/defold-1.13.0/types_doc.json +212 -0
- package/fixtures/defold-1.13.0/vmath_doc.json +1814 -0
- package/fixtures/defold-1.13.0/window_doc.json +388 -0
- package/fixtures/defold-1.13.0/zlib_doc.json +70 -0
- package/fixtures/defold-1.13.1/b2d_body_doc.json +2428 -0
- package/fixtures/defold-1.13.1/b2d_chain_doc.json +394 -0
- package/fixtures/defold-1.13.1/b2d_doc.json +128 -0
- package/fixtures/defold-1.13.1/b2d_fixture_doc.json +594 -0
- package/fixtures/defold-1.13.1/b2d_joint_doc.json +3315 -0
- package/fixtures/defold-1.13.1/b2d_shape_doc.json +802 -0
- package/fixtures/defold-1.13.1/b2d_world_doc.json +1314 -0
- package/fixtures/defold-1.13.1/base_doc.json +758 -0
- package/fixtures/defold-1.13.1/bit_doc.json +404 -0
- package/fixtures/defold-1.13.1/buffer_doc.json +422 -0
- package/fixtures/defold-1.13.1/camera_doc.json +900 -0
- package/fixtures/defold-1.13.1/collectionfactory_doc.json +219 -0
- package/fixtures/defold-1.13.1/collectionproxy_doc.json +323 -0
- package/fixtures/defold-1.13.1/compute_doc.json +182 -0
- package/fixtures/defold-1.13.1/coroutine_doc.json +151 -0
- package/fixtures/defold-1.13.1/crash_doc.json +497 -0
- package/fixtures/defold-1.13.1/debug_doc.json +410 -0
- package/fixtures/defold-1.13.1/editor_doc.json +3880 -0
- package/fixtures/defold-1.13.1/editor_http_doc.json +273 -0
- package/fixtures/defold-1.13.1/editor_image_doc.json +128 -0
- package/fixtures/defold-1.13.1/editor_json_doc.json +59 -0
- package/fixtures/defold-1.13.1/editor_localization_doc.json +138 -0
- package/fixtures/defold-1.13.1/editor_pprint_doc.json +36 -0
- package/fixtures/defold-1.13.1/editor_tilemap_tiles_doc.json +235 -0
- package/fixtures/defold-1.13.1/editor_zip_doc.json +163 -0
- package/fixtures/defold-1.13.1/editor_zlib_doc.json +48 -0
- package/fixtures/defold-1.13.1/factory_doc.json +219 -0
- package/fixtures/defold-1.13.1/font_doc.json +141 -0
- package/fixtures/defold-1.13.1/globals_doc.json +42 -0
- package/fixtures/defold-1.13.1/go-instance-functions.json +102 -0
- package/fixtures/defold-1.13.1/go_doc.json +1989 -0
- package/fixtures/defold-1.13.1/graphics_doc.json +1886 -0
- package/fixtures/defold-1.13.1/gui_doc.json +5277 -0
- package/fixtures/defold-1.13.1/html5_doc.json +64 -0
- package/fixtures/defold-1.13.1/http_doc.json +66 -0
- package/fixtures/defold-1.13.1/image_doc.json +170 -0
- package/fixtures/defold-1.13.1/import-manifest.json +10091 -0
- package/fixtures/defold-1.13.1/io_doc.json +399 -0
- package/fixtures/defold-1.13.1/json_doc.json +97 -0
- package/fixtures/defold-1.13.1/label_doc.json +220 -0
- package/fixtures/defold-1.13.1/liveupdate_doc.json +330 -0
- package/fixtures/defold-1.13.1/material_doc.json +238 -0
- package/fixtures/defold-1.13.1/math_doc.json +702 -0
- package/fixtures/defold-1.13.1/model_doc.json +412 -0
- package/fixtures/defold-1.13.1/msg_doc.json +137 -0
- package/fixtures/defold-1.13.1/os_doc.json +266 -0
- package/fixtures/defold-1.13.1/package_doc.json +139 -0
- package/fixtures/defold-1.13.1/particlefx_doc.json +249 -0
- package/fixtures/defold-1.13.1/physics_doc.json +1492 -0
- package/fixtures/defold-1.13.1/profiler_doc.json +375 -0
- package/fixtures/defold-1.13.1/render_doc.json +1381 -0
- package/fixtures/defold-1.13.1/resource_doc.json +762 -0
- package/fixtures/defold-1.13.1/socket_doc.json +2194 -0
- package/fixtures/defold-1.13.1/sound_doc.json +582 -0
- package/fixtures/defold-1.13.1/sprite_doc.json +335 -0
- package/fixtures/defold-1.13.1/string_doc.json +412 -0
- package/fixtures/defold-1.13.1/sys_doc.json +1142 -0
- package/fixtures/defold-1.13.1/table_doc.json +166 -0
- package/fixtures/defold-1.13.1/tilemap_doc.json +402 -0
- package/fixtures/defold-1.13.1/timer_doc.json +153 -0
- package/fixtures/defold-1.13.1/types_doc.json +212 -0
- package/fixtures/defold-1.13.1/vmath_doc.json +1814 -0
- package/fixtures/defold-1.13.1/window_doc.json +388 -0
- package/fixtures/defold-1.13.1/zlib_doc.json +70 -0
- package/fixtures/defold-1.13.2/b2d_body_doc.json +2359 -0
- package/fixtures/defold-1.13.2/b2d_chain_doc.json +395 -0
- package/fixtures/defold-1.13.2/b2d_doc.json +1945 -0
- package/fixtures/defold-1.13.2/b2d_fixture_doc.json +595 -0
- package/fixtures/defold-1.13.2/b2d_joint_doc.json +3178 -0
- package/fixtures/defold-1.13.2/b2d_shape_doc.json +767 -0
- package/fixtures/defold-1.13.2/b2d_world_doc.json +1315 -0
- package/fixtures/defold-1.13.2/base_doc.json +759 -0
- package/fixtures/defold-1.13.2/bit_doc.json +405 -0
- package/fixtures/defold-1.13.2/buffer_doc.json +393 -0
- package/fixtures/defold-1.13.2/bullet3d_collision_object_doc.json +1206 -0
- package/fixtures/defold-1.13.2/bullet3d_constraint_doc.json +2455 -0
- package/fixtures/defold-1.13.2/bullet3d_doc.json +215 -0
- package/fixtures/defold-1.13.2/bullet3d_rigid_body_doc.json +1376 -0
- package/fixtures/defold-1.13.2/bullet3d_shape_doc.json +430 -0
- package/fixtures/defold-1.13.2/bullet3d_world_doc.json +855 -0
- package/fixtures/defold-1.13.2/camera_doc.json +887 -0
- package/fixtures/defold-1.13.2/collectionfactory_doc.json +206 -0
- package/fixtures/defold-1.13.2/collectionproxy_doc.json +397 -0
- package/fixtures/defold-1.13.2/compute_doc.json +183 -0
- package/fixtures/defold-1.13.2/coroutine_doc.json +152 -0
- package/fixtures/defold-1.13.2/crash_doc.json +483 -0
- package/fixtures/defold-1.13.2/debug_doc.json +411 -0
- package/fixtures/defold-1.13.2/editor_doc.json +6320 -0
- package/fixtures/defold-1.13.2/editor_http_doc.json +476 -0
- package/fixtures/defold-1.13.2/editor_image_doc.json +129 -0
- package/fixtures/defold-1.13.2/editor_json_doc.json +81 -0
- package/fixtures/defold-1.13.2/editor_localization_doc.json +139 -0
- package/fixtures/defold-1.13.2/editor_pprint_doc.json +37 -0
- package/fixtures/defold-1.13.2/editor_tilemap_tiles_doc.json +292 -0
- package/fixtures/defold-1.13.2/editor_zip_doc.json +237 -0
- package/fixtures/defold-1.13.2/editor_zlib_doc.json +49 -0
- package/fixtures/defold-1.13.2/factory_doc.json +206 -0
- package/fixtures/defold-1.13.2/font_doc.json +230 -0
- package/fixtures/defold-1.13.2/globals_doc.json +64 -0
- package/fixtures/defold-1.13.2/go-instance-functions.json +106 -0
- package/fixtures/defold-1.13.2/go_doc.json +1789 -0
- package/fixtures/defold-1.13.2/graphics_doc.json +1211 -0
- package/fixtures/defold-1.13.2/gui_doc.json +4735 -0
- package/fixtures/defold-1.13.2/html5_doc.json +65 -0
- package/fixtures/defold-1.13.2/http_doc.json +174 -0
- package/fixtures/defold-1.13.2/image_doc.json +298 -0
- package/fixtures/defold-1.13.2/import-manifest.json +10902 -0
- package/fixtures/defold-1.13.2/io_doc.json +400 -0
- package/fixtures/defold-1.13.2/json_doc.json +140 -0
- package/fixtures/defold-1.13.2/label_doc.json +427 -0
- package/fixtures/defold-1.13.2/liveupdate_doc.json +221 -0
- package/fixtures/defold-1.13.2/material_doc.json +773 -0
- package/fixtures/defold-1.13.2/math_doc.json +703 -0
- package/fixtures/defold-1.13.2/model_doc.json +472 -0
- package/fixtures/defold-1.13.2/msg_doc.json +169 -0
- package/fixtures/defold-1.13.2/os_doc.json +269 -0
- package/fixtures/defold-1.13.2/package_doc.json +140 -0
- package/fixtures/defold-1.13.2/particlefx_doc.json +249 -0
- package/fixtures/defold-1.13.2/physics_doc.json +1624 -0
- package/fixtures/defold-1.13.2/profiler_doc.json +348 -0
- package/fixtures/defold-1.13.2/render_doc.json +1623 -0
- package/fixtures/defold-1.13.2/resource_doc.json +1539 -0
- package/fixtures/defold-1.13.2/socket_doc.json +2335 -0
- package/fixtures/defold-1.13.2/sound_doc.json +673 -0
- package/fixtures/defold-1.13.2/sprite_doc.json +364 -0
- package/fixtures/defold-1.13.2/string_doc.json +413 -0
- package/fixtures/defold-1.13.2/sys_doc.json +1347 -0
- package/fixtures/defold-1.13.2/table_doc.json +167 -0
- package/fixtures/defold-1.13.2/tilemap_doc.json +369 -0
- package/fixtures/defold-1.13.2/timer_doc.json +214 -0
- package/fixtures/defold-1.13.2/types_doc.json +213 -0
- package/fixtures/defold-1.13.2/vmath_doc.json +2056 -0
- package/fixtures/defold-1.13.2/window_doc.json +426 -0
- package/fixtures/defold-1.13.2/zlib_doc.json +71 -0
- package/fixtures/defold-1.14.0/b2d_body_doc.json +2359 -0
- package/fixtures/defold-1.14.0/b2d_chain_doc.json +395 -0
- package/fixtures/defold-1.14.0/b2d_doc.json +1973 -0
- package/fixtures/defold-1.14.0/b2d_fixture_doc.json +595 -0
- package/fixtures/defold-1.14.0/b2d_joint_doc.json +3178 -0
- package/fixtures/defold-1.14.0/b2d_shape_doc.json +767 -0
- package/fixtures/defold-1.14.0/b2d_world_doc.json +1315 -0
- package/fixtures/defold-1.14.0/base_doc.json +759 -0
- package/fixtures/defold-1.14.0/bit_doc.json +405 -0
- package/fixtures/defold-1.14.0/buffer_doc.json +393 -0
- package/fixtures/defold-1.14.0/bullet3d_collision_object_doc.json +1206 -0
- package/fixtures/defold-1.14.0/bullet3d_constraint_doc.json +2455 -0
- package/fixtures/defold-1.14.0/bullet3d_doc.json +243 -0
- package/fixtures/defold-1.14.0/bullet3d_rigid_body_doc.json +1376 -0
- package/fixtures/defold-1.14.0/bullet3d_shape_doc.json +430 -0
- package/fixtures/defold-1.14.0/bullet3d_world_doc.json +855 -0
- package/fixtures/defold-1.14.0/camera_doc.json +887 -0
- package/fixtures/defold-1.14.0/collectionfactory_doc.json +206 -0
- package/fixtures/defold-1.14.0/collectionproxy_doc.json +397 -0
- package/fixtures/defold-1.14.0/compute_doc.json +183 -0
- package/fixtures/defold-1.14.0/coroutine_doc.json +152 -0
- package/fixtures/defold-1.14.0/crash_doc.json +483 -0
- package/fixtures/defold-1.14.0/debug_doc.json +411 -0
- package/fixtures/defold-1.14.0/editor_doc.json +6320 -0
- package/fixtures/defold-1.14.0/editor_http_doc.json +476 -0
- package/fixtures/defold-1.14.0/editor_image_doc.json +129 -0
- package/fixtures/defold-1.14.0/editor_json_doc.json +81 -0
- package/fixtures/defold-1.14.0/editor_localization_doc.json +139 -0
- package/fixtures/defold-1.14.0/editor_pprint_doc.json +37 -0
- package/fixtures/defold-1.14.0/editor_tilemap_tiles_doc.json +292 -0
- package/fixtures/defold-1.14.0/editor_zip_doc.json +237 -0
- package/fixtures/defold-1.14.0/editor_zlib_doc.json +49 -0
- package/fixtures/defold-1.14.0/factory_doc.json +206 -0
- package/fixtures/defold-1.14.0/font_doc.json +230 -0
- package/fixtures/defold-1.14.0/globals_doc.json +64 -0
- package/fixtures/defold-1.14.0/go-instance-functions.json +106 -0
- package/fixtures/defold-1.14.0/go_doc.json +1789 -0
- package/fixtures/defold-1.14.0/graphics_doc.json +1257 -0
- package/fixtures/defold-1.14.0/gui_doc.json +4735 -0
- package/fixtures/defold-1.14.0/html5_doc.json +65 -0
- package/fixtures/defold-1.14.0/http_doc.json +174 -0
- package/fixtures/defold-1.14.0/image_doc.json +298 -0
- package/fixtures/defold-1.14.0/import-manifest.json +10260 -0
- package/fixtures/defold-1.14.0/io_doc.json +400 -0
- package/fixtures/defold-1.14.0/json_doc.json +140 -0
- package/fixtures/defold-1.14.0/label_doc.json +427 -0
- package/fixtures/defold-1.14.0/liveupdate_doc.json +221 -0
- package/fixtures/defold-1.14.0/material_doc.json +773 -0
- package/fixtures/defold-1.14.0/math_doc.json +703 -0
- package/fixtures/defold-1.14.0/model_doc.json +472 -0
- package/fixtures/defold-1.14.0/msg_doc.json +169 -0
- package/fixtures/defold-1.14.0/os_doc.json +269 -0
- package/fixtures/defold-1.14.0/package_doc.json +140 -0
- package/fixtures/defold-1.14.0/particlefx_doc.json +249 -0
- package/fixtures/defold-1.14.0/physics_doc.json +1624 -0
- package/fixtures/defold-1.14.0/profiler_doc.json +348 -0
- package/fixtures/defold-1.14.0/render_doc.json +1628 -0
- package/fixtures/defold-1.14.0/resource_doc.json +1539 -0
- package/fixtures/defold-1.14.0/socket_doc.json +2335 -0
- package/fixtures/defold-1.14.0/sound_doc.json +673 -0
- package/fixtures/defold-1.14.0/sprite_doc.json +364 -0
- package/fixtures/defold-1.14.0/string_doc.json +413 -0
- package/fixtures/defold-1.14.0/sys_doc.json +1347 -0
- package/fixtures/defold-1.14.0/table_doc.json +167 -0
- package/fixtures/defold-1.14.0/tilemap_doc.json +369 -0
- package/fixtures/defold-1.14.0/timer_doc.json +214 -0
- package/fixtures/defold-1.14.0/types_doc.json +213 -0
- package/fixtures/defold-1.14.0/vmath_doc.json +2056 -0
- package/fixtures/defold-1.14.0/window_doc.json +426 -0
- package/fixtures/defold-1.14.0/zlib_doc.json +71 -0
- package/package.json +13 -6
- package/scripts/cli-runtime.ts +18 -0
- package/scripts/example-store-io.ts +2 -2
- package/scripts/extension-goldens.ts +9 -5
- package/scripts/generate-api-availability.ts +1 -1
- package/scripts/generate-api-signatures.ts +1 -1
- package/scripts/import-defold-release.ts +1 -1
- package/scripts/regen.ts +35 -9
- package/scripts/signature-store-fs.ts +37 -17
- package/scripts/sync-api-docs.ts +127 -20
- package/src/api-doc.ts +11 -4
- package/src/emit-dts.ts +115 -21
- package/src/index-slot-classifications.ts +75 -9
- package/src/index.ts +3 -1
- package/src/publish-dts.ts +16 -0
- package/src/script-api.ts +36 -38
- package/src/library-index-slot-classifications.ts +0 -332
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { htmlToDocText } from "./doc-comment";
|
|
2
|
-
import { LIBRARY_INDEX_SLOT_CLASSIFICATIONS } from "./library-index-slot-classifications";
|
|
3
2
|
|
|
4
3
|
// The class records the base Defold itself counts from. TypeScript passes every
|
|
5
4
|
// engine position to Defold, and takes it back, unchanged in that base:
|
|
@@ -543,36 +542,101 @@ export function withIndexBaseNotes(
|
|
|
543
542
|
return appendNotes(doc, indexBaseNotes(elementName, kind, slotName));
|
|
544
543
|
}
|
|
545
544
|
|
|
545
|
+
// The class records the base the library itself counts from, which TypeScript
|
|
546
|
+
// passes through unchanged, exactly as `INDEX_SLOT_CLASSIFICATIONS` records
|
|
547
|
+
// Defold's.
|
|
548
|
+
export type LibraryIndexSlotClassifications = ReadonlyMap<
|
|
549
|
+
string,
|
|
550
|
+
Pick<IndexSlotClassification, "class" | "evidence">
|
|
551
|
+
>;
|
|
552
|
+
|
|
553
|
+
const INDEX_SLOT_CLASSES: ReadonlySet<string> = new Set<IndexSlotClass>([
|
|
554
|
+
"native-1",
|
|
555
|
+
"native-0",
|
|
556
|
+
"not-a-position",
|
|
557
|
+
]);
|
|
558
|
+
|
|
559
|
+
function isPlainObject(value: unknown): value is Record<string, unknown> {
|
|
560
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
// Keyed `<page>/<element>:<param|return|field>:<slot>[:<field>]`, `<page>` being
|
|
564
|
+
// the library page key (`gooey`, `spine.gui`, `rive.cmd`), so a library slot
|
|
565
|
+
// never shares a key with an engine one (`spine.gui` documents `gui.*`). A class
|
|
566
|
+
// field is keyed `<page>/<Typedef>:field:<member>`, a callback argument as a
|
|
567
|
+
// field of its callback slot, and each positional value of an unnamed
|
|
568
|
+
// multi-value return as a field of that return (`cast:return::tile_x`). A
|
|
569
|
+
// typedef method is keyed by its bare name, so one key covers every class of the
|
|
570
|
+
// page that declares that method.
|
|
571
|
+
// `docs-site/app/lib/library-index-slot-gate.test.ts` reds on a scanned slot
|
|
572
|
+
// missing from `library-types/index-slot-classifications.json` and on an entry
|
|
573
|
+
// no library page declares.
|
|
574
|
+
export function parseLibraryIndexSlotClassifications(
|
|
575
|
+
json: unknown,
|
|
576
|
+
): LibraryIndexSlotClassifications {
|
|
577
|
+
if (!isPlainObject(json)) {
|
|
578
|
+
throw new Error("library index-slot classifications must be a JSON object");
|
|
579
|
+
}
|
|
580
|
+
const map = new Map<string, Pick<IndexSlotClassification, "class" | "evidence">>();
|
|
581
|
+
for (const [key, value] of Object.entries(json)) {
|
|
582
|
+
if (!isPlainObject(value)) {
|
|
583
|
+
throw new Error(`library index-slot classification ${key} must be an object`);
|
|
584
|
+
}
|
|
585
|
+
const { class: slotClass, evidence } = value;
|
|
586
|
+
if (typeof slotClass !== "string" || !INDEX_SLOT_CLASSES.has(slotClass)) {
|
|
587
|
+
throw new Error(
|
|
588
|
+
`library index-slot classification ${key} has class ${JSON.stringify(slotClass)}, not one of ${[...INDEX_SLOT_CLASSES].join(", ")}`,
|
|
589
|
+
);
|
|
590
|
+
}
|
|
591
|
+
if (typeof evidence !== "string" || evidence.trim() === "") {
|
|
592
|
+
throw new Error(`library index-slot classification ${key} needs a non-blank evidence string`);
|
|
593
|
+
}
|
|
594
|
+
map.set(key, { class: slotClass as IndexSlotClass, evidence });
|
|
595
|
+
}
|
|
596
|
+
return map;
|
|
597
|
+
}
|
|
598
|
+
|
|
546
599
|
// The same notes for a slot or class field of a library page, read from the
|
|
547
600
|
// library map under that page's key and naming the library as the receiver.
|
|
548
601
|
export function libraryIndexBaseNotes(
|
|
602
|
+
classifications: LibraryIndexSlotClassifications,
|
|
549
603
|
page: string,
|
|
550
604
|
elementName: string,
|
|
551
605
|
kind: "param" | "return" | "field",
|
|
552
606
|
slotName: string,
|
|
553
607
|
): string[] {
|
|
554
608
|
return slotBaseNotes(
|
|
555
|
-
|
|
609
|
+
classifications,
|
|
556
610
|
`\`${page}\``,
|
|
557
611
|
`${page}/${elementName}:${kind}:${slotName}`,
|
|
558
612
|
);
|
|
559
613
|
}
|
|
560
614
|
|
|
561
615
|
export function withLibraryIndexBaseNotes(
|
|
616
|
+
classifications: LibraryIndexSlotClassifications,
|
|
562
617
|
page: string,
|
|
563
618
|
elementName: string,
|
|
564
619
|
kind: "param" | "return" | "field",
|
|
565
620
|
slotName: string,
|
|
566
621
|
doc: string,
|
|
567
622
|
): string {
|
|
568
|
-
return appendNotes(
|
|
623
|
+
return appendNotes(
|
|
624
|
+
doc,
|
|
625
|
+
libraryIndexBaseNotes(classifications, page, elementName, kind, slotName),
|
|
626
|
+
);
|
|
569
627
|
}
|
|
570
628
|
|
|
571
629
|
// Where a declaration's index notes come from: the engine map, naming Defold, or
|
|
572
|
-
// the library map under each listed page, naming that library. A
|
|
573
|
-
// extension declaration never reads the engine map, so an element it
|
|
574
|
-
// name with (`spine.gui` declares `gui.*`) never claims Defold as its
|
|
575
|
-
|
|
630
|
+
// the caller's library map under each listed page, naming that library. A
|
|
631
|
+
// library or extension declaration never reads the engine map, so an element it
|
|
632
|
+
// shares a name with (`spine.gui` declares `gui.*`) never claims Defold as its
|
|
633
|
+
// receiver.
|
|
634
|
+
export type IndexBaseSource =
|
|
635
|
+
| "engine"
|
|
636
|
+
| {
|
|
637
|
+
readonly pages: readonly string[];
|
|
638
|
+
readonly classifications: LibraryIndexSlotClassifications;
|
|
639
|
+
};
|
|
576
640
|
|
|
577
641
|
export type IndexBaseNoteResolver = (
|
|
578
642
|
elementName: string,
|
|
@@ -582,7 +646,9 @@ export type IndexBaseNoteResolver = (
|
|
|
582
646
|
|
|
583
647
|
export function indexBaseNoteResolver(source: IndexBaseSource): IndexBaseNoteResolver {
|
|
584
648
|
if (source === "engine") return indexBaseNotes;
|
|
585
|
-
const { pages } = source;
|
|
649
|
+
const { pages, classifications } = source;
|
|
586
650
|
return (elementName, kind, slotName) =>
|
|
587
|
-
pages.flatMap((page) =>
|
|
651
|
+
pages.flatMap((page) =>
|
|
652
|
+
libraryIndexBaseNotes(classifications, page, elementName, kind, slotName),
|
|
653
|
+
);
|
|
588
654
|
}
|
package/src/index.ts
CHANGED
|
@@ -88,11 +88,12 @@ export {
|
|
|
88
88
|
INDEX_SLOT_CLASSIFICATIONS,
|
|
89
89
|
type IndexSlotClass,
|
|
90
90
|
type IndexSlotClassification,
|
|
91
|
+
type LibraryIndexSlotClassifications,
|
|
91
92
|
libraryIndexBaseNotes,
|
|
93
|
+
parseLibraryIndexSlotClassifications,
|
|
92
94
|
withIndexBaseNotes,
|
|
93
95
|
withLibraryIndexBaseNotes,
|
|
94
96
|
} from "./index-slot-classifications";
|
|
95
|
-
export { LIBRARY_INDEX_SLOT_CLASSIFICATIONS } from "./library-index-slot-classifications";
|
|
96
97
|
export {
|
|
97
98
|
hasTopLevelUnion,
|
|
98
99
|
luaMultiReturn,
|
|
@@ -131,6 +132,7 @@ export {
|
|
|
131
132
|
type ModuleWrapOptions,
|
|
132
133
|
type WrapOptions,
|
|
133
134
|
wrapAsAmbientGlobal,
|
|
135
|
+
wrapAsGlobalTableModule,
|
|
134
136
|
wrapAsModule,
|
|
135
137
|
} from "./publish-dts";
|
|
136
138
|
export {
|
package/src/publish-dts.ts
CHANGED
|
@@ -45,6 +45,22 @@ export function wrapAsAmbientGlobal(opts: WrapOptions): string {
|
|
|
45
45
|
return `/** @noSelfInFile */\n${importLine}declare global {\n${indented}\n}\n\nexport {};\n`;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
// The emitted namespace as an ambient `declare module "<namespace>"` tagged
|
|
49
|
+
// `@globalTable`, so an import lowers to a local alias of the global the
|
|
50
|
+
// extension registers. The description stays a separate JSDoc above the tag,
|
|
51
|
+
// since TypeScript reads tags from the last one. The body keeps the namespace's
|
|
52
|
+
// indentation, and engine handles resolve as ambient globals, as in
|
|
53
|
+
// `wrapAsModule`.
|
|
54
|
+
export function wrapAsGlobalTableModule(opts: WrapOptions): string {
|
|
55
|
+
const body = opts.emitted
|
|
56
|
+
.replace(
|
|
57
|
+
/(^|\n)declare\s+namespace\s+[\w$.]+\s*\{/,
|
|
58
|
+
(_match, lead) => `${lead}/** @globalTable */\ndeclare module "${opts.namespace}" {`,
|
|
59
|
+
)
|
|
60
|
+
.trimEnd();
|
|
61
|
+
return `/** @noSelfInFile */\n${body}\n`;
|
|
62
|
+
}
|
|
63
|
+
|
|
48
64
|
export function wrapAsModule(opts: ModuleWrapOptions): string {
|
|
49
65
|
// ambient-globals-only: the module form references engine handles (`Hash`,
|
|
50
66
|
// `Vector3`, ...) as ambient globals and emits no top-level import. A top-level
|
package/src/script-api.ts
CHANGED
|
@@ -22,18 +22,12 @@ export interface RefDocConstantElement {
|
|
|
22
22
|
name: string;
|
|
23
23
|
brief: string;
|
|
24
24
|
description: string;
|
|
25
|
+
/** The scalar's declared `type:` tokens; an engine `CONSTANT` carries none. */
|
|
26
|
+
types: string[];
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
export type RefDocElement = RefDocFunctionElement | RefDocConstantElement;
|
|
28
30
|
|
|
29
|
-
export interface ScriptApiOptions {
|
|
30
|
-
// Also carry scalar members as CONSTANT elements and function `examples:` as
|
|
31
|
-
// ref-doc examples HTML, and nested callback arguments, table fields and
|
|
32
|
-
// optional flags on each slot. Off for the typing lanes, whose emitter and
|
|
33
|
-
// frozen goldens only ever see flat functions without examples.
|
|
34
|
-
complete?: boolean;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
31
|
export interface RefDoc {
|
|
38
32
|
info: { namespace: string; brief: string; description: string };
|
|
39
33
|
elements: RefDocElement[];
|
|
@@ -47,6 +41,11 @@ function stringOr(value: unknown, fallback: string): string {
|
|
|
47
41
|
return typeof value === "string" ? value : fallback;
|
|
48
42
|
}
|
|
49
43
|
|
|
44
|
+
// A `.script_api` spells a slot that takes one of a set of named constants as
|
|
45
|
+
// `enum`; the core ref-doc token for the same meaning is `constant`, which the
|
|
46
|
+
// emitter expands to the constants the slot's doc names.
|
|
47
|
+
const TYPE_TOKEN_ALIASES: ReadonlyMap<string, string> = new Map([["enum", "constant"]]);
|
|
48
|
+
|
|
50
49
|
// A `.script_api` `type:` may spell a union inline (`string | nil`), where the
|
|
51
50
|
// core ref-doc format carries one token per alternative. Splitting here keeps the
|
|
52
51
|
// downstream emitter and fidelity resolver working in single tokens. A `type:`
|
|
@@ -57,7 +56,8 @@ function splitTypeTokens(type: unknown): string[] {
|
|
|
57
56
|
return type
|
|
58
57
|
.split("|")
|
|
59
58
|
.map((token) => token.trim())
|
|
60
|
-
.filter((token) => token.length > 0)
|
|
59
|
+
.filter((token) => token.length > 0)
|
|
60
|
+
.map((token) => TYPE_TOKEN_ALIASES.get(token) ?? token);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
// Upstream writes a slot list either as a YAML list or, for a lone slot, as a
|
|
@@ -79,13 +79,12 @@ function isFunctionName(name: string): boolean {
|
|
|
79
79
|
return name !== "None" && FUNCTION_NAME.test(name);
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
function mapSlot(item: Record<string, unknown
|
|
82
|
+
function mapSlot(item: Record<string, unknown>): RefDocParameter {
|
|
83
83
|
const slot: RefDocParameter = {
|
|
84
84
|
name: stringOr(item.name, "").replace(REQUIRED_SUFFIX, ""),
|
|
85
85
|
doc: stringOr(item.desc, ""),
|
|
86
86
|
types: splitTypeTokens(item.type),
|
|
87
87
|
};
|
|
88
|
-
if (!complete) return slot;
|
|
89
88
|
// A callback lists its arguments under `parameters:` and a table its keys under
|
|
90
89
|
// `fields:` or `members:`; the ref-doc format carries all as `fields`. A
|
|
91
90
|
// callback's own `self` is kept, since the engine really passes it to the callback.
|
|
@@ -94,18 +93,18 @@ function mapSlot(item: Record<string, unknown>, complete: boolean): RefDocParame
|
|
|
94
93
|
...slotList(item.fields),
|
|
95
94
|
...slotList(item.members),
|
|
96
95
|
];
|
|
97
|
-
if (nested.length > 0) slot.fields = nested.map(
|
|
96
|
+
if (nested.length > 0) slot.fields = nested.map(mapSlot);
|
|
98
97
|
if (item.optional === true) slot.is_optional = "True";
|
|
99
98
|
return slot;
|
|
100
99
|
}
|
|
101
100
|
|
|
102
|
-
function mapParameters(raw: unknown
|
|
101
|
+
function mapParameters(raw: unknown): RefDocParameter[] {
|
|
103
102
|
const out: RefDocParameter[] = [];
|
|
104
103
|
for (const item of slotList(raw)) {
|
|
105
104
|
// The script_api lists the implicit `self` the engine passes; the emitter
|
|
106
105
|
// stamps @noSelfInFile, so generated signatures must not declare it.
|
|
107
106
|
if (stringOr(item.name, "") === "self") continue;
|
|
108
|
-
out.push(mapSlot(item
|
|
107
|
+
out.push(mapSlot(item));
|
|
109
108
|
}
|
|
110
109
|
return out;
|
|
111
110
|
}
|
|
@@ -153,22 +152,23 @@ function isScalar(member: Record<string, unknown>): boolean {
|
|
|
153
152
|
|
|
154
153
|
/**
|
|
155
154
|
* Convert a parsed Defold extension `.script_api` document into the core
|
|
156
|
-
* ref-doc JSON object shape that `parseDefoldApiDoc` consumes.
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
* `
|
|
162
|
-
*
|
|
163
|
-
*
|
|
155
|
+
* ref-doc JSON object shape that `parseDefoldApiDoc` consumes. `type: function`
|
|
156
|
+
* members become FUNCTION elements; scalar members at the top level and one
|
|
157
|
+
* table deep become CONSTANT elements carrying their `type:` tokens, so a
|
|
158
|
+
* `type: string` scalar reaches the emitter as a string constant; each
|
|
159
|
+
* function's `examples:` becomes
|
|
160
|
+
* `codehilite` examples HTML that keeps each fence's language; and each slot's
|
|
161
|
+
* nested `parameters:`/`fields:` and `optional: true` become ref-doc `fields`
|
|
162
|
+
* and `is_optional`. The Libraries pages, the `script-api` lane, the extension
|
|
163
|
+
* goldens and `resolve` all read this one conversion.
|
|
164
164
|
*
|
|
165
|
-
* Upstream dialects are normalized
|
|
166
|
-
*
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
165
|
+
* Upstream dialects are normalized: a function's slots are read from the first
|
|
166
|
+
* present of `parameters:`, `params:` or `members:` and its returns from
|
|
167
|
+
* `returns:` or `return:`, any slot list may be a single mapping, a table slot's
|
|
168
|
+
* `members:` nest like `fields:`, a `(REQUIRED)` name suffix is dropped, and a
|
|
169
|
+
* function named `None` or not a Lua identifier is skipped.
|
|
170
170
|
*/
|
|
171
|
-
export function scriptApiToRefDoc(parsed: unknown
|
|
171
|
+
export function scriptApiToRefDoc(parsed: unknown): RefDoc {
|
|
172
172
|
if (!Array.isArray(parsed)) {
|
|
173
173
|
throw new Error("scriptApiToRefDoc: expected a top-level YAML list");
|
|
174
174
|
}
|
|
@@ -193,13 +193,10 @@ export function scriptApiToRefDoc(parsed: unknown, options: ScriptApiOptions = {
|
|
|
193
193
|
type: "FUNCTION",
|
|
194
194
|
name,
|
|
195
195
|
description: stringOr(member.desc, ""),
|
|
196
|
-
parameters: mapParameters(
|
|
197
|
-
|
|
198
|
-
options.complete === true,
|
|
199
|
-
),
|
|
200
|
-
returnvalues: mapParameters(member.returns ?? member.return, options.complete === true),
|
|
196
|
+
parameters: mapParameters(member.parameters ?? member.params ?? member.members),
|
|
197
|
+
returnvalues: mapParameters(member.returns ?? member.return),
|
|
201
198
|
};
|
|
202
|
-
const examples =
|
|
199
|
+
const examples = examplesHtml(member.examples);
|
|
203
200
|
if (examples !== "") element.examples = examples;
|
|
204
201
|
return element;
|
|
205
202
|
};
|
|
@@ -211,6 +208,7 @@ export function scriptApiToRefDoc(parsed: unknown, options: ScriptApiOptions = {
|
|
|
211
208
|
name,
|
|
212
209
|
brief: stringOr(member.desc, ""),
|
|
213
210
|
description: stringOr(member.desc, ""),
|
|
211
|
+
types: splitTypeTokens(member.type),
|
|
214
212
|
});
|
|
215
213
|
for (const member of members) {
|
|
216
214
|
if (!isRecord(member)) continue;
|
|
@@ -219,7 +217,7 @@ export function scriptApiToRefDoc(parsed: unknown, options: ScriptApiOptions = {
|
|
|
219
217
|
elements.push(fnElement(`${namespace}.${stringOr(member.name, "")}`, member));
|
|
220
218
|
continue;
|
|
221
219
|
}
|
|
222
|
-
if (
|
|
220
|
+
if (isScalar(member)) {
|
|
223
221
|
elements.push(constantElement(`${namespace}.${stringOr(member.name, "")}`, member));
|
|
224
222
|
continue;
|
|
225
223
|
}
|
|
@@ -236,7 +234,7 @@ export function scriptApiToRefDoc(parsed: unknown, options: ScriptApiOptions = {
|
|
|
236
234
|
if (subMember.type === "function") {
|
|
237
235
|
if (isFunctionName(stringOr(subMember.name, "")))
|
|
238
236
|
elements.push(fnElement(name, subMember));
|
|
239
|
-
} else if (
|
|
237
|
+
} else if (isScalar(subMember)) {
|
|
240
238
|
elements.push(constantElement(name, subMember));
|
|
241
239
|
}
|
|
242
240
|
}
|
|
@@ -249,6 +247,6 @@ export function scriptApiToRefDoc(parsed: unknown, options: ScriptApiOptions = {
|
|
|
249
247
|
return doc;
|
|
250
248
|
}
|
|
251
249
|
|
|
252
|
-
export function parseScriptApi(yamlText: string
|
|
253
|
-
return scriptApiToRefDoc(parse(yamlText)
|
|
250
|
+
export function parseScriptApi(yamlText: string): RefDoc {
|
|
251
|
+
return scriptApiToRefDoc(parse(yamlText));
|
|
254
252
|
}
|
|
@@ -1,332 +0,0 @@
|
|
|
1
|
-
import type { IndexSlotClassification } from "./index-slot-classifications";
|
|
2
|
-
|
|
3
|
-
// The class records the base the library itself counts from, which TypeScript
|
|
4
|
-
// passes through unchanged, exactly as `INDEX_SLOT_CLASSIFICATIONS` records
|
|
5
|
-
// Defold's.
|
|
6
|
-
type LibraryIndexSlotClassification = Pick<IndexSlotClassification, "class" | "evidence">;
|
|
7
|
-
|
|
8
|
-
const RIVE_LIST_INDEX =
|
|
9
|
-
"passes the index to rive::CommandQueue unchanged, which counts list entries from 0 (-1 appends)";
|
|
10
|
-
|
|
11
|
-
const SPINE_GUI_TRACK_PROSE: Readonly<Record<string, string>> = {
|
|
12
|
-
"gui.cancel_spine": "The track number to cancel (1-based)",
|
|
13
|
-
"gui.get_spine_animation": "The track number to get animation from (1-based)",
|
|
14
|
-
"gui.set_spine_cursor": "The track number to set cursor for (1-based)",
|
|
15
|
-
"gui.get_spine_cursor": "The track number to get cursor from (1-based)",
|
|
16
|
-
"gui.set_spine_playback_rate": "The track number to set playback rate for (1-based)",
|
|
17
|
-
"gui.get_spine_playback_rate": "The track number to get playback rate from (1-based)",
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
// Keyed `<page>/<element>:<param|return|field>:<slot>[:<field>]`, `<page>` being
|
|
21
|
-
// the library page key (`gooey`, `spine.gui`, `rive.cmd`), so a library slot
|
|
22
|
-
// never shares a key with an engine one (`spine.gui` documents `gui.*`). A class
|
|
23
|
-
// field is keyed `<page>/<Typedef>:field:<member>`, a callback argument as a
|
|
24
|
-
// field of its callback slot, and each positional value of an unnamed
|
|
25
|
-
// multi-value return as a field of that return (`cast:return::tile_x`). A
|
|
26
|
-
// typedef method is keyed by its bare name, so one key covers every class of the
|
|
27
|
-
// page that declares that method.
|
|
28
|
-
// `docs-site/app/lib/library-index-slot-gate.test.ts` reds on a scanned slot
|
|
29
|
-
// missing here and on an entry no library page declares.
|
|
30
|
-
export const LIBRARY_INDEX_SLOT_CLASSIFICATIONS: ReadonlyMap<
|
|
31
|
-
string,
|
|
32
|
-
LibraryIndexSlotClassification
|
|
33
|
-
> = new Map<string, LibraryIndexSlotClassification>([
|
|
34
|
-
[
|
|
35
|
-
"boom/z:param:index",
|
|
36
|
-
{ class: "not-a-position", evidence: "a draw order: a bigger z draws on top" },
|
|
37
|
-
],
|
|
38
|
-
[
|
|
39
|
-
"bridge/bridge.daily_rewards.get_current_day:param:on_success:day",
|
|
40
|
-
{
|
|
41
|
-
class: "native-0",
|
|
42
|
-
evidence: "Returns the 0-based index of the reward the player is currently on",
|
|
43
|
-
},
|
|
44
|
-
],
|
|
45
|
-
[
|
|
46
|
-
"crazygames/crazygames.list_friends:param:page",
|
|
47
|
-
{ class: "native-1", evidence: "Page number, starting at 1" },
|
|
48
|
-
],
|
|
49
|
-
[
|
|
50
|
-
"decore/system:field:index",
|
|
51
|
-
{
|
|
52
|
-
class: "native-1",
|
|
53
|
-
evidence: "internal/ecs.lua:tiny_manageSystems sets systems[j].index = j",
|
|
54
|
-
},
|
|
55
|
-
],
|
|
56
|
-
[
|
|
57
|
-
"druid/scroll_to_index:param:index",
|
|
58
|
-
{
|
|
59
|
-
class: "native-1",
|
|
60
|
-
evidence:
|
|
61
|
-
"scroll.lua:scroll_to_index clamps to 1 .. #points; data_list.lua:scroll_to_index hands it to grid:get_pos",
|
|
62
|
-
},
|
|
63
|
-
],
|
|
64
|
-
[
|
|
65
|
-
"druid/get_pos:param:index",
|
|
66
|
-
{
|
|
67
|
-
class: "native-1",
|
|
68
|
-
evidence: "static_grid.lua:get_pos places index 1 at row 0, column 0",
|
|
69
|
-
},
|
|
70
|
-
],
|
|
71
|
-
[
|
|
72
|
-
"druid/get_index_xy:return:",
|
|
73
|
-
{
|
|
74
|
-
class: "native-1",
|
|
75
|
-
evidence: "static_grid.lua:get_index_xy returns (col + 1) + row * in_row",
|
|
76
|
-
},
|
|
77
|
-
],
|
|
78
|
-
[
|
|
79
|
-
"druid/get_index:return:",
|
|
80
|
-
{
|
|
81
|
-
class: "native-1",
|
|
82
|
-
evidence: "static_grid.lua:get_index returns get_index_xy's index",
|
|
83
|
-
},
|
|
84
|
-
],
|
|
85
|
-
[
|
|
86
|
-
"druid/get_index_by_node:return:",
|
|
87
|
-
{
|
|
88
|
-
class: "native-1",
|
|
89
|
-
evidence: "static_grid.lua:get_index_by_node returns the node's key in the nodes array",
|
|
90
|
-
},
|
|
91
|
-
],
|
|
92
|
-
[
|
|
93
|
-
"druid/add:param:index",
|
|
94
|
-
{
|
|
95
|
-
class: "native-1",
|
|
96
|
-
evidence:
|
|
97
|
-
"static_grid.lua:add and data_list.lua:add insert with helper.insert_with_shift, defaulting to the count + 1",
|
|
98
|
-
},
|
|
99
|
-
],
|
|
100
|
-
[
|
|
101
|
-
"druid/remove:param:index",
|
|
102
|
-
{
|
|
103
|
-
class: "native-1",
|
|
104
|
-
evidence:
|
|
105
|
-
"static_grid.lua:remove and data_list.lua:remove call helper.remove_with_shift at index",
|
|
106
|
-
},
|
|
107
|
-
],
|
|
108
|
-
...["druid/init:param:create_function", "druid/new_data_list:param:create_function"].map(
|
|
109
|
-
(key): [string, LibraryIndexSlotClassification] => [
|
|
110
|
-
key,
|
|
111
|
-
{
|
|
112
|
-
class: "not-a-position",
|
|
113
|
-
evidence: "a callback; data_list.lua passes it the 1-based data index",
|
|
114
|
-
},
|
|
115
|
-
],
|
|
116
|
-
),
|
|
117
|
-
...["cursor_index", "start_index", "end_index"].map(
|
|
118
|
-
(slot): [string, LibraryIndexSlotClassification] => [
|
|
119
|
-
`druid/select_cursor:param:${slot}`,
|
|
120
|
-
{
|
|
121
|
-
class: "native-0",
|
|
122
|
-
evidence:
|
|
123
|
-
"input.lua:select_cursor clamps to 0 .. utf8.len(value); 0 is before the first character",
|
|
124
|
-
},
|
|
125
|
-
],
|
|
126
|
-
),
|
|
127
|
-
...["druid/druid_grid:field:first_index", "druid/druid_grid:field:last_index"].map(
|
|
128
|
-
(key): [string, LibraryIndexSlotClassification] => [
|
|
129
|
-
key,
|
|
130
|
-
{
|
|
131
|
-
class: "native-1",
|
|
132
|
-
evidence:
|
|
133
|
-
"static_grid.lua:_update_indexes takes the least and greatest key of the nodes array",
|
|
134
|
-
},
|
|
135
|
-
],
|
|
136
|
-
),
|
|
137
|
-
...["druid/druid_data_list:field:top_index", "druid/druid_data_list:field:last_index"].map(
|
|
138
|
-
(key): [string, LibraryIndexSlotClassification] => [
|
|
139
|
-
key,
|
|
140
|
-
{ class: "native-1", evidence: "data_list.lua:init starts both at 1, the first data index" },
|
|
141
|
-
],
|
|
142
|
-
),
|
|
143
|
-
[
|
|
144
|
-
"druid/set_node_index:param:node",
|
|
145
|
-
{ class: "not-a-position", evidence: "the node to move; its prose reads `the index of`" },
|
|
146
|
-
],
|
|
147
|
-
[
|
|
148
|
-
"druid/set_node_index:param:index",
|
|
149
|
-
{
|
|
150
|
-
class: "native-1",
|
|
151
|
-
evidence: "layout.lua:set_node_index calls table.insert(self.entities, index, node)",
|
|
152
|
-
},
|
|
153
|
-
],
|
|
154
|
-
[
|
|
155
|
-
"event/is_subscribed:return:",
|
|
156
|
-
{
|
|
157
|
-
class: "not-a-position",
|
|
158
|
-
evidence:
|
|
159
|
-
"both unnamed returns share this key: a boolean, then the 1-based callback index (event.lua:is_subscribed); no note fits both",
|
|
160
|
-
},
|
|
161
|
-
],
|
|
162
|
-
[
|
|
163
|
-
"gooey/set_focus:param:index",
|
|
164
|
-
{
|
|
165
|
-
class: "native-1",
|
|
166
|
-
evidence:
|
|
167
|
-
"gooey.lua:set_focus reads group.components[index]; focus moves over 1 .. #components",
|
|
168
|
-
},
|
|
169
|
-
],
|
|
170
|
-
[
|
|
171
|
-
"imgui/imgui.set_mouse_button:param:index",
|
|
172
|
-
{
|
|
173
|
-
class: "native-0",
|
|
174
|
-
evidence: "extension_imgui.cpp:imgui_SetMouseButton writes io.MouseDown[index]",
|
|
175
|
-
},
|
|
176
|
-
],
|
|
177
|
-
[
|
|
178
|
-
"imgui/imgui.table_set_column_index:param:column_index",
|
|
179
|
-
{
|
|
180
|
-
class: "native-0",
|
|
181
|
-
evidence:
|
|
182
|
-
"extension_imgui.cpp:imgui_TableSetColumnIndex passes it to ImGui::TableSetColumnIndex unchanged",
|
|
183
|
-
},
|
|
184
|
-
],
|
|
185
|
-
...["imgui.set_style_color", "imgui.push_style_color"].map(
|
|
186
|
-
(fn): [string, LibraryIndexSlotClassification] => [
|
|
187
|
-
`imgui/${fn}:param:color_index`,
|
|
188
|
-
{ class: "not-a-position", evidence: "an `imgui.ImGuiCol_*` constant" },
|
|
189
|
-
],
|
|
190
|
-
),
|
|
191
|
-
...[
|
|
192
|
-
"imgui/imgui.font_add_ttf_file:return:font_index",
|
|
193
|
-
"imgui/imgui.font_add_ttf_data:return:font_index",
|
|
194
|
-
"imgui/imgui.font_push:param:font_index",
|
|
195
|
-
].map((key): [string, LibraryIndexSlotClassification] => [
|
|
196
|
-
key,
|
|
197
|
-
{
|
|
198
|
-
class: "native-0",
|
|
199
|
-
evidence:
|
|
200
|
-
"extension_imgui.cpp:imgui_StoreFont returns Size() - 1, and imgui_GetFont accepts 0 .. Size() - 1",
|
|
201
|
-
},
|
|
202
|
-
]),
|
|
203
|
-
...[
|
|
204
|
-
"node_repeat/NodeRepeatAnimation:field:current_frame",
|
|
205
|
-
"sprite_repeat/SpriteRepeatAnimation:field:current_frame",
|
|
206
|
-
].map((key): [string, LibraryIndexSlotClassification] => [
|
|
207
|
-
key,
|
|
208
|
-
{ class: "native-1", evidence: "The 1-based index of the frame shown next" },
|
|
209
|
-
]),
|
|
210
|
-
[
|
|
211
|
-
"narrator/choose:param:index",
|
|
212
|
-
{ class: "native-1", evidence: "story.lua:choose asserts index within 1 .. #choices" },
|
|
213
|
-
],
|
|
214
|
-
[
|
|
215
|
-
"panthera/panthera_animation:field:animation_keys_index",
|
|
216
|
-
{
|
|
217
|
-
class: "native-1",
|
|
218
|
-
evidence: "panthera.lua:update_animation walks keys from animation_keys_index to #keys",
|
|
219
|
-
},
|
|
220
|
-
],
|
|
221
|
-
...[
|
|
222
|
-
["referenceListViewModelInstance", "index"],
|
|
223
|
-
["insertViewModelInstanceListViewModel", "index"],
|
|
224
|
-
["swapViewModelInstanceListValues", "indexa"],
|
|
225
|
-
["swapViewModelInstanceListValues", "indexb"],
|
|
226
|
-
["removeViewModelInstanceListViewModelIndex", "index"],
|
|
227
|
-
].map(([fn, slot]): [string, LibraryIndexSlotClassification] => [
|
|
228
|
-
`rive.cmd/rive.cmd.${fn}:param:${slot}`,
|
|
229
|
-
{ class: "native-0", evidence: `script_rive_cmd.cpp:Script_${fn} ${RIVE_LIST_INDEX}` },
|
|
230
|
-
]),
|
|
231
|
-
...[
|
|
232
|
-
"get_bundle_list",
|
|
233
|
-
"get_bundle_list_in_group",
|
|
234
|
-
"get_games_list",
|
|
235
|
-
"get_games_group",
|
|
236
|
-
"get_game_keys_group",
|
|
237
|
-
"get_user_games",
|
|
238
|
-
"get_virtual_items",
|
|
239
|
-
"get_virtual_currency",
|
|
240
|
-
"get_virtual_currency_package",
|
|
241
|
-
"get_virtual_items_group",
|
|
242
|
-
"get_sellable_items",
|
|
243
|
-
"get_sellable_items_group",
|
|
244
|
-
"get_reward_chains_list",
|
|
245
|
-
].map((fn): [string, LibraryIndexSlotClassification] => [
|
|
246
|
-
`shop/shop.${fn}:param:offset`,
|
|
247
|
-
{ class: "native-0", evidence: "the count starts from 0" },
|
|
248
|
-
]),
|
|
249
|
-
[
|
|
250
|
-
"spine/spine.play_anim:param:options:track",
|
|
251
|
-
{
|
|
252
|
-
class: "native-1",
|
|
253
|
-
evidence: "script_spine.cpp defaults track to 1; comp_spine_model.cpp plays on m_Track - 1",
|
|
254
|
-
},
|
|
255
|
-
],
|
|
256
|
-
[
|
|
257
|
-
"spine/spine.cancel:param:options:track",
|
|
258
|
-
{ class: "native-1", evidence: "comp_spine_model.cpp cancels on m_Track - 1" },
|
|
259
|
-
],
|
|
260
|
-
[
|
|
261
|
-
"spine/spine.play_anim:param:callback_function:message:track",
|
|
262
|
-
{ class: "native-1", evidence: "comp_spine_model.cpp sends entry->trackIndex + 1" },
|
|
263
|
-
],
|
|
264
|
-
[
|
|
265
|
-
"spine.gui/gui.play_spine_anim:param:play_properties:track",
|
|
266
|
-
{ class: "native-1", evidence: "The track number for the animation (1-based)" },
|
|
267
|
-
],
|
|
268
|
-
[
|
|
269
|
-
"spine.gui/gui.play_spine_anim:param:callback_function:message:track",
|
|
270
|
-
{ class: "native-1", evidence: "gui_node_spine.cpp sends entry->trackIndex + 1" },
|
|
271
|
-
],
|
|
272
|
-
...Object.entries(SPINE_GUI_TRACK_PROSE).map(
|
|
273
|
-
([fn, evidence]): [string, LibraryIndexSlotClassification] => [
|
|
274
|
-
`spine.gui/${fn}:param:options:track`,
|
|
275
|
-
{ class: "native-1", evidence },
|
|
276
|
-
],
|
|
277
|
-
),
|
|
278
|
-
[
|
|
279
|
-
"steam/steam.friends_get_friend_by_index:param:iFriend",
|
|
280
|
-
{ class: "native-0", evidence: "Is a index of range [0, GetFriendCount())" },
|
|
281
|
-
],
|
|
282
|
-
[
|
|
283
|
-
"steam/steam.matchmaking_get_lobby_by_index:param:index",
|
|
284
|
-
{ class: "native-0", evidence: "from 0 to LobbyMatchList_t.m_nLobbiesMatching" },
|
|
285
|
-
],
|
|
286
|
-
...[
|
|
287
|
-
["matchmaking_get_lobby_member_by_index", "steam_matchmaking.cpp", "GetLobbyMemberByIndex"],
|
|
288
|
-
["matchmaking_get_lobby_data_by_index", "steam_matchmaking.cpp", "GetLobbyDataByIndex"],
|
|
289
|
-
[
|
|
290
|
-
"user_stats_get_downloaded_leaderboard_entry",
|
|
291
|
-
"steam_userstats.cpp",
|
|
292
|
-
"GetDownloadedLeaderboardEntry",
|
|
293
|
-
],
|
|
294
|
-
].map(([fn, file, call]): [string, LibraryIndexSlotClassification] => [
|
|
295
|
-
`steam/steam.${fn}:param:index`,
|
|
296
|
-
{ class: "native-0", evidence: `${file} passes it to Steamworks ${call}, which counts from 0` },
|
|
297
|
-
]),
|
|
298
|
-
[
|
|
299
|
-
"steam/steam.user_stats_get_achievement_name:param:index",
|
|
300
|
-
{ class: "native-0", evidence: "Get achievement name iAchievement in [0,GetNumAchievements)" },
|
|
301
|
-
],
|
|
302
|
-
[
|
|
303
|
-
"steam/steam.matchmaking_get_lobby_chat_entry:param:index",
|
|
304
|
-
{ class: "not-a-position", evidence: "the `m_iChatID` a `LobbyChatMsg_t` callback carries" },
|
|
305
|
-
],
|
|
306
|
-
[
|
|
307
|
-
"tile_raycast/cast:return:",
|
|
308
|
-
{
|
|
309
|
-
class: "not-a-position",
|
|
310
|
-
evidence:
|
|
311
|
-
"a tuple: `hit`, `tile_id`, `intersection_x`, `intersection_y` and `side` address nothing by position; `tile_x`, `tile_y` and `array_id` are keyed on their own",
|
|
312
|
-
},
|
|
313
|
-
],
|
|
314
|
-
...(["tile_x", "tile_y"] as const).map((value): [string, LibraryIndexSlotClassification] => [
|
|
315
|
-
`tile_raycast/cast:return::${value}`,
|
|
316
|
-
{
|
|
317
|
-
class: "native-1",
|
|
318
|
-
evidence:
|
|
319
|
-
"Tile coordinates and array indices are 1-based; set_at/get_at subtract 1 from them (tileraycast.cpp)",
|
|
320
|
-
},
|
|
321
|
-
]),
|
|
322
|
-
[
|
|
323
|
-
"tile_raycast/cast:return::array_id",
|
|
324
|
-
{ class: "native-1", evidence: "Tile coordinates and array indices are 1-based" },
|
|
325
|
-
],
|
|
326
|
-
...(["set_at", "get_at"] as const).flatMap((fn) =>
|
|
327
|
-
(["tile_x", "tile_y"] as const).map((slot): [string, LibraryIndexSlotClassification] => [
|
|
328
|
-
`tile_raycast/${fn}:param:${slot}`,
|
|
329
|
-
{ class: "native-1", evidence: "tileraycast.cpp subtracts 1 from the checked coordinate" },
|
|
330
|
-
]),
|
|
331
|
-
),
|
|
332
|
-
]);
|