{"id":17011130,"url":"https://github.com/mikuauahdark/lua-live2d-framework","last_synced_at":"2025-10-17T07:32:26.572Z","repository":{"id":133073398,"uuid":"188872742","full_name":"MikuAuahDark/lua-live2d-framework","owner":"MikuAuahDark","description":"(WIP) Live2D Cubism 3 Native Framework, but in Lua.","archived":false,"fork":false,"pushed_at":"2020-07-28T16:05:18.000Z","size":105,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-27T12:48:20.681Z","etag":null,"topics":["cubism3","live2d","lua","luajit","luajit-ffi"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MikuAuahDark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-27T15:59:26.000Z","updated_at":"2024-07-02T18:18:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"0fb5355c-a30b-4e9f-aa50-190caeaca7a4","html_url":"https://github.com/MikuAuahDark/lua-live2d-framework","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MikuAuahDark%2Flua-live2d-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MikuAuahDark%2Flua-live2d-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MikuAuahDark%2Flua-live2d-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MikuAuahDark%2Flua-live2d-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MikuAuahDark","download_url":"https://codeload.github.com/MikuAuahDark/lua-live2d-framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244960049,"owners_count":20538743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cubism3","live2d","lua","luajit","luajit-ffi"],"created_at":"2024-10-14T06:06:18.370Z","updated_at":"2025-09-21T21:06:15.665Z","avatar_url":"https://github.com/MikuAuahDark.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"lua-live2d-framework\n====================\n\n[CubismNativeFramework](https://github.com/Live2D/CubismNativeFramework/tree/934c194f1eb29cdc7ff39dc4836bb79b076e5c24) but in Lua.\n\nProvides both CubismNativeFramework-like API and [Live2LOVE](https://github.com/MikuAuahDark/Live2LOVE)-compatible API.\n\nDifferences\n-----------\n\nC++ and Lua are completely different thing. Here are some differences between CubismNativeFramework and\nlua-live2d-framework:\n\n* lua-live2d-framework uses `lowerCamelCase` naming while CubismNativeFramework uses `UpperCamelCase`.\n\n* `CubismId` and `CubismIdHandle` does not exist. Lua string is used instead.\n\n* Anything that uses numeric index ID are assumed to use 1-based indexing.\n\n* There's no `Delete` function. Lua has automatic garbage collection.\n\n* `CubismModel::GetDrawableVertexUvs` is `Model:getDrawableVertexUVs` (notice the uppercase `V`)\n\n* `Model:getDrawableBlendMode` returns 2 strings, which maps to LOVE [BlendMode](https://love2d.org/wiki/BlendMode) and [BlendAlphaMode](https://love2d.org/wiki/BlendAlphaMode) respectively.\n\n* `CubismModel::GetModel` returns backend-specific model object.\n\n* `CubismMoc` equivalent class does not exist. Moc data string is passed directly to `Model` object constructor.\n\n* In `MotionJson` (`CubismMotionJson` equivalent), any `IsExist*` method is replaced by `has*` method instead.\n\n* All `is*` or `has*` method doesn't accept additional value to set the value. Use `set*` function respectively to set it.\n\n* Addition of `Model:getAllParameterValue` which returns 4 values: current parameter value, min, max, and default value.\n\nThird-party Libraries\n---------------------\n\nHere's list of 3rd-party libraries used:\n\n* [JSON.lua](http://regex.info/blog/lua/json) - CC-BY license.\n\n* [Luaoop](https://github.com/ImagicTheCat/Luaoop) - MIT license.\n\n* [nvec](https://github.com/MikuAuahDark/NPad93/blob/master/nvec.lua) - zLib license.\n\nLicense\n-------\n\nMost portion of the code falls into [Live2D Open Software License](http://live2d.com/eula/live2d-open-software-license-agreement_en.html)\nwhich is incompatible with **GPL** and its friends. However, some part of the program like backend\nand third-party libraries are licensed under permissive license. See each file for more information.\n\nHere are list of files (exclude `3p` folder) which falls under MIT license:\n\n* `init.lua`\n\n* Any files at `backend` folder.\n\n* `math/Math.lua`\n\n* `Live2LOVE.lua`\n\nAnything not stated, with exception of `dummy.lua` falls into Live2D Open Software License.\n\nThis thread also worth checking: https://community.live2d.com/discussion/666/re-implementing-cubismnativeframework-is-it-allowed\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikuauahdark%2Flua-live2d-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikuauahdark%2Flua-live2d-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikuauahdark%2Flua-live2d-framework/lists"}