diff --git a/compose/src/commonMain/kotlin/app/tinyui/generated/RuntimeBytecode.kt b/compose/src/commonMain/kotlin/app/tinyui/generated/RuntimeBytecode.kt index 8dce218..34a0e56 100644 --- a/compose/src/commonMain/kotlin/app/tinyui/generated/RuntimeBytecode.kt +++ b/compose/src/commonMain/kotlin/app/tinyui/generated/RuntimeBytecode.kt @@ -4,10 +4,10 @@ package app.tinyui.generated /** Base64 of the runtime modules' bytecode, split to fit JVM string constants. */ internal object RuntimeBytecode { val core: Array = arrayOf( - "UUpLQjQAAAABAAAAMDRiZTI0NjAwMTU5OWY1OTk1ZmEyZjJkOGM5MWEwZjE5OGQzZjM0YwWdAhZ0aW55dWktY29yZRZCb3R0b21TaGVldAZCb3gMQnV0dG9uDENvbHVtbg5EaXZpZGVyBkZvchBGcmFnbWVudBJIb3N0RXJyb3IISWNvbhRMYXp5Q29sdW1uDkxvYWRpbmcWUmFkaW9CdXR0b24GUm93CFNob3cMU3BhY2VyCFRleHQSVGV4dEZpZWxkDlZFUlNJT04MZWZmZWN0AmgQaW50ZXJuYWwQbWFuaWZlc3QIbWVtbxRvYnNlcnZhYmxlEm9uQ2xlYW51cBZwYWdlVmlzaWJsZQZyZWYQcmVzb3VyY2UMc2lnbmFsCnRodW5rDnVudHJhY2sMdW53cmFwEl9fZGVmUHJvcBBfX2V4cG9ydBpjdXJyZW50RWZmZWN0GGN1cnJlbnRPd25lcg5wZW5kaW5nBnJhbiRNQVhfUlVOU19QRVJfRkxVU0gWY3JlYXRlT3duZXIYcnVuV2l0aE93bmVyGGRpc3Bvc2VPd25lchhpbnNpZGVSZW5kZXIQdHJhY2tpbmcUcnVuUGVuZGluZyRjcmVhdGVFZmZlY3RSZWNvcmQScnVuRWZmZWN0GmRpc3Bvc2VFZmZlY3QWdW5zdWJzY3JpYmUWcnVuQ2xlYW51cHMKdHJhY2sMbm90aWZ5DkNPTlRST0wKVGh1bmsOcGF0Y2hlcxBoYW5kbGVycwxuZXh0SWQQcmVzZXRJZHMIU2xvdBpjYWxsQ29tcG9uZW50GmNyZWF0ZUVsZW1lbnQQYmluZFByb3AMc2NhbGFyDmZsYXR0ZW4acmVuZGVySW5Pd25lchBwZW5kaW5nMhBuZXh0Q2JJZApxdWVyeQhjYWxsCHNlbmQMcmVwb3J0HHJlc29sdmVQZW5kaW5nGnJlamVjdFBlbmRpbmcaY2FuY2VsUGVuZGluZxhhbGxvY2F0ZUNiSWQecmVnaXN0ZXJQZW5kaW5nFHNldFRpbWVvdXQYY2xlYXJUaW1lb3V0HGluc3RhbGxHbG9iYWxzCHJvb3QOY3VycmVudA52aXNpYmxlFHNldFZpc2libGUMdG9waWNzDG9uRW1pdAxsaXN0ZW4OZ3VhcmRlZA5lbnRyaWVzDmluc3RhbGwGUkFXCEtFWVMOcHJveGllcxZzdWJzY3JpYmVycxR1bndyYXBEZWVwGnVud3JhcFNoYWxsb3cWaXNXcmFwcGFibGUId3JhcAhzdWJzDm9ic2VydmUOY2hhbmdlZA5pc0luZGV4EmhhbmRsZXJzMiBpbnRlcm5hbF9leHBvcnRzGF9faG9zdF9hcHBseRhfX2hvc3RfcXVlcnkWX19ob3N0X2NhbGwWX19ob3N0X3NlbmQaX19ob3N0X3JlcG9ydA5SZWZsZWN0DDAuMTAuMBx0aW55dWkuY29udHJvbAptb3VudAxpbnNlcnQIbW92ZQxyZW1vdmUMb2Zmc2V0DGFzc2lnbhRjb21wb25lbnRzGGNhcGFiaWxpdGllcw51bm1vdW50EGRpc3BhdGNoCGVtaXQKZmx1c2gUdGlueXVpLnJhdxZ0aW55dWkua2V5cwZhbGwOZWZmZWN0cxBjbGVhbnVwcxBkaXNwb3NlZApvd25lcgRmbhJwcmV2T3duZXIUcHJldkVmZmVjdAJlAmMMc3BsaWNlDnJldmVyc2UIaW5pdApzdWJzMgJ2DmVmZmVjdDICbQpkaXJ0eQhwdXNobG9uQ2xlYW51cCgpIGNhbGxlZCBvdXRzaWRlIGEgc3luY2hyb25vdXMgcmVuZGVyIHBlcmlvZAhwcmV2AmkMcXVldWVkCHJ1bnN8dXBkYXRlIGxvb3A6IGFuIGVmZmVjdCByZS1yYW4gbW9yZSB0aGFuIDEwMCB0aW1lcyBpbiBvbmUgZmx1c2hmZWZmZWN0KCkgY2FsbGVkIG91dHNpZGUgYSBzeW5jaHJvbm91cyByZW5kZXIgcGVyaW9kCGRlcHMMcGFyZW50EGVudHJpZXMyEHBvc2l0aW9uCm5vZGVzCG5vZGUEYXQEdG8OaW5kZXhPZixtb3ZlOiBub2RlIG5vdCBpbiBzbG90MHJlbW92ZTogbm9kZSBub3QgaW4gc2xvdAJyAm4EaWQGY21kCGFyZ3NecmVmLmNtZCgpIGJlZm9yZSB0aGUgcmVmIHdhcyBhdHRhY2hlZCB0byBhIG5vZGUCeBJGcmFnbWVudDIKcHJvcHMQY2hpbGRyZW4IdHlwZVxoKCkgY2FsbGVkIG91dHNpZGUgYSBzeW5jaHJvbm91cyByZW5kZXIgcGVyaW9kAnAGa2V5DHJlc3VsdAh3aGF0fGEgUHJvbWlzZSAoYXN5bmMgY29tcG9uZW50cyBhcmUgbm90IHN1cHBvcnRlZDsgdXNlIHJlc291cmNlKCkpDmlzQXJyYXlUc2V2ZXJhbCBub2RlcyAod3JhcCB0aGVtIGluIG9uZSBjb250YWluZXIpTmEgRm9yIC8gU2hvdyAod3JhcCBpdCBpbiBvbmUgY29udGFpbmVyKRRjb21wb25lbnQgFjxhbm9ueW1vdXM+RiBtdXN0IHJldHVybiBleGFjdGx5IG9uZSBub2RlLCBnb3QgAmsKY2hpbGQIdGVzdAI8AiAoPiBtdXN0IGJlIGEgZnVuY3Rpb24COghsYXN0CmZpcnN0AnRWPiBpcyBhIGZ1bmN0aW9uOyBkaWQgeW91IGZvcmdldCB0byBjYWxsIGl0P6oBPiBtdXN0IGJlIGEgc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4gb3IgbnVsbDsgcHJvcHMgZG8gbm90IGNyb3NzIHRoZSBicmlkZ2UgYXMgb2JqZWN0cwZvdXQMcmVuZGVyOiBtdXN0IHJldHVybiBleGFjdGx5IG9uZSBub2RlCGNvZGUOZGV0YWlscw5oZWFkZXJzCGJvZHkScGF0Y2hKc29uCnBhcnNlEnN0cmluZ2lmeQhjYklkCHNpdGUIa2luZAxkZXRhaWwUcmVzdWx0SnNvbhRFX0JBRF9KU09OMmhvc3QgcmVzdWx0IGlzIG5vdCBKU09OOiASZXJyb3JKc29uCmVycm9yIGhvc3QgY2FsbCBmYWlsZWQEbXMcdGltZXIuc2NoZWR1bGUYdGltZXIuY2FuY2VsAmcKdG9waWNmb25FbWl0KCkgY2FsbGVkIG91dHNpZGUgYSBzeW5jaHJvbm91cyByZW5kZXIgcGVyaW9kCmVudHJ5BmVycgRFMQhwYWdlEnByb3BzSnNvbhBob3N0SnNvbihtb3VudCgpIGNhbGxlZCB0d2ljZU5wYWdlIG11c3QgcmV0dXJuIGV4YWN0bHkgb25lIG5vZGUsIGdvdCASYSBQcm9taXNlCmNsZWFyDG5vZGVJZApldmVudBZwYXlsb2FkSnNvbg5oYW5kbGVyDnBheWxvYWQIanNvbhBfX3Rpbnl1aVpvYnNlcnZhYmxlKCkgdGFrZXMgYSBwbGFpbiBvYmplY3Qgb3IgYW4gYXJyYXkIc2VlbgJ1CnByb3RvEGlz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ExYQDQ8RDgcELwoADEIGAQABAAECAQMBEwH+BQEAQOgFABIAkggBGgCWCAIaAGQAAOgCKWQBAL4A7Q5kAgAJ7SnmAw+ZBhMDERwDCAMbDg0NFhQADEIGAQAAAAABAAEAAgD+BQABANso5gMFnAYOAgwADEIGAQABAAECAAMAEgHyBQEAAOgFABIAmAgDGgCWCAIaAGQAAOgCKWQBAM/tDmQCAAntKeYDEZ4GBwMGHAMIAxESBwENDxYUAAwCBgEAAAAAAQABAAIA8AQwQgHbKOYDBawGCAIMAAwCBgEAAAAAAQABAAIAkgVDQgHbKOYDBa0GCgIMAAwCBgEAAAAAAQABAAIAkAVCQgHbKOYDBa4GCgIMAAwCBgEAAAAAAQABAAIA7gQvQgHbKOYDBa8GCQIMAAwCBgEAAAAAAQABAAIA8gQxQgHbKOYDBbAGCAIMAA==", + "UUpLQjQAAAABAAAAMDRiZTI0NjAwMTU5OWY1OTk1ZmEyZjJkOGM5MWEwZjE5OGQzZjM0YwWdAhZ0aW55dWktY29yZRZCb3R0b21TaGVldAZCb3gMQnV0dG9uDENvbHVtbg5EaXZpZGVyBkZvchBGcmFnbWVudBJIb3N0RXJyb3IISWNvbhRMYXp5Q29sdW1uDkxvYWRpbmcWUmFkaW9CdXR0b24GUm93CFNob3cMU3BhY2VyCFRleHQSVGV4dEZpZWxkDlZFUlNJT04MZWZmZWN0AmgQaW50ZXJuYWwQbWFuaWZlc3QIbWVtbxRvYnNlcnZhYmxlEm9uQ2xlYW51cBZwYWdlVmlzaWJsZQZyZWYQcmVzb3VyY2UMc2lnbmFsCnRodW5rDnVudHJhY2sMdW53cmFwEl9fZGVmUHJvcBBfX2V4cG9ydBpjdXJyZW50RWZmZWN0GGN1cnJlbnRPd25lcg5wZW5kaW5nBnJhbiRNQVhfUlVOU19QRVJfRkxVU0gWY3JlYXRlT3duZXIYcnVuV2l0aE93bmVyGGRpc3Bvc2VPd25lchhpbnNpZGVSZW5kZXIQdHJhY2tpbmcUcnVuUGVuZGluZyRjcmVhdGVFZmZlY3RSZWNvcmQScnVuRWZmZWN0GmRpc3Bvc2VFZmZlY3QWdW5zdWJzY3JpYmUWcnVuQ2xlYW51cHMKdHJhY2sMbm90aWZ5DkNPTlRST0wKVGh1bmsOcGF0Y2hlcxBoYW5kbGVycwxuZXh0SWQQcmVzZXRJZHMIU2xvdBpjYWxsQ29tcG9uZW50GmNyZWF0ZUVsZW1lbnQQYmluZFByb3AMc2NhbGFyDmZsYXR0ZW4acmVuZGVySW5Pd25lchBwZW5kaW5nMhBuZXh0Q2JJZApxdWVyeQhjYWxsCHNlbmQMcmVwb3J0HHJlc29sdmVQZW5kaW5nGnJlamVjdFBlbmRpbmcaY2FuY2VsUGVuZGluZxhhbGxvY2F0ZUNiSWQecmVnaXN0ZXJQZW5kaW5nFHNldFRpbWVvdXQYY2xlYXJUaW1lb3V0HGluc3RhbGxHbG9iYWxzCHJvb3QOY3VycmVudA52aXNpYmxlFHNldFZpc2libGUMdG9waWNzDG9uRW1pdAxsaXN0ZW4OZ3VhcmRlZA5lbnRyaWVzDmluc3RhbGwGUkFXCEtFWVMOcHJveGllcxZzdWJzY3JpYmVycxR1bndyYXBEZWVwGnVud3JhcFNoYWxsb3cWaXNXcmFwcGFibGUId3JhcAhzdWJzDm9ic2VydmUOY2hhbmdlZA5pc0luZGV4EmhhbmRsZXJzMiBpbnRlcm5hbF9leHBvcnRzGF9faG9zdF9hcHBseRhfX2hvc3RfcXVlcnkWX19ob3N0X2NhbGwWX19ob3N0X3NlbmQaX19ob3N0X3JlcG9ydA5SZWZsZWN0DDAuMTAuMRx0aW55dWkuY29udHJvbAptb3VudAxpbnNlcnQIbW92ZQxyZW1vdmUMb2Zmc2V0DGFzc2lnbhRjb21wb25lbnRzGGNhcGFiaWxpdGllcw51bm1vdW50EGRpc3BhdGNoCGVtaXQKZmx1c2gUdGlueXVpLnJhdxZ0aW55dWkua2V5cwZhbGwOZWZmZWN0cxBjbGVhbnVwcxBkaXNwb3NlZApvd25lcgRmbhJwcmV2T3duZXIUcHJldkVmZmVjdAJlAmMMc3BsaWNlDnJldmVyc2UIaW5pdApzdWJzMgJ2DmVmZmVjdDICbQpkaXJ0eQhwdXNobG9uQ2xlYW51cCgpIGNhbGxlZCBvdXRzaWRlIGEgc3luY2hyb25vdXMgcmVuZGVyIHBlcmlvZAhwcmV2AmkMcXVldWVkCHJ1bnN8dXBkYXRlIGxvb3A6IGFuIGVmZmVjdCByZS1yYW4gbW9yZSB0aGFuIDEwMCB0aW1lcyBpbiBvbmUgZmx1c2hmZWZmZWN0KCkgY2FsbGVkIG91dHNpZGUgYSBzeW5jaHJvbm91cyByZW5kZXIgcGVyaW9kCGRlcHMMcGFyZW50EGVudHJpZXMyEHBvc2l0aW9uCm5vZGVzCG5vZGUEYXQEdG8OaW5kZXhPZixtb3ZlOiBub2RlIG5vdCBpbiBzbG90MHJlbW92ZTogbm9kZSBub3QgaW4gc2xvdAJyAm4EaWQGY21kCGFyZ3NecmVmLmNtZCgpIGJlZm9yZSB0aGUgcmVmIHdhcyBhdHRhY2hlZCB0byBhIG5vZGUCeBJGcmFnbWVudDIKcHJvcHMQY2hpbGRyZW4IdHlwZVxoKCkgY2FsbGVkIG91dHNpZGUgYSBzeW5jaHJvbm91cyByZW5kZXIgcGVyaW9kAnAGa2V5DHJlc3VsdAh3aGF0fGEgUHJvbWlzZSAoYXN5bmMgY29tcG9uZW50cyBhcmUgbm90IHN1cHBvcnRlZDsgdXNlIHJlc291cmNlKCkpDmlzQXJyYXlUc2V2ZXJhbCBub2RlcyAod3JhcCB0aGVtIGluIG9uZSBjb250YWluZXIpTmEgRm9yIC8gU2hvdyAod3JhcCBpdCBpbiBvbmUgY29udGFpbmVyKRRjb21wb25lbnQgFjxhbm9ueW1vdXM+RiBtdXN0IHJldHVybiBleGFjdGx5IG9uZSBub2RlLCBnb3QgAmsKY2hpbGQIdGVzdAI8AiAoPiBtdXN0IGJlIGEgZnVuY3Rpb24COghsYXN0CmZpcnN0AnRWPiBpcyBhIGZ1bmN0aW9uOyBkaWQgeW91IGZvcmdldCB0byBjYWxsIGl0P6oBPiBtdXN0IGJlIGEgc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4gb3IgbnVsbDsgcHJvcHMgZG8gbm90IGNyb3NzIHRoZSBicmlkZ2UgYXMgb2JqZWN0cwZvdXQMcmVuZGVyOiBtdXN0IHJldHVybiBleGFjdGx5IG9uZSBub2RlCGNvZGUOZGV0YWlscw5oZWFkZXJzCGJvZHkScGF0Y2hKc29uCnBhcnNlEnN0cmluZ2lmeQhjYklkCHNpdGUIa2luZAxkZXRhaWwUcmVzdWx0SnNvbhRFX0JBRF9KU09OMmhvc3QgcmVzdWx0IGlzIG5vdCBKU09OOiASZXJyb3JKc29uCmVycm9yIGhvc3QgY2FsbCBmYWlsZWQEbXMcdGltZXIuc2NoZWR1bGUYdGltZXIuY2FuY2VsAmcKdG9waWNmb25FbWl0KCkgY2FsbGVkIG91dHNpZGUgYSBzeW5jaHJvbm91cyByZW5kZXIgcGVyaW9kCmVudHJ5BmVycgRFMQhwYWdlEnByb3BzSnNvbhBob3N0SnNvbihtb3VudCgpIGNhbGxlZCB0d2ljZU5wYWdlIG11c3QgcmV0dXJuIGV4YWN0bHkgb25lIG5vZGUsIGdvdCASYSBQcm9taXNlCmNsZWFyDG5vZGVJZApldmVudBZwYXlsb2FkSnNvbg5oYW5kbGVyDnBheWxvYWQIanNvbhBfX3Rpbnl1aVpvYnNlcnZhYmxlKCkgdGFrZXMgYSBwbGFpbiBvYmplY3Qgb3IgYW4gYXJyYXkIc2VlbgJ1CnByb3RvEGlz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", ) val native: Array = arrayOf( - "UUpLQjQAAAABAAAAMDRiZTI0NjAwMTU5OWY1OTk1ZmEyZjJkOGM5MWEwZjE5OGQzZjM0YwXYARp0aW55dWktbmF0aXZlFnRpbnl1aS1jb3JlEkhvc3RFcnJvcg5WRVJTSU9OEmFuYWx5dGljcwxjYWNoZWQSY2xpcGJvYXJkDGV2ZW50cwhob3N0CGh0dHAIaTE4bg5saW5raW5nFG5hdmlnYXRpb24Oc2Vzc2lvbg5zdG9yYWdlCnN0b3JlBHVpEGludGVybmFsDHNpZ25hbBJvbkNsZWFudXASaW50ZXJuYWwyEmludGVybmFsMxJpbnRlcm5hbDQSaW50ZXJuYWw1EmludGVybmFsNg5zaWduYWwyFEhvc3RFcnJvcjISaW50ZXJuYWw3DnNpZ25hbDMSaW50ZXJuYWw4DnNpZ25hbDQSaW50ZXJuYWw5FGludGVybmFsMTAUaW50ZXJuYWwxMRRIb3N0RXJyb3IzFGludGVybmFsMTIUSG9zdEVycm9yNBJfX2RlZlByb3AQX19leHBvcnQkbmF2aWdhdGlvbl9leHBvcnRzCHB1c2gGcG9wEG9uUmVzdWx0GnN0b3JlX2V4cG9ydHMKd2F0Y2gcZXZlbnRzX2V4cG9ydHMIZW1pdARvbhhodHRwX2V4cG9ydHMOY2hhbm5lbBBmYWxsYmFjawxjbGllbnQOcmVxdWVzdAhnZXQyCHBvc3QGcHV0BmRlbBhob3N0X2V4cG9ydHMIY2FsbB5zdG9yYWdlX2V4cG9ydHMIZ2V0MwhzZXQyDHJlbW92ZQpjbGVhchhpMThuX2V4cG9ydHMOY3VycmVudBRzZXRDdXJyZW50CHpvbmUOc2V0Wm9uZRRzdWJzY3JpYmVkDGZvbGxvdwxsb2NhbGUCdBB0aW1lWm9uZQpUT0tFTgZwYWQUZm9ybWF0RGF0ZR5zZXNzaW9uX2V4cG9ydHMQY3VycmVudDIWc2V0Q3VycmVudDIWc3Vic2NyaWJlZDIKc3RhdGUMc2lnbkluFHVpX2V4cG9ydHMKdG9hc3QKYWxlcnQOY29uZmlybR5saW5raW5nX2V4cG9ydHMOb3BlblVybCJjbGlwYm9hcmRfZXhwb3J0cw5zZXRUZXh0ImFuYWx5dGljc19leHBvcnRzCnRyYWNrEGxvZ2dlZEluDHVzZXJJZAwwLjEwLjAGYWxsCHBhZ2UMcGFyYW1zCHNlbmQebmF2aWdhdGlvbi5wdXNoDHJlc3VsdBxuYXZpZ2F0aW9uLnBvcARmbgxvbkVtaXQibmF2aWdhdGlvbi5yZXN1bHQCcAJyBmtleQJ2CnF1ZXJ5EnN0b3JlLmdldBJzdG9yZS5zZXQSc3RyaW5naWZ5EHNldFZhbHVlHnN0b3JlLnN1YnNjcmliZQxzdG9yZToKdG9waWMOcGF5bG9hZBZldmVudHMuZW1pdCBldmVudHMuc3Vic2NyaWJlEHJlcXVlc3QyDG1ldGhvZAZ1cmwIYm9keQ5vcHRpb25zGGh0dHAucmVxdWVzdAZHRVQIUE9TVAZQVVQMREVMRVRFCGFyZ3MWc3RvcmFnZS5nZXQIY29kZRZzdG9yYWdlLnNldBpzdG9yYWdlLnNldCgiFiIpIGZhaWxlZDogHHN0b3JhZ2UucmVtb3ZlGnN0b3JhZ2UuY2xlYXIOZmV0Y2hlcghkYXRhDnNldERhdGEObG9hZGluZxRzZXRMb2FkaW5nCmVycm9yEHNldEVycm9yEGRpc3Bvc2VkDGxhdGVzdAZydW4OcmVmZXRjaAhydW4yEGN1cnJlbnQzDnBlbmRpbmcCZRZpMThuLmxvY2FsZRppMThuLnRpbWVab25lHGkxOG4uc3Vic2NyaWJlDGxpc3RlbghyZXN0CHRleHQMaTE4bi50DnJlcGxhY2UCbQJuCndpZHRoEHBhZFN0YXJ0DmVwb2NoTXMOcGF0dGVybg5pbnZhbGlkAmQQaXNGaW5pdGUKaXNOYU4OZ2V0VGltZR5pMThuLnpvbmVPZmZzZXQEbXMSRV9JTlZBTElEImkxOG4uZm9ybWF0RGF0ZTogOCBpcyBub3QgYSB0aW1lIERhdGUgY2FuIGhvbGQMcXVvdGVkAicUcmVwbGFjZUFsbAQnJwh5eXl5HGdldFVUQ0Z1bGxZZWFyBE1NFmdldFVUQ01vbnRoAk0EZGQUZ2V0VVRDRGF0ZQRISBZnZXRVVENIb3VycwJIBG1tGmdldFVUQ01pbnV0ZXMEc3MaZ2V0VVRDU2Vjb25kcwZTU1MkZ2V0VVRDTWlsbGlzZWNvbmRzJGkxOG4uZm9ybWF0RGF0ZTogIgwiIGluICI0IiBpcyBub3QgYSBzdXBwb3J0ZWQgZmllbGQWc2Vzc2lvbi5nZXQi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AAIAlgVLQgHbKOYDBaQCCwIMAAxDBgGWBQEAAQUAAQAXAdwFAQAApgQQGgBkAAA+LQEAAATCAQAAC89JbgEAACUCAOYDCacCAAMSERRXIQAMAgYBAAAAAAEAAQACAJoFTUIB2yjmAwWuAgsCDAAMQwYBmgUBAAEFAAEAFwGkBgEAAKgEERoAZAAAPi0BAAAEwwEAAAvPSZIBAAAlAgDmAwmxAgADEhEUVyEADAIGAQAAAAABAAEAAgCeBU9CAdso5gMFuAIJAgwADEEGAZ4FAgQBDAADAKYBBnQBAACIBwEAAHT/////DwCgiAcBAKCKBwAAsMAFAwCwygJWAwCqBBIaAKwEExoAXgEAXgAAz8fQEfDoBA4L2MheAwBeAgA4AAA+xgEAANAkAQB76l17fgAOyX4ADsqCXwMA8elNXwMAlQRMAAAAquhBXwMAlQRKAAAAqug1XwMAlQRLAAAAqugpZAEAEQSiAQAABMcBAAA+YAAAAM8EyAEAAF8CAATJAQAAJAQAIQIAMH4A6KEOgmQCAD5WAQAABMoBAAALz0k6AAAA0EnEAQAAJAIAKeYDLLsCAHYuEQwbEgcBUzkRBBEmEQQvLhEELy4RBDCBAWFYIBY5WREnKAcRFHUKAA==", + "UUpLQjQAAAABAAAAMDRiZTI0NjAwMTU5OWY1OTk1ZmEyZjJkOGM5MWEwZjE5OGQzZjM0YwXYARp0aW55dWktbmF0aXZlFnRpbnl1aS1jb3JlEkhvc3RFcnJvcg5WRVJTSU9OEmFuYWx5dGljcwxjYWNoZWQSY2xpcGJvYXJkDGV2ZW50cwhob3N0CGh0dHAIaTE4bg5saW5raW5nFG5hdmlnYXRpb24Oc2Vzc2lvbg5zdG9yYWdlCnN0b3JlBHVpEGludGVybmFsDHNpZ25hbBJvbkNsZWFudXASaW50ZXJuYWwyEmludGVybmFsMxJpbnRlcm5hbDQSaW50ZXJuYWw1EmludGVybmFsNg5zaWduYWwyFEhvc3RFcnJvcjISaW50ZXJuYWw3DnNpZ25hbDMSaW50ZXJuYWw4DnNpZ25hbDQSaW50ZXJuYWw5FGludGVybmFsMTAUaW50ZXJuYWwxMRRIb3N0RXJyb3IzFGludGVybmFsMTIUSG9zdEVycm9yNBJfX2RlZlByb3AQX19leHBvcnQkbmF2aWdhdGlvbl9leHBvcnRzCHB1c2gGcG9wEG9uUmVzdWx0GnN0b3JlX2V4cG9ydHMKd2F0Y2gcZXZlbnRzX2V4cG9ydHMIZW1pdARvbhhodHRwX2V4cG9ydHMOY2hhbm5lbBBmYWxsYmFjawxjbGllbnQOcmVxdWVzdAhnZXQyCHBvc3QGcHV0BmRlbBhob3N0X2V4cG9ydHMIY2FsbB5zdG9yYWdlX2V4cG9ydHMIZ2V0MwhzZXQyDHJlbW92ZQpjbGVhchhpMThuX2V4cG9ydHMOY3VycmVudBRzZXRDdXJyZW50CHpvbmUOc2V0Wm9uZRRzdWJzY3JpYmVkDGZvbGxvdwxsb2NhbGUCdBB0aW1lWm9uZQpUT0tFTgZwYWQUZm9ybWF0RGF0ZR5zZXNzaW9uX2V4cG9ydHMQY3VycmVudDIWc2V0Q3VycmVudDIWc3Vic2NyaWJlZDIKc3RhdGUMc2lnbkluFHVpX2V4cG9ydHMKdG9hc3QKYWxlcnQOY29uZmlybR5saW5raW5nX2V4cG9ydHMOb3BlblVybCJjbGlwYm9hcmRfZXhwb3J0cw5zZXRUZXh0ImFuYWx5dGljc19leHBvcnRzCnRyYWNrEGxvZ2dlZEluDHVzZXJJZAwwLjEwLjEGYWxsCHBhZ2UMcGFyYW1zCHNlbmQebmF2aWdhdGlvbi5wdXNoDHJlc3VsdBxuYXZpZ2F0aW9uLnBvcARmbgxvbkVtaXQibmF2aWdhdGlvbi5yZXN1bHQCcAJyBmtleQJ2CnF1ZXJ5EnN0b3JlLmdldBJzdG9yZS5zZXQSc3RyaW5naWZ5EHNldFZhbHVlHnN0b3JlLnN1YnNjcmliZQxzdG9yZToKdG9waWMOcGF5bG9hZBZldmVudHMuZW1pdCBldmVudHMuc3Vic2NyaWJlEHJlcXVlc3QyDG1ldGhvZAZ1cmwIYm9keQ5vcHRpb25zGGh0dHAucmVxdWVzdAZHRVQIUE9TVAZQVVQMREVMRVRFCGFyZ3MWc3RvcmFnZS5nZXQIY29kZRZzdG9yYWdlLnNldBpzdG9yYWdlLnNldCgiFiIpIGZhaWxlZDogHHN0b3JhZ2UucmVtb3ZlGnN0b3JhZ2UuY2xlYXIOZmV0Y2hlcghkYXRhDnNldERhdGEObG9hZGluZxRzZXRMb2FkaW5nCmVycm9yEHNldEVycm9yEGRpc3Bvc2VkDGxhdGVzdAZydW4OcmVmZXRjaAhydW4yEGN1cnJlbnQzDnBlbmRpbmcCZRZpMThuLmxvY2FsZRppMThuLnRpbWVab25lHGkxOG4uc3Vic2NyaWJlDGxpc3RlbghyZXN0CHRleHQMaTE4bi50DnJlcGxhY2UCbQJuCndpZHRoEHBhZFN0YXJ0DmVwb2NoTXMOcGF0dGVybg5pbnZhbGlkAmQQaXNGaW5pdGUKaXNOYU4OZ2V0VGltZR5pMThuLnpvbmVPZmZzZXQEbXMSRV9JTlZBTElEImkxOG4uZm9ybWF0RGF0ZTogOCBpcyBub3QgYSB0aW1lIERhdGUgY2FuIGhvbGQMcXVvdGVkAicUcmVwbGFjZUFsbAQnJwh5eXl5HGdldFVUQ0Z1bGxZZWFyBE1NFmdldFVUQ01vbnRoAk0EZGQUZ2V0VVRDRGF0ZQRISBZnZXRVVENIb3VycwJIBG1tGmdldFVUQ01pbnV0ZXMEc3MaZ2V0VVRDU2Vjb25kcwZTU1MkZ2V0VVRDTWlsbGlzZWNvbmRzJGkxOG4uZm9ybWF0RGF0ZTogIgwiIGluICI0IiBpcyBub3QgYSBzdXBwb3J0ZWQgZmllbGQWc2Vzc2lvbi5nZXQi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", ) } diff --git a/docs/build-chain.md b/docs/build-chain.md index 9b149e3..c4e0405 100644 --- a/docs/build-chain.md +++ b/docs/build-chain.md @@ -78,7 +78,7 @@ rolldown 是真正的备选(Rollup 同形 API、oxc 转译)。CLI 只包一 字节码编译放 CLI 而不放 Gradle:业务 App 不会有本仓的 build-logic,`tinyui build` 必须自己出最终产物。`qjsc-kmp` 二进制查找顺序:`--qjsc` 参数 → `TINYUI_QJSC` 环境变量 → npm 包 `qjsc-kmp` 的预编译版 → PATH。 -字节码绑定引擎构建(文件头记上游 commit,quickjs-kmp `docs/native-build.md`"字节码与宿主工具"),CLI 用的 `qjsc-kmp` 必须与 App 链接的 quickjs-kmp 同一上游 commit。`tinyui-cli` 依赖的 `qjsc-kmp` 版本钉成与 catalog 的 `quickjsKmp` 相等(`packages/cli/test/qjsc.test.ts` 校验),所以 JS 工程的 `tinyui-cli` 与 App 的 `tinyui` 之间,只要两个版本钉的 `quickjsKmp` 相同,引擎就对得上;JS 工程的 `tinyui-cli` 须与目标宿主的 tinyui 下限兼容:同 major 且不高于它(updates.md §1.1、§1.3)。某个 tinyui 版本升级了 `quickjsKmp` 时,宿主升到它就是换引擎,按 updates.md §4.1 加 `hostVersion`,下限随之抬到这个版本。 +字节码绑定引擎构建(文件头记上游 commit,quickjs-kmp `docs/native-build.md`"字节码与宿主工具"),CLI 用的 `qjsc-kmp` 必须与 App 链接的 quickjs-kmp 同一上游 commit。`tinyui-cli` 依赖的 `qjsc-kmp` 通常与 catalog 的 `quickjsKmp` 同版本,但校验的是上游 commit 而不是版本号:内置运行时由 CLI 的 `qjsc-kmp` 编出(`pnpm runtime:check` 保证入库的与现编一致),`RuntimeBytecodeTest` 核对它的文件头与链接引擎的 `QuickJs.upstreamCommit` 相等,两边 commit 不同 CI 即失败。所以上游 commit 不变的 quickjs-kmp 版本两边可以不同步:0.10.1 起 catalog 为 0.1.4,`qjsc-kmp` 仍是 0.1.2(0.1.3、0.1.4 只把 Android `.so` 改成 16 KB 页面对齐,编译器源码未动,npm 上也没有这两版)。JS 工程的 `tinyui-cli` 与 App 的 `tinyui` 之间,只要两边的上游 commit 相同,引擎就对得上;JS 工程的 `tinyui-cli` 须与目标宿主的 tinyui 下限兼容:同 major 且不高于它(updates.md §1.1、§1.3)。某个 tinyui 版本升级了 `quickjsKmp` 且上游 commit 随之改变(即 `manifest.engine` 变了)时,宿主升到它就是换引擎,按 updates.md §4.1 加 `hostVersion`,下限随之抬到这个版本;只改构建参数或绑定层、上游 commit 不变的升级(如 0.10.1 的 quickjs-kmp 0.1.4)不算换引擎,旧字节码照常被接受,不加。 | 场景 | 来源 | |---|---| diff --git a/docs/updates.md b/docs/updates.md index aacf216..f532245 100644 --- a/docs/updates.md +++ b/docs/updates.md @@ -165,7 +165,7 @@ class Updates( 验签公钥不由宿主传:每个包的信任锚是它内置 manifest 里的 `publicKey`(§1.1、§7)。单包宿主写 `Updates(listOf(embedded), …)`。 -**`hostVersion` 的口径**(作用同 Expo 的 `runtimeVersion`,但只取正整数、数的是宿主的变化;不沿用那个名字,是因为 tinyui 里 runtime 已指运行时模块与引擎):宿主仓持有的递增正整数字符串(`"1"`、`"2"`……;`1.2.0` 这类 App 版本号在 CLI、`Updates`、服务端三处都被拒),语义是"这个值下发布的任何包都能在本宿主上跑";一个宿主一个值,挂在它上面的所有包共用。**它是宿主对页面承诺的版本,不是 tinyui 版本**(ADR-006 §2.11)。宿主给页面的承诺变了就加 1:宿主组件增删或改 schema;宿主能力增删,或改已有能力的参数与行为;网络通道增删,或改已有通道带的身份;提供或撤掉会话(快照里记作能力 `session.signIn`)。语言、埋点出口、链接打开器等框架标准接口缺省时有可用的默认行为,形状随 tinyui 走,宿主接没接、怎么实现都不加(ADR-007 §3.9);抬高 tinyui 下限(页面要用新版运行时的东西,或升到新 major);换引擎(含随 tinyui 升级带来的 quickjs-kmp 变化,build-chain.md §5)。单纯升级 tinyui、只改宿主内部实现、其他原生页面、修崩溃,不加。包的 JS 工程发布时由 `tinyui bundle --host-version` 取这个值,不自行推导。JS 侧取错分两个方向:取成不存在或更新的值,包只是送不到(`releases list` 与客户端事件可见);取成一个仍有设备在用的旧值,旧宿主会照常装上,而页面可能用到它没有的东西——宿主构建的检查拦不住这个方向,由 `publish` 发布前核对(§1.3)。 +**`hostVersion` 的口径**(作用同 Expo 的 `runtimeVersion`,但只取正整数、数的是宿主的变化;不沿用那个名字,是因为 tinyui 里 runtime 已指运行时模块与引擎):宿主仓持有的递增正整数字符串(`"1"`、`"2"`……;`1.2.0` 这类 App 版本号在 CLI、`Updates`、服务端三处都被拒),语义是"这个值下发布的任何包都能在本宿主上跑";一个宿主一个值,挂在它上面的所有包共用。**它是宿主对页面承诺的版本,不是 tinyui 版本**(ADR-006 §2.11)。宿主给页面的承诺变了就加 1:宿主组件增删或改 schema;宿主能力增删,或改已有能力的参数与行为;网络通道增删,或改已有通道带的身份;提供或撤掉会话(快照里记作能力 `session.signIn`)。语言、埋点出口、链接打开器等框架标准接口缺省时有可用的默认行为,形状随 tinyui 走,宿主接没接、怎么实现都不加(ADR-007 §3.9);抬高 tinyui 下限(页面要用新版运行时的东西,或升到新 major);换引擎(含随 tinyui 升级带来的 quickjs-kmp 上游 commit 变化,build-chain.md §5;上游 commit 不变的 quickjs-kmp 升级不算)。单纯升级 tinyui、只改宿主内部实现、其他原生页面、修崩溃,不加。包的 JS 工程发布时由 `tinyui bundle --host-version` 取这个值,不自行推导。JS 侧取错分两个方向:取成不存在或更新的值,包只是送不到(`releases list` 与客户端事件可见);取成一个仍有设备在用的旧值,旧宿主会照常装上,而页面可能用到它没有的东西——宿主构建的检查拦不住这个方向,由 `publish` 发布前核对(§1.3)。 漏加的后果是旧宿主收到跑不了的页面(不崩溃的错误不会触发 §4.5 回退),多加的后果是更早的宿主从此收不到更新。漏加只可能发生在宿主仓,由宿主构建拦:宿主快照 `tinyui-host/.txt`(宿主组件 schema、能力名、通道名、tinyui 下限)每个版本一份入库,当前宿主与当前版本的快照不符即构建失败;已合入 main 的版本,其快照冻结不可改。快照覆盖不到已有能力的参数与行为变化,这部分按上面的规则由人判断。为什么是精确匹配而不是 `>=` 范围,见 ADR-006 §2.2。 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b92c551..efea92d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,7 +10,7 @@ android-targetSdk = "37" androidxActivityCompose = "1.13.0" kotlinxCoroutines = "1.11.0" kotlinxSerialization = "1.11.0" -quickjsKmp = "0.1.2" +quickjsKmp = "0.1.4" vanniktechMavenPublish = "0.37.0" binaryCompatibilityValidator = "0.18.2" okio = "3.18.2" diff --git a/packages/cli/README.md b/packages/cli/README.md index 7f0e0eb..b60f17d 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -4,4 +4,4 @@ `tinyui publish` 先对照目标宿主版本的快照核对包用到的宿主能力与组件,再把 `bundle` 的产物传到热下发服务并切换 channel 指针;`tinyui apps` / `packages` / `tokens` / `releases` / `hosts` 是这套服务的管理面(建 app 与签发 app token、登记包的验签公钥、签发与吊销发布 token、列 release 与回滚 / 晋级 / 改灰度、宿主 CI 上传快照)。实例地址取 `--url`、`$TINYUI_UPDATES_URL`、`https://updates.tinyui.app` 三者之一;凭据只从环境变量读,不接受命令行参数:`$TINYUI_TOKEN` 是发布 token,`$TINYUI_ADMIN_TOKEN` 放实例的管理 token 或某个 app 的 app token。`--app` 可用 `$TINYUI_APP` 代替,`--pkg` 缺省取当前目录 `tinyui.config.json` 的 `name`,`--channel` 必须每次显式写。联网命令遵循 `HTTPS_PROXY` / `HTTP_PROXY` / `NO_PROXY`(大小写均可),与 curl、npm 一致;本机回环地址(`localhost`、`127.0.0.1`、`::1`)始终直连,代理变量无法解析时提示后直连、不影响离线命令;没设代理变量时不加载代理实现。 -字节码编译用 quickjs-kmp 的宿主工具 `qjsc-kmp`:依赖里的 npm 包 `qjsc-kmp` 带 macOS 与 Linux 的预编译版,装完即用;其他平台用 `--qjsc` 或 `TINYUI_QJSC` 指向自己编的那份。`qjsc-kmp` 的版本钉在与 tinyui 所用 quickjs-kmp 相同的版本上,编出的字节码才认 App 里的引擎。用法见仓库 `docs/build-chain.md` 与 `docs/updates.md`;与 `tinyui-core` 同版本号。 +字节码编译用 quickjs-kmp 的宿主工具 `qjsc-kmp`:依赖里的 npm 包 `qjsc-kmp` 带 macOS 与 Linux 的预编译版,装完即用;其他平台用 `--qjsc` 或 `TINYUI_QJSC` 指向自己编的那份。`qjsc-kmp` 必须与 App 链接的 quickjs-kmp 同一上游 commit,编出的字节码才认 App 里的引擎;版本号可以不同(如 `qjsc-kmp` 0.1.2 与 quickjs-kmp 0.1.4,后者只改了 Android `.so` 的页面对齐)。用法见仓库 `docs/build-chain.md` 与 `docs/updates.md`;与 `tinyui-core` 同版本号。 diff --git a/packages/cli/package.json b/packages/cli/package.json index b2200fb..9ad46d6 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "tinyui-cli", - "version": "0.10.0", + "version": "0.10.1", "description": "TinyUI build tool: TSX -> h() (ES2025) -> ESM module bytecode.", "license": "MIT", "type": "module", diff --git a/packages/cli/test/qjsc.test.ts b/packages/cli/test/qjsc.test.ts deleted file mode 100644 index d6fd76f..0000000 --- a/packages/cli/test/qjsc.test.ts +++ /dev/null @@ -1,18 +0,0 @@ -import assert from "node:assert/strict"; -import { readFile } from "node:fs/promises"; -import { join } from "node:path"; -import { describe, it } from "node:test"; - -const root = join(import.meta.dirname, "..", "..", ".."); - -describe("qjsc-kmp", () => { - // bytecode names the engine it was compiled for; a prebuilt compiler from another quickjs-kmp would build - // packages every App rejects as an engine mismatch - it("depends on the qjsc-kmp release of the quickjs-kmp version the Kotlin side uses", async () => { - const catalog = await readFile(join(root, "gradle", "libs.versions.toml"), "utf8"); - const kotlin = catalog.match(/^quickjsKmp\s*=\s*"([^"]+)"/m)?.[1]; - const cli = JSON.parse(await readFile(join(root, "packages", "cli", "package.json"), "utf8")) as { dependencies: Record }; - assert.ok(kotlin, "gradle/libs.versions.toml has no quickjsKmp version"); - assert.equal(cli.dependencies["qjsc-kmp"], kotlin); - }); -}); diff --git a/packages/core/package.json b/packages/core/package.json index 6accce6..f80de57 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "tinyui-core", - "version": "0.10.0", + "version": "0.10.1", "description": "TinyUI runtime: signals, ownership, h/For/Show, patch emission.", "license": "MIT", "type": "module", diff --git a/packages/core/src/version.ts b/packages/core/src/version.ts index 4cb0f32..72bd2d5 100644 --- a/packages/core/src/version.ts +++ b/packages/core/src/version.ts @@ -1,2 +1,2 @@ /** The tinyui-core version; a package records it as the runtime it needs (docs/updates.md §1.1). */ -export const VERSION = "0.10.0"; +export const VERSION = "0.10.1"; diff --git a/packages/native/package.json b/packages/native/package.json index 7aea976..440472f 100644 --- a/packages/native/package.json +++ b/packages/native/package.json @@ -1,6 +1,6 @@ { "name": "tinyui-native", - "version": "0.10.0", + "version": "0.10.1", "description": "TinyUI host capability API for business code: http, storage, toast, navigation, i18n.", "license": "MIT", "type": "module", diff --git a/packages/native/src/index.ts b/packages/native/src/index.ts index 1a39410..6ccdd48 100644 --- a/packages/native/src/index.ts +++ b/packages/native/src/index.ts @@ -1,4 +1,4 @@ -export const VERSION = "0.10.0"; +export const VERSION = "0.10.1"; export * as navigation from "./navigation.ts"; export * as store from "./store.ts"; export * as events from "./events.ts";