@kieransimkin/dancemoves 3.0.2

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 (50) hide show
  1. package/LICENSE +338 -0
  2. package/README.md +893 -0
  3. package/RUDIMENTS-API.md +394 -0
  4. package/docs/README.md +73 -0
  5. package/docs/api/adapters.md +400 -0
  6. package/docs/api/downloads.md +158 -0
  7. package/docs/api/effects.md +463 -0
  8. package/docs/api/javascript.md +500 -0
  9. package/docs/api/paper-planes.md +167 -0
  10. package/docs/api/styling.md +292 -0
  11. package/docs/api/surface.json +446 -0
  12. package/docs/api/wordpress.md +365 -0
  13. package/docs/clay-transform-validation.md +84 -0
  14. package/docs/development.md +254 -0
  15. package/docs/guide.md +288 -0
  16. package/docs/javascript-api.md +292 -0
  17. package/docs/javascript-server.md +150 -0
  18. package/docs/react-next.md +185 -0
  19. package/docs/releasing-shared.md +162 -0
  20. package/docs/rudiments-source-integrity.md +80 -0
  21. package/docs/shared-feature-coverage.md +34 -0
  22. package/docs/shared-runtime-migration.md +111 -0
  23. package/docs/source-audit.md +120 -0
  24. package/docs/validation-setup.md +102 -0
  25. package/docs/wordpress-examples.md +206 -0
  26. package/docs/wordpress-shared-runtime.md +133 -0
  27. package/lib/admin.min.js +1 -0
  28. package/lib/assets/DanceRudiments-LICENSE +21 -0
  29. package/lib/assets/DanceRudiments-build-manifest.json +21 -0
  30. package/lib/assets/paper-dreams-plane-atlas.png +0 -0
  31. package/lib/build-manifest.json +117 -0
  32. package/lib/dancemoves.css +9 -0
  33. package/lib/dancemoves.min.js +5 -0
  34. package/lib/index.cjs +4802 -0
  35. package/lib/index.d.ts +71 -0
  36. package/lib/index.mjs +4780 -0
  37. package/lib/react.cjs +154 -0
  38. package/lib/react.d.ts +12 -0
  39. package/lib/react.mjs +135 -0
  40. package/lib/rudiments.d.ts +124 -0
  41. package/lib/server.cjs +411 -0
  42. package/lib/server.d.ts +11 -0
  43. package/lib/server.mjs +367 -0
  44. package/lib/styles/clay-stars-effects.css +1 -0
  45. package/lib/styles/clay-stars-rudiments.css +1 -0
  46. package/lib/styles/dance-moves-core.css +1 -0
  47. package/lib/styles/ks-epk-device-orientation.css +1 -0
  48. package/lib/styles/paper-dreams-flight.css +1 -0
  49. package/lib/wordpress.js +5 -0
  50. package/package.json +101 -0
