@semacode/cli 2.3.0 → 2.3.1

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.
Files changed (177) hide show
  1. package/LICENSE +39 -39
  2. package/README.md +251 -228
  3. package/dist/agentEntryPoints.js +551 -550
  4. package/dist/angular-consumer-standalone.d.ts +3 -1
  5. package/dist/angular-consumer-standalone.js +12 -8
  6. package/dist/drift.part01.d.ts +32 -2
  7. package/dist/drift.part01.js +2 -0
  8. package/dist/drift.part04.d.ts +3 -2
  9. package/dist/drift.part04.js +6 -3
  10. package/dist/drift.part05.d.ts +2 -1
  11. package/dist/drift.part05.js +4 -3
  12. package/dist/drift.part06.d.ts +2 -1
  13. package/dist/drift.part06.js +9 -5
  14. package/dist/drift.part07.d.ts +11 -10
  15. package/dist/drift.part07.js +40 -30
  16. package/dist/drift.part08.d.ts +2 -1
  17. package/dist/drift.part08.js +4 -3
  18. package/dist/drift.part11.js +71 -6
  19. package/dist/drift.part12.js +14 -1
  20. package/dist/drift.part13.d.ts +42 -7
  21. package/dist/drift.part13.js +660 -36
  22. package/dist/driftCache.d.ts +49 -0
  23. package/dist/driftCache.js +311 -0
  24. package/dist/driftCacheIncremental.d.ts +98 -0
  25. package/dist/driftCacheIncremental.js +596 -0
  26. package/dist/driftCatalogo.d.ts +91 -0
  27. package/dist/driftCatalogo.js +657 -0
  28. package/dist/driftCatalogoPersistente.d.ts +8 -0
  29. package/dist/driftCatalogoPersistente.js +77 -0
  30. package/dist/driftEscopo.d.ts +23 -0
  31. package/dist/driftEscopo.js +563 -0
  32. package/dist/driftEscopoReferencias.d.ts +4 -0
  33. package/dist/driftEscopoReferencias.js +265 -0
  34. package/dist/driftOrcamento.d.ts +12 -0
  35. package/dist/driftOrcamento.js +19 -3
  36. package/dist/execucoesExternas.js +5 -19
  37. package/dist/iaPrompts.js +310 -310
  38. package/dist/index.part01.d.ts +16 -1
  39. package/dist/index.part01.js +80 -4
  40. package/dist/index.part02.js +21 -21
  41. package/dist/index.part03.d.ts +2 -2
  42. package/dist/index.part03.js +14 -3
  43. package/dist/index.part04.d.ts +2 -2
  44. package/dist/index.part04.js +113 -101
  45. package/dist/index.part05.d.ts +1 -1
  46. package/dist/index.part05.js +99 -22
  47. package/dist/index.part06.js +3 -2
  48. package/dist/index.part07.js +24 -24
  49. package/dist/index.part08.js +1 -1
  50. package/dist/init/templates.part01.js +393 -393
  51. package/dist/init/templates.part02.js +189 -189
  52. package/dist/initTemplatesBackend.js +73 -73
  53. package/dist/initTemplatesBase.js +81 -81
  54. package/dist/initTemplatesFlutter.js +137 -137
  55. package/dist/initTemplatesRuntime.js +350 -350
  56. package/dist/initTemplatesWeb.js +309 -309
  57. package/dist/pipelineConteudo/command.js +1 -36
  58. package/dist/projeto.d.ts +1 -1
  59. package/dist/projetoCarregar.d.ts +2 -2
  60. package/dist/projetoCarregar.js +47 -24
  61. package/dist/projetoCatalogo.d.ts +7 -0
  62. package/dist/projetoCatalogo.js +125 -0
  63. package/dist/projetoTipos.d.ts +14 -5
  64. package/dist/sync/index.js +35 -35
  65. package/docs/README.md +34 -34
  66. package/docs/ai-integration.md +1 -7
  67. package/docs/ai-onboarding.md +62 -62
  68. package/docs/ai-workflow.md +4 -0
  69. package/docs/auth.md +26 -26
  70. package/docs/cli.md +79 -79
  71. package/docs/commands.md +16 -13
  72. package/docs/database.md +15 -15
  73. package/docs/deploy.md +41 -41
  74. package/docs/descoberta-capacidades.md +106 -106
  75. package/docs/documentation.md +37 -46
  76. package/docs/env.md +16 -16
  77. package/docs/frontend.md +41 -41
  78. package/docs/getting-started.md +57 -57
  79. package/docs/i18n.md +15 -15
  80. package/docs/pipeline-conteudo.md +246 -246
  81. package/docs/profiles.md +54 -54
  82. package/docs/repositories.md +43 -43
  83. package/docs/rollback.md +31 -31
  84. package/docs/security.md +32 -32
  85. package/docs/sistemas-interativos.md +373 -378
  86. package/docs/support.md +8 -8
  87. package/docs/testing.md +51 -44
  88. package/docs/vocabulary.md +29 -29
  89. package/exemplos/agendamento.sema +1 -1
  90. package/exemplos/assinatura.sema +1 -1
  91. package/exemplos/auditoria.sema +1 -1
  92. package/exemplos/autenticacao.sema +1 -1
  93. package/exemplos/author_obra_comum.sema +1 -1
  94. package/exemplos/author_tema_sensivel.sema +1 -1
  95. package/exemplos/automacao.sema +1 -1
  96. package/exemplos/cadastro_usuario.sema +1 -1
  97. package/exemplos/calculadora.sema +1 -1
  98. package/exemplos/crud_simples.sema +1 -1
  99. package/exemplos/estoque.sema +1 -1
  100. package/exemplos/exportacao.sema +1 -1
  101. package/exemplos/fila.sema +1 -1
  102. package/exemplos/integracao_externa.sema +1 -1
  103. package/exemplos/multi_tenant.sema +1 -1
  104. package/exemplos/notificacao.sema +1 -1
  105. package/exemplos/operacao_estrategia.sema +132 -132
  106. package/exemplos/operacao_estrategia_discovery.sema +220 -220
  107. package/exemplos/operacao_estrategia_fluxo.sema +114 -114
  108. package/exemplos/operacao_estrategia_gates.sema +106 -106
  109. package/exemplos/operacao_estrategia_quarentena.sema +133 -133
  110. package/exemplos/operacao_estrategia_rollout.sema +124 -124
  111. package/exemplos/pagamento.sema +1 -1
  112. package/exemplos/pagamento_dominio.sema +1 -1
  113. package/exemplos/pedido.sema +1 -1
  114. package/exemplos/permissao.sema +1 -1
  115. package/exemplos/persistencia_vendor_first.sema +1 -1
  116. package/exemplos/pipeline-conteudo/README.md +44 -44
  117. package/exemplos/pipeline-conteudo/alvos.json +23 -23
  118. package/exemplos/pipeline-conteudo/definicao.json +136 -136
  119. package/exemplos/profile_conversas.sema +165 -165
  120. package/exemplos/profile_game.sema +1 -1
  121. package/exemplos/profile_legal.sema +1 -1
  122. package/exemplos/profile_ops.sema +1 -1
  123. package/exemplos/profile_research.sema +1 -1
  124. package/exemplos/profile_simulation.sema +211 -211
  125. package/exemplos/profile_software.sema +1 -1
  126. package/exemplos/profile_workflow_n8n.sema +1 -1
  127. package/exemplos/relatorio.sema +1 -1
  128. package/exemplos/replica_analitica_erp.sema +1 -1
  129. package/exemplos/sistemas-interativos/README.md +100 -100
  130. package/exemplos/sistemas-interativos/advanced/acceptance-context-evaluate-valid.json +5 -5
  131. package/exemplos/sistemas-interativos/advanced/acceptance-lock-valid.json +16 -16
  132. package/exemplos/sistemas-interativos/advanced/asset-provenance-valid.json +32 -32
  133. package/exemplos/sistemas-interativos/advanced/autonomy-repair-valid.json +93 -93
  134. package/exemplos/sistemas-interativos/advanced/control-run-definition-valid.json +78 -78
  135. package/exemplos/sistemas-interativos/advanced/control-run-valid.json +27 -27
  136. package/exemplos/sistemas-interativos/advanced/distributed-workers-valid.json +79 -79
  137. package/exemplos/sistemas-interativos/advanced/editor-state-valid.json +42 -42
  138. package/exemplos/sistemas-interativos/advanced/engine-snapshot-after-valid.json +32 -32
  139. package/exemplos/sistemas-interativos/advanced/engine-snapshot-before-valid.json +23 -23
  140. package/exemplos/sistemas-interativos/advanced/job-orchestration-valid.json +39 -39
  141. package/exemplos/sistemas-interativos/advanced/multimodal-evidence-valid.json +46 -46
  142. package/exemplos/sistemas-interativos/advanced/multiplayer-authority-valid.json +39 -39
  143. package/exemplos/sistemas-interativos/advanced/playtest-fuzz-valid.json +37 -37
  144. package/exemplos/sistemas-interativos/advanced/portability-valid.json +104 -104
  145. package/exemplos/sistemas-interativos/advanced/temporal-evidence-valid.json +27 -27
  146. package/exemplos/sistemas-interativos/advanced/temporal-valid.json +118 -118
  147. package/exemplos/sistemas-interativos/experience-ir-valid.json +459 -459
  148. package/exemplos/sistemas-interativos/game-2d.json +83 -83
  149. package/exemplos/sistemas-interativos/game-3d-human.json +81 -81
  150. package/exemplos/sistemas-interativos/game-pixel-16-bit.json +97 -97
  151. package/exemplos/sistemas-interativos/game-pixel-8-bit.json +94 -94
  152. package/exemplos/sistemas-interativos/game-xr-human.json +80 -80
  153. package/exemplos/sistemas-interativos/hybrid-2-5d.json +108 -108
  154. package/exemplos/sistemas-interativos/protocol-mutating-rollback-valid.json +75 -75
  155. package/exemplos/sistemas-interativos/protocol-read-only-valid.json +58 -58
  156. package/exemplos/sistemas-interativos/simulation-2d-controlled.json +97 -97
  157. package/exemplos/sistemas-interativos/simulation-3d-calibrated-autonomous.json +141 -141
  158. package/exemplos/sistemas-interativos/simulation-headless-autonomous-batch.json +112 -112
  159. package/exemplos/sistemas-interativos/simulation-pixel-16-bit.json +103 -103
  160. package/exemplos/sistemas-interativos/simulation-text-controlled.json +95 -95
  161. package/exemplos/testes_embutidos.sema +1 -1
  162. package/exemplos/tratamento_erro.sema +1 -1
  163. package/exemplos/upload_arquivo.sema +1 -1
  164. package/exemplos/webhook.sema +1 -1
  165. package/node_modules/@sema/gerador-cpp/dist/index.js +176 -176
  166. package/node_modules/@sema/gerador-cpp/package.json +1 -1
  167. package/node_modules/@sema/gerador-css/dist/index.part01.js +10 -10
  168. package/node_modules/@sema/gerador-css/dist/index.part02.js +460 -460
  169. package/node_modules/@sema/gerador-dotnet/dist/index.js +169 -169
  170. package/node_modules/@sema/gerador-dotnet/package.json +1 -1
  171. package/node_modules/@sema/gerador-html/dist/index.js +17 -17
  172. package/node_modules/@sema/gerador-lua/dist/index.js +51 -51
  173. package/node_modules/@sema/gerador-php/dist/index.js +113 -113
  174. package/node_modules/@sema/gerador-python/dist/index.part02.js +3 -3
  175. package/node_modules/@sema/gerador-typescript/dist/index.part02.js +11 -11
  176. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +42 -42
  177. package/package.json +3 -3
