Map Animation Execution Boundary Review
layer1 0x40 redraw, palette VM, tile-write handlers, viewport redraw consumer, draw-time tile rect 변환은 각각 근거가 있지만 특정 맵의 모닥불/폭포 visible motion을 실행하는 command stream/root는 아직 증명되지 않았다. field tick의 active-object delayed script 경로는 가능하지만, strict +0xec inventory, runtime-installed +0x64 frame script, remaining tile-write VM root scan, specialized tick/draw loop scan 안에서는 tile-write producer가 발견되지 않았다.
statusvisible-motion-execution-binding-unproven
animated maps5
animated cells1200
confirmed surfaces6/16
VM write refs6
root-bound refs0
0x6b/0x76 candidates79
tick direct refs0
active script routegrounded
strict +0xec writes0
+0x64 frame writes0
remaining roots95
specialized loop0
visible bindingunproven
Animated Maps
| map | source tileset | cells | components | palette ranges |
|---|---|---|---|---|
map1_01a | map_a1 | 12 | 1 | 0x02..0x04, 0x06..0x07, 0x0b..0x0d, 0x10..0x15, 0x1b..0x1b, 0x20..0x20, 0x23..0x25, 0x28..0x28, 0x2c..0x2e |
map1_02b | map_b1 | 900 | 1 | 0x10..0x10, 0x20..0x2b, 0x2d..0x2e |
map2_01c | map_c1 | 96 | 1 | 0x12..0x12, 0x1c..0x1d |
map2_13c | map_c1 | 96 | 1 | 0x12..0x12, 0x1c..0x1d |
map6_26c | map_c1 | 96 | 1 | 0x12..0x12, 0x1c..0x1d |
Execution Surfaces
| surface | promotion | finding | gap |
|---|---|---|---|
layer1 0x40 redraw coveragemap_animation_tile_review.json | confirmed | 5 maps / 1200 cells are flagged. EXE reads layer1 and treats bit 0x40 as dirty redraw coverage. | 이 단계는 어느 타일/팔레트 프레임으로 바꿀지 고르지 않는다. |
palette VM handlersmap_palette_handler_trace_review.json | confirmed-handler / unbound-map-root | opcode 0x38/0x39 handlers are table-grounded; exactPerMapPaletteRootProven=False. | 사용자 관찰상 팔레트만으로는 폭포/모닥불의 공간 이동을 설명하지 못하므로 visible motion proof로 승격하지 않는다. |
tile-grid write handlersmap_animation_exe_pattern_review.json | confirmed-handler / no animated write | plausible opcode 0x58 hits 90, direct animated tile writes 0, coordinate-only hits 2. | known 0x40 source tile id를 직접 쓰는 실행 stream은 아직 없다. |
simple tile replacement tablemap_animation_exe_pattern_review.json | negative-scan | known fire/waterfall sequences scanned 13, contiguous hits 0. | 단순 u8/u16/u32 연속 테이블 가설은 현재 음성이다. 압축/산술/VM 실행 가능성은 남는다. |
visual shift hypothesismap_animation_shift_hypothesis_review.json | human-review-candidate | component classes {'offset-shift-unproven': 1, 'rectangular-offset-plausible': 1, 'row-offset-or-row-cycle-plausible': 3}; map_review preview용 후보로는 유효하지만 EXE 실행 근거는 아니다. | offset/row-cycle 후보를 실제 map root command stream과 연결해야 한다. |
map resource loader / VM bridgeresource_command_vm_bridge_review.json | resource-loader-grounded / animation-root-unbound | field map opcode10 records 173, direct resource runner calls 5, routeProofFound=False. | map resource loading root가 animation frame loop를 실행한다는 증거가 아직 없다. |
animated-map resource roots vs animation commandsmap_animation_resource_binding_probe.json | negative-binding-probe | animated maps with exact resource roots 4/5, palette commands inside exact roots 0, tile-write commands inside exact roots 0. | 맵 리소스 root 자체가 per-frame animation loop root는 아닌 것으로 좁혀졌다. |
live map buffer writersmap_animation_live_buffer_writer_review.json | confirmed-handler / producer-unbound | VM write-like live-buffer refs 6, refs inside animated roots 0, handler opcodes 3. | live layer0/layer1 writer handlers are grounded, but no animated-map tick/root producer binds them to visible 0x40 motion. |
object-relative live tile-write command scanmap_animation_object_relative_tile_write_review.json | negative-binding-scan | 0x6b/0x76 candidates 79, animated tile hits 1, animated root candidates 0. | object-relative tile-write streams currently bind to nonanimated/unbound resource groups, not the visible fire/waterfall loop. |
viewport redraw consumermap_animation_redraw_consumer_review.json | confirmed-redraw-consumer / producer-unbound | 37x21 viewport scan grounded=True; alternate tile selection found=False. | 0x40 cells are invalidated/redrawn here, but visible frame selection still has to come from a producer or draw-time transform. |
draw-time tile id to source rect transformmap_animation_draw_tile_transform_review.json | confirmed-render-transform / negative-animation-selector | tile rect converter grounded=True; uses frame counter=False; uses 0x40=False. | The inspected draw path converts tile ids by fixed grid math and does not implement fire/waterfall frame selection. |
field tick route / active-object script runnermap_animation_tick_route_review.json | grounded-route / indirect-producer-candidate | tick route 0x00411476 is grounded; direct live-buffer refs in tick/update windows 0+0; active-object delayed script route grounded=True. | Need the specific animated-map active-object script/root that executes tile-write opcodes or an equivalent producer. |
strict active-object +0xec scriptsmap_animation_active_object_script_tile_write_review.json | negative-script-inventory-scan | strict scripts 722, command-boundary tile writes 0, raw unpromoted candidates 445. | The remaining producer, if static, is likely outside the strict +0xec inventory or is runtime-installed into object +0x64/+0x40. |
runtime-installed object +0x64 frame scriptsmap_animation_frame_script_tile_write_review.json | negative-frame-script-scan | initializer +0x40/+0x64/+0xec writes 0/0/723; opcode20 targets 138, opcode18 state entries 855, command-boundary tile writes 0+0. | The object frame-script route is grounded for actor/frame animation, but not for map visible-tile mutation. |
non-object / remaining tile-write VM rootsmap_animation_non_object_tile_write_root_review.json | negative-root-scan | aligned tile-write commands 166, roots 95, direct animated evidence commands 3, promoted commands 0. | Remaining VM-shaped tile-write roots do not both bind to an animated map and write known animated tile/coordinate evidence. |
specialized tick/draw loopmap_animation_specialized_loop_boundary_review.json | negative-specialized-loop-scan | inspected windows 10, direct callees 30, callee tile-state refs 7, strong candidates 0. | Tick/redraw/draw 주변 direct callee 안에서도 별도 live layer0/layer1 producer가 승격되지 않았다. |
Next Frontier
- opcode 0x58/0x6b/0x76 live-buffer writer를 호출하게 하는 animated-map tick/root chain을 찾는다.
- map_review의 shift 후보를 EXE command stream의 산술/인덱스 생성 패턴과 대조한다.
- 0x00425163/0x004199a0 일반 tile draw path 밖에 별도 map-animation specialized draw callback이 있는지 확인한다.
- strict +0xec 밖의 runtime-installed object +0x64/+0x40 script 또는 non-object VM root에서 animated-map tile-write root를 찾는다.
- runtime-installed +0x64 script scan도 음성이므로 non-object VM root 또는 specialized map animation loop를 우선 확인한다.
- remaining tile-write VM root scan도 음성이므로 0x58/0x6b/0x76 command stream이 아닌 specialized loop/산술 생성 경로를 우선 확인한다.
- specialized loop scan도 음성이므로 animated-map load/root dispatcher에서 0x40 dirty cell을 소비하는 정적 command chain을 다시 찾는다.