@@ -0,0 +1,446 @@
1
+ {
2
+ "schema": "dance-moves-documentation-surface/v1",
3
+ "repository": "kieransimkin/DanceMoves",
4
+ "commit": "4cb6a71f60459b5579be87d7e55ac8b1426c578e",
5
+ "version": "2.8.0",
6
+ "reviewed_on": "2026-09-29",
7
+ "inventory_method": "Manual comparison with the pinned source exports and PHP declarations; symbol-presence validation is not runtime coverage.",
8
+ "source_blobs": {
9
+ "kieran-epk-device-orientation.php": "b374690a0c141aa1f870bf1084a0a0b34c25abe5",
10
+ "assets/dance-moves-core.js": "3d975c7a3b380f9c99a62f7deade14df4b746929",
11
+ "assets/dance-moves-core.css": "41412934b55a72cb9c63c545225f2b8fc83c6666",
12
+ "assets/dance-moves-catalogue-timing.js": "4053b796757d4019ffd07c28b6b742ba06f698ed",
13
+ "assets/ks-epk-device-orientation-core.js": "044820e5f6c18a486bdaddef4be998969678151c",
14
+ "assets/ks-epk-device-orientation.js": "e67c315857159e9650528f8b2d6964dc87895ee4",
15
+ "assets/ks-epk-device-orientation.css": "e5b782af88688cb0d84d30e08bf6ff2b3dfa3487",
16
+ "assets/clay-stars-effects.js": "ea1f81849e4c3cfbb0bb2b29b75028cb38c2de81",
17
+ "assets/clay-stars-effects.css": "0a64cce0c9df9c6faf3ac8018714eeaff351bed1",
18
+ "assets/dance-moves-admin.js": "120829bdb68c1e483e7f6135dee5edd6ae92ad17",
19
+ "README.md": "5b58348ff8f1a2b7ace30c3e8cae389dc7061c62",
20
+ "TEST-PLAN.md": "1e9c1d90b30739c4f4a7afbbe850cd9e6655c424",
21
+ "HARNESS-IMPLEMENTATION-PLAN.md": "e86861d72a10d4405d048bf4aa0871f580aa2e20",
22
+ "tools/validate.ps1": "1acff207140db9645985848be042922ebeaf36fc",
23
+ "tools/package.ps1": "2a50f602780364c66bb67ec728bde1256398ed00",
24
+ "assets/dance-moves-effects.js": "26f1d97651cf2118d30d33b8024aae77f6a536e1",
25
+ "assets/paper-dreams-flight.js": "7ee6d934a90ff10b639420cd75cf359005818fb7",
26
+ "assets/paper-dreams-flight.css": "d3d046bbfb6be12adfda271239d717004a2774fc",
27
+ "assets/paper-dreams-plane-atlas.png": "fba59168a8ea0ab78355d7bdbeaf67167b0af16e",
28
+ "tests/cue-timeline.test.cjs": "f7f660926f972b05951937cd39203c63c61ebb2c",
29
+ "tests/timed-lyric-popover.test.cjs": "f2f11df60584376ba859e4b847e5f4745a2cc7a4",
30
+ "tests/exact-cue-seek.test.cjs": "56c1b20ad595f463d6ae23ae6778ec3ef66ced96",
31
+ "tests/effects-primitives.test.cjs": "b441339f883fe89fb6759d5989fb38b2f50e7ff8",
32
+ "tests/epk-download-contract.test.cjs": "ab11c3f3e92b8992468e1e83b783d366bce47d9e",
33
+ "tests/validate-epk-download-paths.php": "2e54f195d153fa587d72fcee8f0a6a7f410e1e09",
34
+ "tests/paper-dreams-flight.test.cjs": "549284d08ab0fc0db089cf91154659fc9b221900"
35
+ },
36
+ "javascript": {
37
+ "DanceMoves": {
38
+ "source": "assets/dance-moves-core.js",
39
+ "reference": "javascript.md",
40
+ "aliases": [
41
+ "KieranEpkMotion"
42
+ ],
43
+ "properties": [
44
+ "version",
45
+ "bpm",
46
+ "bpmSource",
47
+ "ticksPerBeat"
48
+ ],
49
+ "methods": [
50
+ "quantizeTicks",
51
+ "durationMilliseconds",
52
+ "currentTick",
53
+ "nextIntervalTick",
54
+ "scheduleAtInterval",
55
+ "deferStart",
56
+ "onNextInterval",
57
+ "onEveryInterval",
58
+ "onNextBeat",
59
+ "onEveryBeat",
60
+ "onNextBar",
61
+ "onEveryBar",
62
+ "parseTimingFile",
63
+ "parseLyricTimingFile",
64
+ "normaliseCueName",
65
+ "onCue",
66
+ "onLyric",
67
+ "fireCue",
68
+ "registerAnimationScope",
69
+ "resetRunningAnimations",
70
+ "discoverAudio",
71
+ "setDiagnosticsSink",
72
+ "diagnosticsEnabled"
73
+ ]
74
+ },
75
+ "DanceMoves_catalogue_additions": {
76
+ "source": "assets/dance-moves-catalogue-timing.js",
77
+ "reference": "adapters.md",
78
+ "conditional": true,
79
+ "methods": [
80
+ "applyCatalogueTiming",
81
+ "catalogueTimingSnapshot",
82
+ "removeCatalogueAnimationScope"
83
+ ]
84
+ },
85
+ "DanceMovesCatalogueTiming": {
86
+ "source": "assets/dance-moves-catalogue-timing.js",
87
+ "reference": "adapters.md",
88
+ "conditional": true,
89
+ "methods": [
90
+ "apply",
91
+ "snapshot"
92
+ ],
93
+ "aliases": {
94
+ "apply": "DanceMoves.applyCatalogueTiming",
95
+ "snapshot": "DanceMoves.catalogueTimingSnapshot"
96
+ }
97
+ },
98
+ "KSEpkOrientationCore": {
99
+ "source": "assets/ks-epk-device-orientation-core.js",
100
+ "reference": "adapters.md",
101
+ "methods": [
102
+ "clamp",
103
+ "createLatestSampleRafScheduler",
104
+ "createTransitionTargetScheduler",
105
+ "createRollingMapper",
106
+ "hasMotionData",
107
+ "isMobileDevice",
108
+ "mapPointToWindow",
109
+ "normalise",
110
+ "permissionRequired",
111
+ "screenAligned",
112
+ "screenAngle",
113
+ "sensorSupported",
114
+ "smooth",
115
+ "smoothTimeBased"
116
+ ],
117
+ "commonjs_export": true,
118
+ "factory_methods": {
119
+ "createRollingMapper": [
120
+ "push",
121
+ "pushBatch",
122
+ "reset",
123
+ "size"
124
+ ],
125
+ "createLatestSampleRafScheduler": [
126
+ "receive",
127
+ "reset",
128
+ "teardown",
129
+ "pending",
130
+ "commitCount"
131
+ ],
132
+ "createTransitionTargetScheduler": [
133
+ "receive",
134
+ "reset",
135
+ "teardown",
136
+ "pending",
137
+ "commitCount"
138
+ ]
139
+ }
140
+ },
141
+ "__ksEpkOrientationRuntime": {
142
+ "source": "assets/ks-epk-device-orientation.js",
143
+ "reference": "adapters.md",
144
+ "conditional": true,
145
+ "stability": "internal diagnostic handle",
146
+ "methods": [
147
+ "reset",
148
+ "teardown",
149
+ "snapshot"
150
+ ]
151
+ },
152
+ "DanceMovesClayStars": {
153
+ "source": "assets/clay-stars-effects.js",
154
+ "reference": "adapters.md",
155
+ "conditional": true,
156
+ "properties": [
157
+ "root",
158
+ "defaults"
159
+ ],
160
+ "methods": [
161
+ "setParameters",
162
+ "setMotion",
163
+ "setMotionTarget",
164
+ "setCueState",
165
+ "lifecycle",
166
+ "reset",
167
+ "snapshot",
168
+ "teardown"
169
+ ]
170
+ },
171
+ "DanceMovesEffects": {
172
+ "source": "assets/dance-moves-effects.js",
173
+ "reference": "effects.md",
174
+ "properties": [
175
+ "version"
176
+ ],
177
+ "methods": [
178
+ "pointer",
179
+ "playbackPulse",
180
+ "cueClass",
181
+ "cueTimeline",
182
+ "quality",
183
+ "get",
184
+ "snapshot",
185
+ "teardown",
186
+ "teardownAll"
187
+ ],
188
+ "factory_methods": {
189
+ "pointer": [
190
+ "set",
191
+ "reset",
192
+ "snapshot",
193
+ "teardown"
194
+ ],
195
+ "playbackPulse": [
196
+ "sync",
197
+ "snapshot",
198
+ "teardown"
199
+ ],
200
+ "cueClass": [
201
+ "fire",
202
+ "clear",
203
+ "snapshot",
204
+ "teardown"
205
+ ],
206
+ "cueTimeline": [
207
+ "restore",
208
+ "start",
209
+ "stop",
210
+ "snapshot",
211
+ "teardown"
212
+ ],
213
+ "quality": [
214
+ "setTier",
215
+ "snapshot",
216
+ "teardown"
217
+ ]
218
+ }
219
+ },
220
+ "DanceMovesPaperDreams": {
221
+ "source": "assets/paper-dreams-flight.js",
222
+ "reference": "paper-planes.md",
223
+ "conditional": true,
224
+ "properties": [
225
+ "root"
226
+ ],
227
+ "methods": [
228
+ "snapshot",
229
+ "teardown"
230
+ ],
231
+ "snapshot_version": "2.6.3"
232
+ }
233
+ },
234
+ "php": {
235
+ "source": "kieran-epk-device-orientation.php",
236
+ "reference": "wordpress.md",
237
+ "functions": [
238
+ "dance_moves_orientation_adapters",
239
+ "dance_moves_shared_control_pages",
240
+ "dance_moves_lyric_disclosure_ticks",
241
+ "dance_moves_attachment_url",
242
+ "dance_moves_get_page_config",
243
+ "ks_epk_orientation_enqueue_runtime",
244
+ "ks_epk_motion_register_capture_type",
245
+ "ks_epk_motion_capture_permission",
246
+ "ks_epk_motion_finite_number",
247
+ "ks_epk_motion_store_capture",
248
+ "ks_epk_motion_register_rest_route",
249
+ "dance_moves_sanitize_bpm",
250
+ "dance_moves_sanitize_attachment_id",
251
+ "dance_moves_sanitize_duration",
252
+ "dance_moves_meta_auth",
253
+ "dance_moves_register_page_meta",
254
+ "dance_moves_revision_meta_keys",
255
+ "dance_moves_add_meta_box",
256
+ "dance_moves_file_field",
257
+ "dance_moves_render_meta_box",
258
+ "dance_moves_admin_assets",
259
+ "dance_moves_timing_upload_mimes",
260
+ "dance_moves_timing_filetype",
261
+ "dance_moves_validate_timing_attachment",
262
+ "dance_moves_queue_admin_error",
263
+ "dance_moves_admin_notice",
264
+ "dance_moves_save_page_meta",
265
+ "dance_moves_clay_stars_is_target",
266
+ "dance_moves_clay_stars_filter_content",
267
+ "dance_moves_epk_download_normalize_relative_path",
268
+ "dance_moves_epk_download_relative_path_from_url",
269
+ "dance_moves_epk_download_signature",
270
+ "dance_moves_epk_download_url",
271
+ "dance_moves_epk_download_query_vars",
272
+ "dance_moves_epk_download_filter_content",
273
+ "dance_moves_epk_download_not_found",
274
+ "dance_moves_epk_download_serve",
275
+ "dance_moves_sanitize_effect"
276
+ ],
277
+ "constants": [
278
+ "DANCE_MOVES_VERSION",
279
+ "KS_EPK_ORIENTATION_VERSION",
280
+ "KS_EPK_MOTION_CAPTURE_TOKEN",
281
+ "DANCE_MOVES_META_BPM",
282
+ "DANCE_MOVES_META_LYRIC_TIMING",
283
+ "DANCE_MOVES_META_CUE_TIMING",
284
+ "DANCE_MOVES_META_LYRIC_POPUPS",
285
+ "DANCE_MOVES_META_MASTER_DURATION",
286
+ "DANCE_MOVES_CLAY_STARS_PAGE_ID",
287
+ "DANCE_MOVES_META_EFFECT",
288
+ "DANCE_MOVES_DOWNLOAD_QUERY_VAR",
289
+ "DANCE_MOVES_DOWNLOAD_SIGNATURE_QUERY_VAR"
290
+ ],
291
+ "references": [
292
+ "wordpress.md",
293
+ "downloads.md"
294
+ ]
295
+ },
296
+ "events": {
297
+ "dance-moves-start": {
298
+ "target": "deferred element",
299
+ "detail": "BoundaryDetail"
300
+ },
301
+ "dance-moves-cue": {
302
+ "target": "document",
303
+ "detail": "CueDetail"
304
+ },
305
+ "kieran-epk-cue": {
306
+ "target": "document",
307
+ "detail": "CueDetail"
308
+ },
309
+ "dance-moves-lyric": {
310
+ "target": "document",
311
+ "detail": "LyricDetail"
312
+ },
313
+ "dance-moves-effects-ready": {
314
+ "target": "document",
315
+ "detail": "{api: DanceMovesEffects, version: string}",
316
+ "bubbles": false
317
+ }
318
+ },
319
+ "boot_objects": [
320
+ "danceMovesConfig",
321
+ "ksEpkOrientationConfig",
322
+ "danceMovesClayPerformanceConfig",
323
+ "danceMovesPaperDreamsConfig"
324
+ ],
325
+ "meta_keys": [
326
+ "_dance_moves_bpm",
327
+ "_dance_moves_lyric_timing_id",
328
+ "_dance_moves_cue_timing_id",
329
+ "_dance_moves_lyric_popups_enabled",
330
+ "_dance_moves_master_duration_ms",
331
+ "_dance_moves_effect"
332
+ ],
333
+ "custom_rest_routes": [
334
+ {
335
+ "method": "POST",
336
+ "namespace": "ks-epk-motion/v1",
337
+ "path": "/capture",
338
+ "schema": "ks-epk-motion-recording/v1",
339
+ "reference": "wordpress.md"
340
+ }
341
+ ],
342
+ "orientation_pages": {
343
+ "130": "dying-for-a-diagnosis",
344
+ "140": "light-will-win",
345
+ "243": "presents-and-chocolate",
346
+ "252": "clay-stars",
347
+ "268": "fully-nocturnal",
348
+ "270": "amnesty-honestly",
349
+ "276": "walk-with-me",
350
+ "298": "dmitri-my-talisman",
351
+ "839": "california-screamin"
352
+ },
353
+ "css_ticks": [
354
+ 1,
355
+ 2,
356
+ 3,
357
+ 4,
358
+ 5,
359
+ 6,
360
+ 7,
361
+ 8,
362
+ 9,
363
+ 10,
364
+ 11,
365
+ 12,
366
+ 13,
367
+ 14,
368
+ 15,
369
+ 16,
370
+ 32,
371
+ 64,
372
+ 128,
373
+ 192,
374
+ 432,
375
+ 1584,
376
+ 2208
377
+ ],
378
+ "reference_scope_note": "Release artwork CSS/keyframe internals and test-only harness functions are not promoted to shared production APIs.",
379
+ "release_tag": "v2.8.0",
380
+ "compatible_staging": {
381
+ "branch": "timed-lyrics-staging-2026-09-20",
382
+ "commit": "c95f24f326a5f5334e4fe63c1e705ec13b1d59d6",
383
+ "delta": "publication evidence only; production source and README unchanged"
384
+ },
385
+ "http_endpoints": [
386
+ {
387
+ "kind": "WordPress front-end query endpoint",
388
+ "methods": [
389
+ "GET",
390
+ "HEAD"
391
+ ],
392
+ "path": "home_url(/)",
393
+ "query_vars": [
394
+ "dance_moves_download",
395
+ "dance_moves_download_signature"
396
+ ],
397
+ "reference": "downloads.md",
398
+ "is_rest_route": false
399
+ }
400
+ ],
401
+ "lyric_detail_fields": [
402
+ "pageId",
403
+ "time",
404
+ "text",
405
+ "normalisedText",
406
+ "index",
407
+ "nextTime",
408
+ "nextText",
409
+ "nextNormalisedText",
410
+ "nextIndex",
411
+ "nextVisibleTime",
412
+ "nextVisibleText",
413
+ "nextVisibleNormalisedText",
414
+ "nextVisibleIndex",
415
+ "audio"
416
+ ],
417
+ "effect_option_fields": [
418
+ "root",
419
+ "id",
420
+ "render",
421
+ "bounds",
422
+ "target",
423
+ "finePointer",
424
+ "audio",
425
+ "ticks",
426
+ "className",
427
+ "propertyPrefix",
428
+ "cue",
429
+ "durationTicks",
430
+ "cues",
431
+ "onCue",
432
+ "seekLandingTolerance",
433
+ "fireOnSeekLanding",
434
+ "maxCrossingGap",
435
+ "tiers",
436
+ "initial",
437
+ "sampleMilliseconds",
438
+ "poorWindows",
439
+ "healthyWindows",
440
+ "downgradeRatio",
441
+ "recoveryRatio",
442
+ "downgradeCooldownMilliseconds",
443
+ "recoveryCooldownMilliseconds"
444
+ ],
445
+ "runtime_validation_note": "The complete original README, shared-effects file and shipped cue-timeline test were materialized and Git-blob-hash checked locally. The focused cue-timeline test passed. Full repository, browser, WordPress and physical-device gates were not run by this documentation patch."
446
+ }