@@ -1,83 +1,83 @@
1
- {
2
- "schemaVersion": "1.0",
3
- "systemId": "example.game.2d.seeded",
4
- "version": "1.0.0",
5
- "kind": "GAME",
6
- "spatialModel": "TWO_D",
7
- "renderMode": "VISUAL",
8
- "visualProfile": "VECTOR",
9
- "fidelity": "SYSTEMIC",
10
- "controlModes": [
11
- "HUMAN"
12
- ],
13
- "timeModel": "FIXED_STEP",
14
- "determinism": "SEEDED",
15
- "capabilities": [
16
- "interactive.control.human",
17
- "interactive.determinism.seeded",
18
- "interactive.event.log",
19
- "interactive.fidelity.systemic",
20
- "interactive.kind.game",
21
- "interactive.render.visual",
22
- "interactive.replay.compare",
23
- "interactive.runtime.bind",
24
- "interactive.seed.bind",
25
- "interactive.smoke.observe",
26
- "interactive.snapshot.capture",
27
- "interactive.spatial.two_d",
28
- "interactive.state.model",
29
- "interactive.time.fixed_step",
30
- "interactive.visual.vector",
31
- "interactive.world.model"
32
- ],
33
- "pipelines": [
34
- "interactive.prototype",
35
- "interactive.replay"
36
- ],
37
- "adapterTargets": [
38
- "engine.web.canvas2d",
39
- "telemetry.trace.local",
40
- "validator.replay.local"
41
- ],
42
- "world": {
43
- "identity": "top-down logistics puzzle",
44
- "state": {
45
- "grid": "warehouse-a",
46
- "moves": 0
47
- },
48
- "time": {
49
- "fixedStepMs": 16.6667
50
- },
51
- "events": [
52
- "crate.move",
53
- "route.complete",
54
- "route.blocked"
55
- ],
56
- "initialConditions": {
57
- "level": "warehouse-a",
58
- "moves": 0
59
- },
60
- "coordinateSystem": "screen-space origin top-left",
61
- "grid": "32 px orthogonal cells",
62
- "loop": "inspect, route, move, verify",
63
- "objective": "place every crate on a destination",
64
- "successConditions": [
65
- "all destinations occupied"
66
- ],
67
- "failureConditions": [
68
- "no legal move remains"
69
- ],
70
- "rules": [
71
- "one crate per destination",
72
- "crates cannot overlap"
73
- ],
74
- "seed": 20260719,
75
- "snapshot": "state captured before every move",
76
- "replay": "ordered input events reproduce the run",
77
- "step": "one fixed simulation tick"
78
- },
79
- "acceptance": {
80
- "determinism": "same seed and inputs produce the same result digest",
81
- "rendering": "world remains legible at the declared grid scale"
82
- }
83
- }
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "systemId": "example.game.2d.seeded",
4
+ "version": "1.0.0",
5
+ "kind": "GAME",
6
+ "spatialModel": "TWO_D",
7
+ "renderMode": "VISUAL",
8
+ "visualProfile": "VECTOR",
9
+ "fidelity": "SYSTEMIC",
10
+ "controlModes": [
11
+ "HUMAN"
12
+ ],
13
+ "timeModel": "FIXED_STEP",
14
+ "determinism": "SEEDED",
15
+ "capabilities": [
16
+ "interactive.control.human",
17
+ "interactive.determinism.seeded",
18
+ "interactive.event.log",
19
+ "interactive.fidelity.systemic",
20
+ "interactive.kind.game",
21
+ "interactive.render.visual",
22
+ "interactive.replay.compare",
23
+ "interactive.runtime.bind",
24
+ "interactive.seed.bind",
25
+ "interactive.smoke.observe",
26
+ "interactive.snapshot.capture",
27
+ "interactive.spatial.two_d",
28
+ "interactive.state.model",
29
+ "interactive.time.fixed_step",
30
+ "interactive.visual.vector",
31
+ "interactive.world.model"
32
+ ],
33
+ "pipelines": [
34
+ "interactive.prototype",
35
+ "interactive.replay"
36
+ ],
37
+ "adapterTargets": [
38
+ "engine.web.canvas2d",
39
+ "telemetry.trace.local",
40
+ "validator.replay.local"
41
+ ],
42
+ "world": {
43
+ "identity": "top-down logistics puzzle",
44
+ "state": {
45
+ "grid": "warehouse-a",
46
+ "moves": 0
47
+ },
48
+ "time": {
49
+ "fixedStepMs": 16.6667
50
+ },
51
+ "events": [
52
+ "crate.move",
53
+ "route.complete",
54
+ "route.blocked"
55
+ ],
56
+ "initialConditions": {
57
+ "level": "warehouse-a",
58
+ "moves": 0
59
+ },
60
+ "coordinateSystem": "screen-space origin top-left",
61
+ "grid": "32 px orthogonal cells",
62
+ "loop": "inspect, route, move, verify",
63
+ "objective": "place every crate on a destination",
64
+ "successConditions": [
65
+ "all destinations occupied"
66
+ ],
67
+ "failureConditions": [
68
+ "no legal move remains"
69
+ ],
70
+ "rules": [
71
+ "one crate per destination",
72
+ "crates cannot overlap"
73
+ ],
74
+ "seed": 20260719,
75
+ "snapshot": "state captured before every move",
76
+ "replay": "ordered input events reproduce the run",
77
+ "step": "one fixed simulation tick"
78
+ },
79
+ "acceptance": {
80
+ "determinism": "same seed and inputs produce the same result digest",
81
+ "rendering": "world remains legible at the declared grid scale"
82
+ }
83
+ }
@@ -1,81 +1,81 @@
1
- {
2
- "schemaVersion": "1.0",
3
- "systemId": "example.game.3d.human",
4
- "version": "1.0.0",
5
- "kind": "GAME",
6
- "spatialModel": "THREE_D",
7
- "renderMode": "VISUAL",
8
- "visualProfile": "REALISTIC",
9
- "fidelity": "SYSTEMIC",
10
- "controlModes": [
11
- "HUMAN"
12
- ],
13
- "timeModel": "REAL_TIME",
14
- "determinism": "BEST_EFFORT",
15
- "capabilities": [
16
- "interactive.control.human",
17
- "interactive.determinism.best_effort",
18
- "interactive.failure.observe",
19
- "interactive.fidelity.systemic",
20
- "interactive.kind.game",
21
- "interactive.playtest.plan",
22
- "interactive.render.visual",
23
- "interactive.replay.compare",
24
- "interactive.runtime.bind",
25
- "interactive.runtime.observe",
26
- "interactive.smoke.observe",
27
- "interactive.spatial.three_d",
28
- "interactive.state.model",
29
- "interactive.time.real_time",
30
- "interactive.visual.realistic",
31
- "interactive.world.model"
32
- ],
33
- "pipelines": [
34
- "interactive.prototype",
35
- "interactive.playtest"
36
- ],
37
- "adapterTargets": [
38
- "engine.godot",
39
- "telemetry.trace.local",
40
- "validator.replay.local"
41
- ],
42
- "world": {
43
- "identity": "third-person exploration arena",
44
- "state": {
45
- "player": "active",
46
- "arena": "loaded"
47
- },
48
- "time": {
49
- "tickRateHz": 60
50
- },
51
- "events": [
52
- "player.move",
53
- "objective.complete",
54
- "player.fail"
55
- ],
56
- "initialConditions": {
57
- "spawn": "arena.entry",
58
- "health": 100
59
- },
60
- "units": "metres",
61
- "scale": "1 unit = 1 metre",
62
- "coordinateSystem": "right-handed Y-up",
63
- "loop": "explore, solve, reach the exit",
64
- "objective": "reach arena.exit",
65
- "successConditions": [
66
- "arena.exit reached"
67
- ],
68
- "failureConditions": [
69
- "health reaches zero"
70
- ],
71
- "rules": [
72
- "movement obeys collision volumes",
73
- "objectives unlock in declared order"
74
- ]
75
- },
76
- "acceptance": {
77
- "boot": "runtime reaches the playable arena",
78
- "loop": "a human can complete one full objective cycle",
79
- "failure": "failure returns to a recoverable checkpoint"
80
- }
81
- }
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "systemId": "example.game.3d.human",
4
+ "version": "1.0.0",
5
+ "kind": "GAME",
6
+ "spatialModel": "THREE_D",
7
+ "renderMode": "VISUAL",
8
+ "visualProfile": "REALISTIC",
9
+ "fidelity": "SYSTEMIC",
10
+ "controlModes": [
11
+ "HUMAN"
12
+ ],
13
+ "timeModel": "REAL_TIME",
14
+ "determinism": "BEST_EFFORT",
15
+ "capabilities": [
16
+ "interactive.control.human",
17
+ "interactive.determinism.best_effort",
18
+ "interactive.failure.observe",
19
+ "interactive.fidelity.systemic",
20
+ "interactive.kind.game",
21
+ "interactive.playtest.plan",
22
+ "interactive.render.visual",
23
+ "interactive.replay.compare",
24
+ "interactive.runtime.bind",
25
+ "interactive.runtime.observe",
26
+ "interactive.smoke.observe",
27
+ "interactive.spatial.three_d",
28
+ "interactive.state.model",
29
+ "interactive.time.real_time",
30
+ "interactive.visual.realistic",
31
+ "interactive.world.model"
32
+ ],
33
+ "pipelines": [
34
+ "interactive.prototype",
35
+ "interactive.playtest"
36
+ ],
37
+ "adapterTargets": [
38
+ "engine.godot",
39
+ "telemetry.trace.local",
40
+ "validator.replay.local"
41
+ ],
42
+ "world": {
43
+ "identity": "third-person exploration arena",
44
+ "state": {
45
+ "player": "active",
46
+ "arena": "loaded"
47
+ },
48
+ "time": {
49
+ "tickRateHz": 60
50
+ },
51
+ "events": [
52
+ "player.move",
53
+ "objective.complete",
54
+ "player.fail"
55
+ ],
56
+ "initialConditions": {
57
+ "spawn": "arena.entry",
58
+ "health": 100
59
+ },
60
+ "units": "metres",
61
+ "scale": "1 unit = 1 metre",
62
+ "coordinateSystem": "right-handed Y-up",
63
+ "loop": "explore, solve, reach the exit",
64
+ "objective": "reach arena.exit",
65
+ "successConditions": [
66
+ "arena.exit reached"
67
+ ],
68
+ "failureConditions": [
69
+ "health reaches zero"
70
+ ],
71
+ "rules": [
72
+ "movement obeys collision volumes",
73
+ "objectives unlock in declared order"
74
+ ]
75
+ },
76
+ "acceptance": {
77
+ "boot": "runtime reaches the playable arena",
78
+ "loop": "a human can complete one full objective cycle",
79
+ "failure": "failure returns to a recoverable checkpoint"
80
+ }
81
+ }
@@ -1,97 +1,97 @@
1
- {
2
- "schemaVersion": "1.0",
3
- "systemId": "example.game.pixel-16-bit",
4
- "version": "1.0.0",
5
- "kind": "GAME",
6
- "spatialModel": "TWO_D",
7
- "renderMode": "VISUAL",
8
- "visualProfile": "PIXEL_16_BIT",
9
- "fidelity": "STYLIZED",
10
- "controlModes": [
11
- "HUMAN"
12
- ],
13
- "timeModel": "FIXED_STEP",
14
- "determinism": "SEEDED",
15
- "capabilities": [
16
- "game.progression.curve",
17
- "game.progression.exploit",
18
- "game.progression.model",
19
- "interactive.control.human",
20
- "interactive.determinism.seeded",
21
- "interactive.event.log",
22
- "interactive.fidelity.stylized",
23
- "interactive.kind.game",
24
- "interactive.render.visual",
25
- "interactive.replay.compare",
26
- "interactive.runtime.bind",
27
- "interactive.seed.bind",
28
- "interactive.smoke.observe",
29
- "interactive.snapshot.capture",
30
- "interactive.spatial.two_d",
31
- "interactive.state.model",
32
- "interactive.time.fixed_step",
33
- "interactive.visual.pixel_16_bit",
34
- "interactive.world.model"
35
- ],
36
- "pipelines": [
37
- "interactive.prototype",
38
- "game.progression",
39
- "interactive.replay"
40
- ],
41
- "adapterTargets": [
42
- "engine.tic80",
43
- "telemetry.trace.local",
44
- "validator.replay.local"
45
- ],
46
- "world": {
47
- "identity": "side-view action adventure",
48
- "state": {
49
- "area": "harbour",
50
- "abilities": [
51
- "dash"
52
- ]
53
- },
54
- "time": {
55
- "tickRateHz": 60
56
- },
57
- "events": [
58
- "enemy.defeat",
59
- "ability.unlock",
60
- "checkpoint.activate"
61
- ],
62
- "initialConditions": {
63
- "area": "harbour",
64
- "health": 5
65
- },
66
- "coordinateSystem": "screen-space origin top-left",
67
- "grid": "16 px metatiles on a 320x180 canvas",
68
- "loop": "explore, fight, unlock, return",
69
- "objective": "restore the harbour beacon",
70
- "successConditions": [
71
- "beacon restored"
72
- ],
73
- "failureConditions": [
74
- "health reaches zero before a checkpoint"
75
- ],
76
- "rules": [
77
- "abilities unlock through declared progression gates",
78
- "animation frames use the declared sprite budget"
79
- ],
80
- "seed": 16,
81
- "snapshot": "checkpoint state",
82
- "replay": "input transitions and progression events",
83
- "step": "one 60 Hz tick"
84
- },
85
- "budgets": {
86
- "paletteColors": 256,
87
- "baseResolution": "320x180",
88
- "tileSize": "16x16",
89
- "spriteSize": "16x32 and 32x32",
90
- "memoryBudgetBytes": 262144,
91
- "audioProfile": "sampled tracker with eight voices"
92
- },
93
- "acceptance": {
94
- "progression": "every required ability is reachable without sequence breaking",
95
- "pixelIntegrity": "camera scaling preserves hard pixel edges"
96
- }
97
- }
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "systemId": "example.game.pixel-16-bit",
4
+ "version": "1.0.0",
5
+ "kind": "GAME",
6
+ "spatialModel": "TWO_D",
7
+ "renderMode": "VISUAL",
8
+ "visualProfile": "PIXEL_16_BIT",
9
+ "fidelity": "STYLIZED",
10
+ "controlModes": [
11
+ "HUMAN"
12
+ ],
13
+ "timeModel": "FIXED_STEP",
14
+ "determinism": "SEEDED",
15
+ "capabilities": [
16
+ "game.progression.curve",
17
+ "game.progression.exploit",
18
+ "game.progression.model",
19
+ "interactive.control.human",
20
+ "interactive.determinism.seeded",
21
+ "interactive.event.log",
22
+ "interactive.fidelity.stylized",
23
+ "interactive.kind.game",
24
+ "interactive.render.visual",
25
+ "interactive.replay.compare",
26
+ "interactive.runtime.bind",
27
+ "interactive.seed.bind",
28
+ "interactive.smoke.observe",
29
+ "interactive.snapshot.capture",
30
+ "interactive.spatial.two_d",
31
+ "interactive.state.model",
32
+ "interactive.time.fixed_step",
33
+ "interactive.visual.pixel_16_bit",
34
+ "interactive.world.model"
35
+ ],
36
+ "pipelines": [
37
+ "interactive.prototype",
38
+ "game.progression",
39
+ "interactive.replay"
40
+ ],
41
+ "adapterTargets": [
42
+ "engine.tic80",
43
+ "telemetry.trace.local",
44
+ "validator.replay.local"
45
+ ],
46
+ "world": {
47
+ "identity": "side-view action adventure",
48
+ "state": {
49
+ "area": "harbour",
50
+ "abilities": [
51
+ "dash"
52
+ ]
53
+ },
54
+ "time": {
55
+ "tickRateHz": 60
56
+ },
57
+ "events": [
58
+ "enemy.defeat",
59
+ "ability.unlock",
60
+ "checkpoint.activate"
61
+ ],
62
+ "initialConditions": {
63
+ "area": "harbour",
64
+ "health": 5
65
+ },
66
+ "coordinateSystem": "screen-space origin top-left",
67
+ "grid": "16 px metatiles on a 320x180 canvas",
68
+ "loop": "explore, fight, unlock, return",
69
+ "objective": "restore the harbour beacon",
70
+ "successConditions": [
71
+ "beacon restored"
72
+ ],
73
+ "failureConditions": [
74
+ "health reaches zero before a checkpoint"
75
+ ],
76
+ "rules": [
77
+ "abilities unlock through declared progression gates",
78
+ "animation frames use the declared sprite budget"
79
+ ],
80
+ "seed": 16,
81
+ "snapshot": "checkpoint state",
82
+ "replay": "input transitions and progression events",
83
+ "step": "one 60 Hz tick"
84
+ },
85
+ "budgets": {
86
+ "paletteColors": 256,
87
+ "baseResolution": "320x180",
88
+ "tileSize": "16x16",
89
+ "spriteSize": "16x32 and 32x32",
90
+ "memoryBudgetBytes": 262144,
91
+ "audioProfile": "sampled tracker with eight voices"
92
+ },
93
+ "acceptance": {
94
+ "progression": "every required ability is reachable without sequence breaking",
95
+ "pixelIntegrity": "camera scaling preserves hard pixel edges"
96
+ }
97
+ }