fnf-blender-mcp 0.2.0 → 0.2.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 (62) hide show
  1. package/README.md +18 -27
  2. package/dist/server.js +40 -6
  3. package/dist/skills.d.ts +15 -2
  4. package/dist/skills.js +89 -5
  5. package/dist/tools.js +8 -4
  6. package/dist/transport.d.ts +1 -1
  7. package/dist/transport.js +2 -2
  8. package/package.json +3 -13
  9. package/scripts/background_runner.py +8 -1
  10. package/skills/blender-animation/SKILL.md +140 -0
  11. package/skills/blender-audit-finalize/SKILL.md +139 -0
  12. package/skills/blender-camera-blocking/SKILL.md +32 -0
  13. package/skills/blender-camera-blocking/assets/Blockstage-0.3.0.zip +0 -0
  14. package/skills/blender-camera-blocking/references/addon-installation.md +17 -0
  15. package/skills/blender-camera-blocking/references/character-staging.md +19 -0
  16. package/skills/blender-camera-blocking/references/layout-and-assets.md +19 -0
  17. package/skills/blender-camera-blocking/references/live-construction.md +7 -0
  18. package/skills/blender-camera-led-assembly/SKILL.md +48 -0
  19. package/skills/blender-camera-led-assembly/references/blender-mechanics.md +45 -0
  20. package/skills/blender-camera-led-assembly/references/camera-choreography.md +25 -0
  21. package/skills/blender-camera-led-assembly/references/case-template.md +23 -0
  22. package/skills/blender-camera-led-assembly/references/environment-assembly.md +27 -0
  23. package/skills/blender-camera-led-assembly/references/product-assembly.md +25 -0
  24. package/skills/blender-camera-led-assembly/references/validation-delivery.md +33 -0
  25. package/skills/blender-destruction/SKILL.md +24 -0
  26. package/skills/blender-destruction/references/assembly.md +23 -0
  27. package/skills/blender-destruction/references/delivery.md +29 -0
  28. package/skills/blender-destruction/references/simulation.md +25 -0
  29. package/skills/blender-generation/SKILL.md +139 -0
  30. package/skills/blender-greybox/SKILL.md +103 -0
  31. package/skills/blender-hdri/SKILL.md +133 -0
  32. package/skills/blender-lighting-camera/SKILL.md +217 -0
  33. package/skills/blender-lookdev/SKILL.md +99 -0
  34. package/skills/blender-modeling/SKILL.md +181 -0
  35. package/skills/blender-pbr/SKILL.md +155 -0
  36. package/skills/blender-scene/SKILL.md +66 -1
  37. package/skills/blender-scene-spec/SKILL.md +177 -0
  38. package/skills/blender-stylized-materials/SKILL.md +34 -0
  39. package/skills/blender-stylized-materials/assets/BUNDLE.md +19 -0
  40. package/skills/blender-stylized-materials/assets/cube-demo.blend +0 -0
  41. package/skills/blender-stylized-materials/assets/cube-preview.png +0 -0
  42. package/skills/blender-stylized-materials/assets/materials.blend +0 -0
  43. package/skills/blender-stylized-materials/assets/previews/BACKGROUND.png +0 -0
  44. package/skills/blender-stylized-materials/assets/previews/CANVAS.png +0 -0
  45. package/skills/blender-stylized-materials/assets/previews/CEL.png +0 -0
  46. package/skills/blender-stylized-materials/assets/previews/COMIC_PULSE.png +0 -0
  47. package/skills/blender-stylized-materials/assets/previews/DRYBRUSH.png +0 -0
  48. package/skills/blender-stylized-materials/assets/previews/HALFTONE.png +0 -0
  49. package/skills/blender-stylized-materials/assets/previews/MANGA.png +0 -0
  50. package/skills/blender-stylized-materials/assets/previews/METAL.png +0 -0
  51. package/skills/blender-stylized-materials/assets/previews/NEON.png +0 -0
  52. package/skills/blender-stylized-materials/assets/previews/PAINT.png +0 -0
  53. package/skills/blender-stylized-materials/assets/previews/WATERCOLOR.png +0 -0
  54. package/skills/blender-stylized-materials/assets/stylized-materials-addon.zip +0 -0
  55. package/skills/blender-stylized-materials/references/material-engineering.md +31 -0
  56. package/skills/blender-stylized-materials/references/ready-to-use-bundle.md +23 -0
  57. package/skills/blender-stylized-materials/references/scene-delivery.md +27 -0
  58. package/skills/blender-stylized-materials/references/visual-library.md +21 -0
  59. package/skills/blender-volatile/SKILL.md +150 -0
  60. package/skills/use-blender/SKILL.md +2 -1
  61. package/skills/use-blender/references/installation.md +5 -5
  62. package/RELEASING.md +0 -11
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: blender-audit-finalize
3
+ description: Audit a local Blender scene against its specification, measure structural, motion and visual failures, repair them, and save requested deliverables under the local recovery policy.
4
+ ---
5
+
6
+ # Audit and finalize
7
+
8
+ Read [blender-scene](../blender-scene/SKILL.md) for the local session contract.
9
+ Tool names below use its capability mapping when the named interface is absent;
10
+ read only the relevant rows in [blender-volatile](../blender-volatile/SKILL.md).
11
+
12
+ The audit compares the scene to the Scene Passport — not to memory, and not to
13
+ the arguments of the calls that built it. A build passes only when structural,
14
+ motion, and visual evidence all agree.
15
+
16
+ ## Structural audit
17
+
18
+ Run `bl_validate_scene`, diff against the pre-build snapshot with
19
+ `bl_scene_diff`, and inspect the important objects with `bl_get_object`
20
+ (`bl_execute` only for facts the typed reads do not expose). Confirm:
21
+
22
+ - every expected object exists exactly once, under its semantic name;
23
+ - dimensions, transforms, origins, parents, collections, visibility match;
24
+ - active camera, frame range, fps, render engine, resolution match, and
25
+ `frame_end` reaches the last marker and the last key;
26
+ - material slots and texture links resolve;
27
+ - generated replacements sit inside their proxy footprints;
28
+ - no stray defaults, `.001` duplicates, orphan stand-ins, or hidden failures;
29
+ - related objects found under every prefix they use — one prefix search is
30
+ not a sweep;
31
+ - hero/export meshes have sane normals, manifold state, and density.
32
+
33
+ ## Motion audit
34
+
35
+ Mandatory for dynamic-default scenes; skipped only on an explicit static
36
+ request.
37
+
38
+ - Audit motion from fresh scene reads and `bl_execute`; when diagnosing a
39
+ failure, enumerate animated objects/properties, key times, and interpolation.
40
+ This package does not provide `bl_audit_motion`.
41
+ - Sample first/rest, departure, peak, settle, and final/loop frames.
42
+ - Check collisions, clipping, constraint jumps, rotation flips, camera
43
+ framing, visibility, loop continuity.
44
+ - The promised motion must be perceptible and purposeful.
45
+
46
+ A still image cannot pass this audit.
47
+
48
+ ## Visual audit
49
+
50
+ 1. Viewed camera render for composition; inspect datablocks, modifiers and
51
+ rigs for editability. A desktop viewport check is unavailable locally.
52
+ 2. Inspect active-camera material, light, shadow, transparency, and engine
53
+ settings through fresh reads, then view a `bl_render` output. The package
54
+ does not provide `bl_audit_render`.
55
+ 3. For dynamic scenes, call `bl_set_frame` and `bl_render` at representative
56
+ frames; view each result. There is no `bl_render_contact_sheet` tool.
57
+ 4. View the returned evidence — success JSON says nothing about appearance.
58
+ And view it at scale: image previews downsample, so few-pixel features
59
+ average away to nothing. Crop 1:1 and count bright pixels numerically
60
+ before concluding something did not render.
61
+ 5. **Unreachable evidence fallback** — when a render/screenshot URL cannot
62
+ be opened (network policy, expired link), report that retrieval failure
63
+ and obtain equivalent evidence at an accessible local path. Write camera
64
+ renders via `scene.render.filepath` +
65
+ `bpy.ops.render.render(write_still=True)`; obtain a local viewport capture
66
+ if the claim specifically concerns viewport state. Actually view the
67
+ replacement evidence. If it cannot be viewed either, mark the relevant
68
+ visual check `blocked`, give the user the available paths/URL, and never
69
+ substitute numeric proxies for appearance. Numeric proxies cover
70
+ structure and motion only.
71
+ One useful framing proxy:
72
+ `bpy_extras.object_utils.world_to_camera_view(scene, cam, world_co)`
73
+ returns NDC — x/y in `[0,1]` **with z > 0** means in-frame (z ≤ 0 is
74
+ behind the camera) — but NDC cannot tell a cylinder from a cactus.
75
+
76
+ Check silhouette hierarchy, scale cues, contact, depth separation, texture
77
+ scale, highlight/shadow detail, generated/local style coherence, and delivery
78
+ framing. One extra rule: **no asset may read as an unresolved primitive from
79
+ the active camera** unless its passport fidelity is `blockout`. A bare
80
+ cylinder standing in for a cactus, or a uniform sphere for a rock, fails this
81
+ check even when every structural metric passes.
82
+
83
+ ## Specialist audits
84
+
85
+ Owned by their modules, executed here at finalize time when the Scene
86
+ Passport declares the matching work:
87
+
88
+ - **Cinematic lighting** (cinematic, commercial, product, night, atmosphere,
89
+ reference-matched): the full "Lighting audit" in
90
+ `blender-lighting-camera`. If isolated or grayscale evidence cannot
91
+ be produced, the lighting audit is `blocked`, not `passed`.
92
+ - **Generated environment**: the "Audit gate" in `blender-hdri`. Record
93
+ the SDR limitation; a GPT Image PNG is never reported as true HDR/EXR.
94
+ - **Generated PBR material**: the "Audit gate" in `blender-pbr`.
95
+ Luminance-derived maps are inferred, not measured.
96
+
97
+ ## Measuring a complaint
98
+
99
+ - Measure the quantity that was complained about, in world space over time —
100
+ never the nearest available proxy. A perfect reading on the wrong quantity
101
+ closes the wrong case, and the complaint returns.
102
+ - A clean zero can be the failure. A component that never varies proves rigid
103
+ parenting as readily as correctness; pick the reference frame the physical
104
+ claim is about — for a wheel that is the ground, not the body.
105
+ - A hidden object returns a stale matrix. Measure on a frame where it is
106
+ visible.
107
+ - `scene.ray_cast` follows viewport visibility, not render visibility. When
108
+ the ray and the render disagree, the render is the evidence.
109
+
110
+ ## Repair loop
111
+
112
+ Fix the largest concrete failure first, then rerun the affected audit. No
113
+ polishing of secondary detail while scale, framing, contact, or motion is
114
+ wrong. A blocked check is reported as blocked — never dressed up as a pass.
115
+
116
+ ## Finalize
117
+
118
+ - Modifiers, rigs, materials, and generated assets stay editable unless the
119
+ deliverable explicitly demands destructive application.
120
+ - Proxies are removed only after their replacements pass; otherwise they are
121
+ parked predictably and reported.
122
+ - Restore a useful frame and the intended active camera.
123
+ - Record generated job ids, models, estimates, imported object names.
124
+ - Report created/modified/deleted objects with the audit evidence.
125
+
126
+ When `bl_finalize_build` is exposed, run it once after repairs and inspect
127
+ its documented result; a `valid` field must be true when that is the contract.
128
+ Otherwise use the core manual-finalize fallback and report each audit result
129
+ with its actual evidence. Do not invent a tool response or silently convert a
130
+ blocked generation, export, or visual check into a pass.
131
+
132
+ ## Save policy
133
+
134
+ Follow blender-scene's local save and recovery contract. Recovery copies
135
+ precede broad/destructive edits; save requested .blend outputs before
136
+ reconnecting or replacing the active project. Preserve useful partial work
137
+ even when an audit is blocked, clearly reporting its status. Confirm an
138
+ ambiguous overwrite target; do not overwrite or pack resources merely as a
139
+ side effect of audit/finalize. Report the verified saved path.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: blender-camera-blocking
3
+ description: Camera blocking and mise-en-scène in Blender: decide where the actors stand and move, where the camera sits, and what the lens actually sees, using the bundled Blockstage add-on. Draw parametric rooms with doors and windows, furnish them from a 42-piece library, place and pose four rigged characters with IK/FK, hand grips and held props, and set the camera to match a reference frame or a written brief. Use for previsualization, shot planning, staging and blocking rehearsal, coverage and eyeline checks, camera height and lens choices, and any scene blocked quickly from ready-made adjustable parts; installs and enables the add-on on first use. For geometry modelled from scratch use blender-modeling or blender-greybox. Not for character modeling, rig construction, add-on development or skill authoring.
4
+ ---
5
+
6
+ # Camera blocking and mise-en-scène
7
+
8
+ Build editable scenes with the bundled Blockstage 0.3.0 assets and controls. Match the requested composition and level of detail while keeping the scene practical to adjust in Blender.
9
+
10
+ ## Start with Blender
11
+
12
+ At the beginning of each invocation, inspect the available Blender connection and enabled Blockstage version. Immediately install or enable the bundled dependency when needed by following [Add-on Installation](references/addon-installation.md). Reuse an enabled, complete 0.3.0 installation without reinstalling it. Installing the skill folder alone does not execute Blender operations; dependency setup runs when the agent uses this skill.
13
+
14
+ Identify the active file, scene, collection, camera, frame range, and existing animation before editing. Use the supplied reference or written brief and the user's requested output location. Preserve a recoverable copy before replacing substantial existing work or switching files. Keep unrelated objects and animation intact. Ask only for information that materially blocks construction; resolve ordinary layout choices yourself.
15
+
16
+ ## Establish the composition
17
+
18
+ For an image, identify its aspect ratio, perspective, camera height, subject proportions, overlaps, contact points, and dominant shapes. Match framing with coarse native assets before adding smaller objects. For a written brief, establish a clear room arrangement, circulation route, and camera position appropriate to the requested action.
19
+
20
+ Use a dedicated collection for a new setup inside an existing file. Keep native asset hierarchies together and check where the add-on places newly generated objects. Use English names for scene elements. During a local correction, preserve the established camera unless the correction requires a framing change.
21
+
22
+ ## Construct through native controls
23
+
24
+ Load [Layout and Assets](references/layout-and-assets.md) when constructing rooms, openings, furniture, colors, or lighting. Build architecture and major furniture first, then add the secondary props needed for the composition. Use native editable controls instead of replacing supported assets with improvised geometry.
25
+
26
+ Load [Character Staging](references/character-staging.md) when adding, duplicating, posing, or attaching props to actors. Keep characters at the native blockout detail level unless the user requests additional detail. Add keyframes only when animation is requested; preserve the requested duration and frame rate.
27
+
28
+ Load [Live Construction](references/live-construction.md) when the user requests visible progress or records the screen. Otherwise, use the available Blender tools directly without unnecessary interface changes.
29
+
30
+ ## Save the scene
31
+
32
+ Save the requested editable blend file with working asset roots, rig controls, camera, and scene organization. Keep newly introduced external resources available through packed data or portable relative paths. Produce images or video only when requested. Report the saved location and any actual unresolved limitation briefly.
@@ -0,0 +1,17 @@
1
+ # Add-on Installation
2
+
3
+ ## Bundled dependency
4
+
5
+ Use the bundled [Blockstage 0.3.0 installation-unlocked variant](../assets/Blockstage-0.3.0.zip), resolved relative to this skill. Its installation version threshold has been relaxed; functional code, the license, character library, and thumbnails are preserved. The relaxed installer metadata does not establish compatibility with every Blender release. Its manifest identifies blockstage version 0.3.0. No separate Cast installation is needed.
6
+
7
+ ## Automatic setup
8
+
9
+ Perform dependency setup as part of the requested Blockstage workflow, without asking the user to install it manually or seeking redundant confirmation. Use the user's installed Blender through the existing connection or native interface. This skill imposes no specific Blender version; establish compatibility through the native installer's result, extension registration, and asset loading. Discover the actual extension repository and registered module in that Blender installation; do not assume a user directory or module prefix.
10
+
11
+ When installation is needed, use Blender's native Install from Disk operation in Edit, Preferences, Get Extensions. Select the bundled ZIP directly and enable the installed extension. The native operation is also exposed as extensions.package_install_files for tools that provide Blender API access. Save the enabled preference in the same Blender session. Do not create or require a separate installer script.
12
+
13
+ If 0.3.0 is already installed but disabled, enable it. If another version or a legacy copy conflicts, preserve its recoverable files and settings, disable only the conflicting Blockstage registration, and install the bundled version through Blender's extension manager. Do not enable duplicate copies. Preserve unsaved scene work before any necessary restart. Avoid changing preferences through a background Blender process while the user's Blender is open.
14
+
15
+ Confirm the registered version and the Blockstage sidebar in the 3D View. Confirm that Room Builder and Man, Woman, Heavy Man, and Heavy Woman are available, including the cast library and thumbnails. Copying an archive alone is not a completed installation. Existing characters in older scenes are not automatically replaced by installing the extension.
16
+
17
+ If Blender access, the archive, or a required permission is unavailable, state the exact missing requirement and request only what is needed. If Blender rejects the extension or its character library, report the actual compatibility error without bypassing installation checks or claiming unsupported compatibility. Do not report installation success or substitute another asset system. Skill instructions cannot bypass tool permissions or create a Blender connection themselves.
@@ -0,0 +1,19 @@
1
+ # Character Staging
2
+
3
+ ## Native actors
4
+
5
+ Choose Man, Woman, Heavy Man, or Heavy Woman. Preserve each actor's meshes, weights, rest pose, constraints, widgets, and internal references. Use Duplicate Asset to copy the complete native hierarchy with remapped references. Do not reconstruct an actor from primitives or add facial features, clothing, or hair unless requested.
6
+
7
+ Native actors face negative Y with Z up. Pose coordinates are in armature space, while an asset parented to a room can use room coordinates. Inspect the evaluated world transform before positioning controls or attachments. Move the actor through its whole asset root rather than offsetting unrelated body parts.
8
+
9
+ ## Poses and contacts
10
+
11
+ Use Selected Asset, Pose Controls for body, head, shoulder, hand, foot, elbow, and knee controls. Pose presets establish a static starting pose; Walk is not a walking animation. Presets reset pose controls, grip, and foot roll, so do not apply one over existing posing or animation without a requested reset.
12
+
13
+ Establish ground or seat contact, then adjust pelvis and torso balance, limb targets, pole controls, head direction, and hand orientation. Keep knees and elbows bending coherently without stretching limbs. Match head direction to the intended target rather than assuming the body's facing direction is sufficient.
14
+
15
+ Use Snap to IK or Snap to FK when changing control modes while preserving the current pose. Unsupported FK twists can be rejected with the pose retained; resolve the incompatible pose before switching. A manual IK/FK blend is not equivalent to snapping. Use native Roll and Bank for foot pivots.
16
+
17
+ Hand Grip supports Open, Hold, and Fist. Rig Details, Fingers provides individual phalanges with Curl and Spread. Use Attach to Hand for held props, then align the grip and the prop's functional direction. The native pistol points along negative Y before additional transforms.
18
+
19
+ When animation is requested, Key Pose records the actor transform, editable controls, fingers, and custom properties. Animate these controls rather than driven mechanism bones. Keep meaningful keys editable and preserve existing timing unless the request changes it.
@@ -0,0 +1,19 @@
1
+ # Layout and Assets
2
+
3
+ ## Rooms and openings
4
+
5
+ Use Rectangle or L-shaped room controls for simple plans and Draw Room for a custom closed outline without self-intersections. Set dimensions and wall thickness before decorating. Floor Plan and Overview help establish circulation and camera access. For adjacent rooms, avoid duplicate shared walls and align their actual passage openings.
6
+
7
+ Disable a wall through its checkbox in Walls & Corners. Deleting its generated mesh is temporary because rebuilding restores it. Use Edit Outline, Split Wall, and Remove Corner to change the plan. Resolve affected openings before changing the number of walls; wall numbers follow the ordered outline rather than screen direction.
8
+
9
+ Door, Window, and Passage generate real openings. Position their centers with From Wall Start on the correct Wall Number, then set their dimensions and sill where applicable. Use Reposition on Wall instead of moving generated opening geometry independently. Door Open Angle can be animated. Windows provide open frames without a glass shader.
10
+
11
+ Cutaway, Complete, and Open Top affect rendering as well as the viewport. Choose the mode intentionally for the camera; ceiling fixtures can remain visible in cutaway mode. Use Ceiling and Trim controls for structural changes. Room dimensions are layout controls, not a substitute for animated geometry.
12
+
13
+ ## Furniture and lighting
14
+
15
+ Choose native furniture from the thumbnail library. Place supports click placement and rotation; Object Properties provides Add at the 3D Cursor. Use Select Root and the asset's Dimensions to transform a complete piece. Moving an arbitrary child mesh breaks the intended assembly. Room resizing preserves furniture positions, so adjust their arrangement when the plan changes.
16
+
17
+ Room furniture presets require a rectangular room at least 4.8 by 4.8 meters. They add independent assets and do not replace existing furniture. Prefer individual placement when matching a reference. Thumbnails show the default assets, not a live depiction of customized geometry.
18
+
19
+ Mount ceiling fixtures through native room controls and adjust Ceiling Drop and Light Power. Keep lighting readable for the requested shot. Furniture Color affects an entire asset; separately rooted child assets remain independent. Walls Color covers the wall assembly, including its trim and opening parts. Floor and ceiling colors are separate. Use these controls for simple color blocking; create additional shaders only when requested.
@@ -0,0 +1,7 @@
1
+ # Live Construction
2
+
3
+ Work in the user's visible Blender session when showing progress or supporting a screen recording. Establish a readable viewport before construction. Keep the scene visible while using native tools through the available interface or connection; do not replace visible work with an unseen background build.
4
+
5
+ Make coherent changes in successive passes for the room, major furniture, actors, poses, and final camera composition. Let Blender redraw after each pass so the user can follow what changed. Give brief updates tied to the visible result. Do not repeatedly change workspaces or leave consoles covering the scene.
6
+
7
+ Use floor or perspective views when they explain placement, then return to the scene camera. During animation work, show the affected interval through playback after a meaningful change. Never present saved snapshots as evidence of a live update when the open Blender scene has not changed.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: blender-camera-led-assembly
3
+ description: Use when the user asks for a scene or product breakdown, build-up, or assembly animation. Create or revise editable Blender animations with expressive staged appearance, overlapping construction, and temporary internal assembly while preserving the agreed final look. Include camera or whole-product motion when requested. Exclude written scene analysis, static modeling, unrelated camera-only work, and animation outside Blender.
4
+ ---
5
+
6
+ # Camera-Led Assembly
7
+
8
+ Apply this skill automatically to scene or product breakdown, build-up, and assembly animation requests, without requiring the user to name the skill. Interpret breakdown in this context as an animated construction or appearance effect; an explicit request for written analysis alone falls outside this scope.
9
+
10
+ Create an expressive, coherent appearance animation from the existing scene. Develop a visual idea specific to its construction, materials, and camera view. Keep the result editable and recover the agreed final appearance exactly within measured rendering limits.
11
+
12
+ ## Scope and live state
13
+
14
+ Preserve existing geometry, materials, UVs, normals, placement, lighting, visibility, and camera behavior by default. Apply explicit changes to the identified scene only and establish the revised baseline before judging preservation. Temporary construction geometry may strengthen the effect; remove its visible, shadow, reflection, and instance contributions before the final state.
15
+
16
+ Read [blender-scene](../blender-scene/SKILL.md) for the local session contract, or load it with `bl_get_skill(name: "blender-scene")`, and follow its routing for the modules actually needed. Check `bl_health` and `bl_get_scene_summary` before edits. Prefer specific callable tools; use Blender Python for topology analysis, bulk animation, and checks when those operations require it. Report unavailable dependencies and choose a supported route within the authorized scope.
17
+
18
+ Recheck the live file and active scene after user steering. Record unsaved state, camera, frame range, frame rate, aspect, and neighboring scenes. Locate the requested project from that evidence and the supplied files. If the source or a necessary final-state decision remains unresolved, ask for that missing input before dependent edits. Preserve a recovery copy before broad changes. An older checkpoint must not replace unrelated live edits; an isolated revision can be appended as a separate scene.
19
+
20
+ This server drives a dedicated background Blender process and cannot see an open desktop window. When the user refers to an asset they just opened on screen, that file is not the session's file: ask for its path and open it with `bl_open_project`, rather than assuming the background scene already holds it. Save .blend files before disconnecting; unsaved state is lost on reconnect. Preserve and transfer the actual selected asset before replacing its environment with a procedural substitute.
21
+
22
+ Read [Blender mechanics](references/blender-mechanics.md) before copying or reparenting scene data, handling instances, or changing animation channels. Record the protected source state and capture its evaluated camera view before editing.
23
+
24
+ ## Choose the construction idea
25
+
26
+ Distinguish a single hero product from an environment with many visual subjects, independently of object count. Load [Product assembly](references/product-assembly.md) for a hero product or temporary internal construction. Load [Environment assembly](references/environment-assembly.md) for architecture, vegetation, or repeated scene assemblies.
27
+
28
+ Consider distinct concepts and choose the strongest readable one autonomously. Record the chosen idea, dominant connections, protected elements, duration, mechanism families, and completion criteria in a compact working plan. Define whether the requested empty start covers the subject or the whole visible scene. Existing fixed backgrounds can remain when that matches the shot.
29
+
30
+ Derive parts from construction, seams, materials, connected geometry, and attachment points. Each repeated family shares a construction method; timing and emphasis may vary. Part count is useful only when it improves the visible assembly.
31
+
32
+ ## Choreograph overlapping motion
33
+
34
+ Build local dependencies and overlapping events across visible regions. Supporting structures must be ready when contact occurs, while approaching components may already be moving. Keep one dominant connection readable as supporting motion continues. Choose duration and final hold from the shot, then convert timing using its actual frame rate.
35
+
36
+ Match motion to physical role. Rigid modules approach at working size, align, retain a readable gap, and seat smoothly. Structural members extend from attachments. Hinged surfaces rotate around their connections. Flexible components unfold or unbend according to their support and material. Repeated details join in overlapping waves. Short materialization may establish a part, but the subsequent assembly must remain visually distinct across these mechanisms.
37
+
38
+ Use semantic controllers and record each event's source, family, attachment, final transform, interval, motion, and temporary status. Compute contacts against the support's evaluated pose. Preserve smooth velocity through intermediate keys and retain intentional timing accents. Judge continuity by visible movement and attention, not merely by the existence of active curves.
39
+
40
+ Use the existing camera unless its revision is requested. Load [Camera choreography](references/camera-choreography.md) when changing camera motion, framing, or whole-subject travel. Coordinate these changes with local assembly and the agreed endpoint.
41
+
42
+ ## Verify and deliver
43
+
44
+ Plan and inspect through the evaluated camera. Keep approaching panels and foreground surfaces clear of important connections. Projected bounds locate suspect intervals; rendered views resolve actual occlusion. Recheck the complete affected interval after changes to paths, pivots, timing, or camera motion.
45
+
46
+ Load [Validation and delivery](references/validation-delivery.md) for final comparison, sequential rendering, export, and transmission. Finish with the agreed native scene, a verified preview in the requested shading, and the authorized deliverables. State the meaningful changes, preservation result, and any unresolved limitation.
47
+
48
+ When the user also requests a process case study inside an existing media template, read [Case template](references/case-template.md). This is an optional delivery step, not a reason to alter every assembly task or publish to an external channel automatically.
@@ -0,0 +1,45 @@
1
+ # Blender State and Animation Mechanics
2
+
3
+ ## Evaluated source state
4
+
5
+ Activate the relevant scene and view layer, set the intended frame, and update evaluation before measuring world transforms. Newly loaded inactive scenes can expose unevaluated matrices. Activate an animated source at its reference frame before comparing it with a frozen assembly copy. Preserve the source animation and record the selected pose explicitly.
6
+
7
+ Inspect hierarchy, constraints, drivers, action slots, NLA, shape keys, simulations, modifiers, and shared datablocks before edits. A copied scene must have a persistent user; verify its presence after saving and reopening. Protect other scenes when replacing objects or unlinking shared collections.
8
+
9
+ ## Copies and attachment transforms
10
+
11
+ Keep native sources intact. Separate evaluated geometry when necessary and preserve materials, UVs, normals, and complete face coverage. Restrict spatial partitioning to an identified surface whose topology has been checked. Applying subdivision independently to cut source meshes can change their boundaries and silhouette.
12
+
13
+ Compute each part's final local transform from its preserved world transform and the inverse of the final parent transform. Place the controller at the actual attachment, compensate the child's local transform, and measure the assembled result after evaluation. Copy original transform components, rotation mode, delta transforms, and parent inverse directly when preserving an existing hierarchy; unnecessary matrix decomposition can introduce error.
14
+
15
+ Nonuniform parent scale combined with rotation can produce shear that an isolated transform cannot represent. Preserve that hierarchy or bake the complete affine transform into temporary geometry with correctly transformed normals. Verify the chosen route against the source, including dependent particles.
16
+
17
+ ## Animation ownership
18
+
19
+ In Blender 5.1, address the channelbag belonging to the animated datablock's action_slot handle. Camera data, shape keys, and objects can occupy different slots. animation_data_clear followed by key insertion can reconnect an existing action containing old keys. Clear only owned channels in the correct slot or assign a fresh owned action, then inspect the actual curves.
20
+
21
+ Retiming must update key times and both handle times consistently, together with event metadata and dependent visibility. Preserve deliberate easing. Smooth sampled trajectories need continuous tangents through intermediate keys; repeated easing at every sample can introduce pauses. Check settled intervals for returning scale, deformation, or visibility keys.
22
+
23
+ Animate hide_render and hide_viewport consistently with constant visibility transitions. Hiding an Empty does not reliably hide its children. Also inspect hide_set, collection exclusions, and modifier visibility. Keep required constraint targets evaluated.
24
+
25
+ When permanently superseding a renderable object in the revision, remove its owned visibility F-curves or key a constant hidden state across the full shot. Clearing keyframe points while leaving an empty visibility channel is not proof that a directly assigned flag will persist through file reload and render evaluation. Check the sequential render, including other actions, drivers, and NLA that can restore it.
26
+
27
+ ## Instances and memory
28
+
29
+ Inspect evaluated instances even when a procedural root has no mesh faces. Copy instance identity and matrices while iterating; do not retain transient depsgraph instance wrappers. Copy metadata arrays into independent plain values before removing their owning datablocks.
30
+
31
+ Share animated prototypes when that preserves per-instance timing and construction. Duplicating expensive procedural evaluation for every visible instance can make a scene unusable. Validate the actual evaluated repetitions and their final transforms before expanding the method.
32
+
33
+ ## Geometric reveal and flexible detail
34
+
35
+ Solid appearance must change geometry, transforms, or visibility. Shader transparency alone is insufficient. For Geometry Nodes reveal, verify attribute space, modifier order, face selection, and the appearance of open boundaries. An origin offset is not a general substitute for evaluating a moving hierarchy's coordinate system.
36
+
37
+ Open-surface normal recalculation can orient disconnected terrain patches inconsistently. Compare copied face winding and normals with the native source; for a verified heightfield, upward-facing surface normals provide an additional check. Do not force this rule onto overhangs or closed meshes. After welding, re-evaluate orientation and smoothing. Preserve source corner or vertex normals on aligned temporary fragments when a later handoff would otherwise create visible shading seams.
38
+
39
+ Flexible temporary copies can use shape keys or suitable deformation modifiers. Deform regions consistently with their thickness, seams, attachments, and support; a soft material on a rigid backing does not make the whole assembly flexible. Curve reveal can control a continuous winding path. Confirm that the evaluated shape returns to its undeformed state before handoff; a zero controller value alone is insufficient evidence.
40
+
41
+ Particle and hair behavior must be checked in sequential rendering. Cached strands can lag behind otherwise correct moving copies. If temporary geometric strands are required, derive them from the existing paths, preserve their radii after transforms, and return the untouched native emitter only after seating. A nominal hair length may not describe edited paths. Remove all temporary strands in the final state.
42
+
43
+ ## Viewport integrity
44
+
45
+ Preserve the user's viewport overlays and unrelated display settings. Use a valid view and region context for viewport capture, and inspect the resulting image. A Workbench render has its own display profile and must be evaluated separately from UI capture.
@@ -0,0 +1,25 @@
1
+ # Camera and Subject Motion
2
+
3
+ ## Establish the endpoint
4
+
5
+ Record the agreed framing endpoint. If the user requests a revised final composition, compare source geometry and assembled geometry through that same final camera.
6
+
7
+ Choose a continuous path that reveals useful connections at the moment they occur. Set orbit extent, distance, height, focal length, and settling time from subject scale and composition. Camera movement should support the current assembly accent and settle coherently with completion. Past shot dimensions and angles are not presets.
8
+
9
+ ## Orbit the visible subject
10
+
11
+ Derive the orbit centre from the actual subject geometry. An existing tracking target may sit along the viewing ray well in front of the product. Orbiting that helper can send the product out of frame despite valid camera tracking.
12
+
13
+ Preserve the established framing offset when it is intentional. A temporary camera and temporary tracking target can move together around the actual subject centre. A semantic parent rig that returns to identity allows the original transform components and constraint relationship to be recovered without unnecessary decomposition. Verify this against the evaluated endpoint, including lens, shift, scale, and rotation.
14
+
15
+ Keep the original camera recoverable. Animate owned controllers and inspect their actual evaluated motion; assigning plausible keys is insufficient. If a copy inherits source constraints, verify their targets and transform spaces after parenting.
16
+
17
+ ## Coordinate subject travel
18
+
19
+ Whole-subject travel and local assembly need separate controls. Components should approach and connect relative to the moving subject. Coordinate wheel rotation or other visible contact mechanics with translation when present, and preserve the agreed final placement. Avoid adding travel to unrelated scene elements.
20
+
21
+ ## Validate the path
22
+
23
+ Project current animated geometry through the evaluated camera over the full shot, using the real aspect and pixel aspect. Check partial clipping and near-plane crossings as well as complete loss from frame. Resolve ambiguous foreground blocking with camera rays and rendered views of the affected interval.
24
+
25
+ Account for fixed backgrounds and enclosures newly exposed by the path. Repair the trajectory, target, or assembly approach within the authorized composition. Inspect meaningful stages and actual playback for readable parallax, smooth acceleration, and a deliberate finish.
@@ -0,0 +1,23 @@
1
+ # Optional process case study
2
+
3
+ Use only when the user requests a process demonstration or media-kit composition in addition to the Blender assembly.
4
+
5
+ Inspect the actual open template: application edition, file, active composition, dimensions, frame rate, layer sources, parent transforms, masks, logos, music, and timing. Save a recovery copy of live state. Duplicate the requested main composition and only the content branches that need independent edits; replacing a shared FootageItem can change the original template as well.
6
+
7
+ Measure the template's content apertures and preserve its chrome, logos, layout, and music when requested. Fit the complete hero video inside its aperture without cropping important assembly. A square media-kit wrapper can contain the requested 16:9 scene montage; preserve the wrapper's established layout unless the user asks to redesign it.
8
+
9
+ Create a single timing map for the hero, interface recording, and prompt narrative. Match each segment to the same scene and construction stage. For a time-lapse, record or stage meaningful interactions with the actual editable project: functional parts, attachment controllers, animation curves, environment assembly, and camera checks. Keep the cursor, selected controls, and resulting scene states consistent. Retiming a recording does not excuse showing unrelated buttons or a different project.
10
+
11
+ When reconstructing missed process footage, present it as a process replay or demonstration. Translate or summarize prompts faithfully, without claiming that translated wording is a verbatim historical log. Exclude unrelated conversations and private data from captures. Screen recording, a staged cursor overlay, or editable native chat graphics can be selected according to the user's requested format; do not silently substitute a static still for a requested recording.
12
+
13
+ Verify a short sample from the actual recorder before a long take. An app-specific accessibility screenshot can show a background window while a display recorder captures a different foreground app. With multiple displays, verify the recorded display and visible window; do not infer the source from a successful UI click. Keep the recorder's original project locally and trim away setup footage before delivery. For timed demonstrations, record the capture start and action start so all four scene boundaries can be aligned exactly. A reconstructed cursor must point to the control whose visible state changes, and the translated chat copy should remain editable.
14
+
15
+ Extend content and music to the requested duration without slowing the assembled hero or adding unwanted transition effects. Keep new overlays and text editable. Inspect the complete exported wrapper in playback: synchronized segments, readable lower panels, preserved logos, framing, sound, first/last frames, duration, and frame rate.
16
+
17
+ Check the decoded recording's actual frame count, not just the requested recording or trim duration. A nominal 25-second recording can contain only 598 frames at 24 fps. Map the last output frame to a valid source frame and extend the layer's out-point, so the interface does not disappear at the end. Inspect both sides of every scene cut: UI redraw latency can shift a recorded scene change by one or two frames. Use a per-scene time map to align the recording to the hero cuts without pulling the next scene into the preceding shot.
18
+
19
+ Deliver the native project and authorized exports. Verify actual transmission before marking delivery complete. Follow the most recent instruction about keeping the computer awake or shutting it down; these are session-specific actions, not default skill behavior.
20
+
21
+ When multiple AE editions are running, target the exact edition and read back its project path and version. If native scripting dispatches through BridgeTalk, retain and inspect error callbacks: a successful send only proves message acceptance. ExtendScript uses an older JavaScript grammar; avoid reserved identifiers such as `short` even for object fields. Inspect actual render output before repeating a timed-out mutation, so the retry cannot duplicate content branches.
22
+
23
+ In AE, removing every time-remap key can disable time remapping and hide the property. Add the intended keys first, then remove obsolete default keys while retaining the new ones. Verify the final rendered frame after the change; a saved project or a middle-frame preview is insufficient.
@@ -0,0 +1,27 @@
1
+ # Repeated Environment Assembly
2
+
3
+ ## Local construction
4
+
5
+ Infer architectural stages from the existing structure and visible connections. Assemble supports, enclosing surfaces, openings, and finishing elements with local dependencies. Temporary framing can clarify construction where the source lacks internal structure, but native surfaces must define the completed scene.
6
+
7
+ Apply one construction technology throughout each repeated family. Distant or instanced assets still need that technology; their timing, duration, and emphasis can be reduced to suit the camera. Validate a representative mechanism before expanding it, then inspect the evaluated distant instances as well as nearby objects.
8
+
9
+ Distribute overlapping activity across the camera's visible regions. Completion of an entire category must not become a global barrier to the next category. A tiny moving detail in the distance does not establish an engaging flow after a dominant foreground event has stopped.
10
+
11
+ ## Vegetation and organic structure
12
+
13
+ Derive branching from actual connectivity, thickness, depth, and attachment points. Reveal the trunk into connected branches and finer growth while retaining the source's seasonal state. Foliage appears only when it belongs to the agreed scene. Each branch should emerge from its own connection; uniform growth of the whole crown does not establish branching construction.
14
+
15
+ Inspect procedural scatter roots, prototypes, collection instances, and supporting geometry together. If the user requests vegetation removal, trace and remove its contributions only from the target scene, preserving shared resources used elsewhere. Establish the requested vegetation-free scene as the new comparison baseline.
16
+
17
+ ## Enclosures and foreground surfaces
18
+
19
+ Ground and enclosing surfaces may use directional geometric reveal when their topology supports it. Moving or scaling a closed enclosure also moves its caps; an apparently safe final boundary can conceal a brief camera obstruction. Inspect the complete trajectory of walls, ceilings, foreground panels, and barriers. Exterior surfaces invisible from the working camera can remain stationary when animating them adds no useful assembly action.
20
+
21
+ ## Floors, roads, and terrain
22
+
23
+ Treat a requested floor reveal as construction of the visible floor surface. Broad strips that finish before the viewer can read them may need smaller floor cassettes or planks. Derive panels from the original surface, carry its UVs and footprint, and place thickness below the finished plane. Seat the local floor before furniture feet or podium supports arrive; a whole-room floor completion barrier is unnecessary.
24
+
25
+ For moving cars, evaluate tire trajectories against the assembled road. Build subgrade and local deck supports ahead of contact while shoulders, markings, railings, and surrounding hills overlap. Ground beyond the asphalt should cover the camera's full travel corridor. Reserve an explicit assembled interval before the cut; exclude vehicle translation, wheel rotation, and camera travel from assembly retiming. Verify that all assembly channels stay settled throughout that interval.
26
+
27
+ Partition an imported landscape by its geological form: valley floor, slopes, cliff beds, and coherent spatial districts. Preserve native face coverage. Rise and settle neighboring districts with overlapping timing; avoid a stack of large floating sheets that blocks the product or camera. Use actual source topography to choose a clear valley for product docking and the camera path.
@@ -0,0 +1,25 @@
1
+ # Product Construction and Closure
2
+
3
+ ## Read the product
4
+
5
+ Study the silhouette, seams, openings, thickness, attachment axes, and available internal space from useful angles. Identify existing internal geometry before adding anything. For an exterior-only model, form a restrained functional construction hypothesis and mark added internals as temporary artistic approximations. An exact engineering reconstruction requires verified references appropriate to that request.
6
+
7
+ Choose internal masses and connections for what the working camera can distinguish. Their positions and dimensions must fit the actual housing profile. Add detail where it makes a connection understandable. Preserve the source product's design and permanent contents.
8
+
9
+ ## Make assembly legible
10
+
11
+ Show functional internal groups before closing the housing. Let neighboring groups approach while the main connection seats. Attached components should move coherently with their support, with local docking timed to the evaluated attachment position.
12
+
13
+ Repeated optical stacks can combine axial approach with turning, but rotation of a perfectly symmetric part may contribute little visible change. Judge the layered gaps and connections in the image.
14
+
15
+ Flexible circuits need an appropriate substrate and attachment direction; conductors and substrate must deform together. Continuous winding should follow the actual path of the temporary component and finish before its connection is covered.
16
+
17
+ ## Keep closure clear
18
+
19
+ Choose housing pivots from their connections and test the full moving surface. A panel can fit in its final position while its rotating edge clips the frame, crosses the camera, or cuts through internal modules. Bound its rotation and approach, and time closure so the important interior action remains readable.
20
+
21
+ When closure obscures construction too early, revise its start, path, pivot, or temporary surface partition. Keep the assembly flow overlapping during the correction. Preserve the final panel shape and position.
22
+
23
+ Check internal fit against the real shell. Thin or curved covers can expose helpers that appear to be contained by their bounding box. Seat or retract temporary internals behind the covering surface before removing them.
24
+
25
+ For transparent housings, hiding helpers still matters even when they are physically inside. Return the native contents and optical appearance at the agreed endpoint. Source surface copies can hand back to native objects by functional family once their shapes and transforms match; ensure that copies and originals never remain visibly doubled.
@@ -0,0 +1,33 @@
1
+ # Verification, Rendering, and Delivery
2
+
3
+ ## Structural and motion evidence
4
+
5
+ Compare protected transforms, geometry, materials, hierarchy, visibility, and camera data against the correctly evaluated baseline. Confirm source face coverage after partitioning and the absence of temporary geometry and instances in the final state. Check the intended empty start across all renderable object types.
6
+
7
+ Inspect repeated families for actual matching construction, including their evaluated instances. Verify deformation reset and absence of returning keys after settlement. Use current projected bounds to locate framing risks, then inspect rendered images for occlusion. Important construction must remain visible while the scene develops.
8
+
9
+ ## Handoff and visual comparison
10
+
11
+ Compare source and assembled states at the same camera, dimensions, display profile, and reference pose. Keep native lighting and materials separate from temporary Solid export settings. Mesh partition boundaries can change cavity or normals; returning native sources after geometric alignment can remove these differences. Inspect the handoff without overlapping both representations.
12
+
13
+ Compare a candidate handoff frame with and without temporary internals. Correct visible exposure before removal. Movement between adjacent frames is not a valid isolated measure of handoff error when the camera or subject is also moving.
14
+
15
+ State pixel differences according to the evidence. Exact agreement between isolated still renders does not prove bitwise identity of the sequential video. Antialiasing, shadow behavior, and caches can differ between those rendering paths. Investigate visible discrepancies and distinguish measured geometric agreement from renderer-dependent image differences.
16
+
17
+ ## Sequential render and review
18
+
19
+ Prefer Blender's native animation rendering mode for a complete sequence when it is substantially faster than separate still renders. Use a current isolated checkpoint for background rendering when that keeps the live application responsive. Confirm that it contains the correct scene, action state, camera, and dependencies.
20
+
21
+ Use one documented Workbench profile for Solid output and its baseline. If large surfaces exhibit Workbench shadow artifacts, inspect the source under that same profile before attributing the defect to assembly. A justified export-profile adjustment must be applied to both comparison renders and must preserve the native scene's lighting setup.
22
+
23
+ Render the full current sequence and inspect actual video playback. Contact sheets and active-curve counts cannot establish smooth rhythm or absence of cached-geometry problems. Check that the main action remains legible, mechanisms appear distinct, and repeated families remain consistent. Confirm the decoded frame when using playback or seek controls.
24
+
25
+ After any relevant revision, regenerate affected outputs and dependent passes. Verify current export logs, frame count, frame rate, duration, dimensions, codec, and decoded media. Keep export parameters separate from animation retiming. File existence alone is insufficient evidence of a fresh successful export.
26
+
27
+ ## Save and transmit
28
+
29
+ Save the agreed result and reopen it to verify scene persistence, active camera, and animation range. Leave the live application in useful shading and respect any frame the user is currently inspecting. Keep intermediate files, backups, and review history outside the deliverable package.
30
+
31
+ Deliver through the user's authorized channel. Reuse authorization already established for the same result and recipient, and never infer another destination from stored project notes. Before transmission verify the exact filename, recipient, and attachment preview. Afterward confirm the delivered file identity and transport status; a correct caption does not prove that the correct attachment was sent.
32
+
33
+ Summarize the visible mechanics, camera changes, duration, preservation evidence, and any unresolved limitation. Identify temporary internal construction as approximate when that affects how the result should be understood.
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: blender-destruction
3
+ description: Create or revise editable building collapse in Blender when masonry must separate into independently simulated bricks, with segmented steel framing and physical glass shards. Use for assembly, failure tuning, native simulation, or delivery of that workflow. For geometry modelled without a collapse use blender-modeling, and for keyframed rather than simulated motion use blender-animation. Exclude isolated mesh fracture, vehicle crashes, bridge failure, and video editing alone.
4
+ ---
5
+
6
+ # Blender destruction
7
+
8
+ Produce an editable collapse whose claimed bricks, steel segments, and glass shards remain independent native rigid bodies. Preserve the requested building, failure mechanism, damage scope, and output format. This package supplies workflow guidance, not a generator, asset library, or physics engine.
9
+
10
+ ## Establish scope and capability
11
+
12
+ Recover scale, protected regions, trigger, fragment budget, material assumptions, seed, timing, and output location from the scene and conversation. Choose ordinary presentation defaults autonomously. Clarify missing information only when it materially changes the subject, failure mechanism, or deliverable. Previous project dimensions, fragment counts, release frames, acceptance tolerances, and solver values are case evidence, not defaults.
13
+
14
+ Read [blender-scene](../blender-scene/SKILL.md) for the local session contract, or load it with `bl_get_skill(name: "blender-scene")`. Check `bl_health` and `bl_get_scene_summary` before edits. Verify the actual Blender executable and version rather than relying on an application name; this workflow was exercised in Blender 5.2.0 with native Bullet. No typed tool covers rigid-body setup, baking or constraints, so the simulation runs through Blender Python; use the typed tools for everything they do reach. Native Blender is sufficient. When an optional fracture runtime is installed, locate its package and read the relevant operation contracts first — its generic fracture operations do not assemble a complete building. Report unavailable capabilities and proceed only through verified alternatives.
15
+
16
+ This server drives a dedicated background Blender process and cannot see an open desktop window. When the user refers to a building they just opened on screen, that file is not the session's file: ask for its path and open it with `bl_open_project`. Save .blend files before disconnecting; unsaved state is lost on reconnect.
17
+
18
+ Save a separate working version and preserve source geometry and manual edits. Keep physical fragments, structural connections, decorative geometry, and effects identifiable. Do not reset an unrelated scene or discard another unsaved project. For compatible revisions, reuse existing fragments and preserve object and mesh identities; retain names, ownership, and settings outside the requested change.
19
+
20
+ ## Route and execute
21
+
22
+ For creating or changing geometry and connections, read [assembly and connections](references/assembly.md). For changing the trigger, tuning physics, recalculating, or diagnosing motion, read [simulation and acceptance](references/simulation.md). For saving calculations, adding effects, composing cameras, rendering, or delivering results, read [presentation and delivery](references/delivery.md). Load only the references required by the selected work.
23
+
24
+ Establish intact stability before accepting collapse. Accept physical motion before deriving effects, and verify saved playback before delivery. Completion requires the requested failure scope, preserved inputs, usable calculation data, the requested preview, and an accurate account of prescribed motion and unresolved checks. Structural collapse, supported rubble, and complete rest are separate claims.
@@ -0,0 +1,23 @@
1
+ # Assembly and Connections
2
+
3
+ ## Independent bodies and preserved sources
4
+
5
+ Give every brick and glass shard claimed as independently simulated its own object and native rigid body. Shared mesh datablocks may reduce memory without coupling motion. Decorative subdivisions, parented children, and concealed animated carriers do not provide independent physics. Report physical counts separately from visible detail.
6
+
7
+ Retain original panels, glazing, and structural components in hidden, identifiable collections. Rebuild only affected geometry and identify manual adjustments that would be lost. Transform shared mesh geometry once per datablock, or make it unique before object-specific edits.
8
+
9
+ ## Collision preparation
10
+
11
+ Use closed fragments with finite coordinates, positive volume, and physically meaningful thickness. Form glazing from irregular planar cells extruded into closed solids. Derive mass from density and actual volume. Model visible steel sections explicitly while recognizing that convex hull collision envelopes may fill their voids.
12
+
13
+ Check initial clearance around beams, masonry headers, glazing, and frame bars before increasing solver quality. Relate margins and gaps to the smallest physical thickness. Overlapping bounding boxes are broad-phase candidates, not proof of collision interference; refine them against the actual collision shapes. Batched environment meshes and irregular glass can have misleading bounds.
14
+
15
+ Batch rigid-body registration when supported and confirm that every body and constraint belongs to the intended world. Copied constraints need independent settings and correct endpoints without duplicate registration. Cache topology checks per unique mesh and restrict contact searches spatially.
16
+
17
+ ## Load paths and connection roles
18
+
19
+ Construct explicit load paths through foundations, columns, girders, slabs, masonry anchors, and glazing mounts. Treat mortar, facade ties, frame brackets, frame corners, glass seams, and structural steel as distinct connection groups. A stable core does not establish stable windows. Connect neighboring shards and frame corners where needed to retain intact glazing until failure.
20
+
21
+ For unstable masonry with verified clearance, inspect missing support and local solver convergence. Additional breakable ties may connect masonry to actual same-level steel or slab surfaces. Their placement and strength must follow the current assembly; added stability can also create unintended support across a planned demolition cut.
22
+
23
+ Blender breaking thresholds are constraint impulse limits, not calibrated material strengths in pressure units. Segmented steel with angular springs approximates flexing and separation, not continuum plastic deformation. Keep collision exclusions deliberate and local; broad suppression can conceal assembly defects.
@@ -0,0 +1,29 @@
1
+ # Presentation and Delivery
2
+
3
+ ## Native calculation and evidence
4
+
5
+ Keep prepared geometry and calculated presentation as separate versions. Blender has one active rigid-body world cache per scene. Use a distinct run destination and record the actual version and build, frame range and rate, solver settings, trigger schedule, body inventory, and cache representation.
6
+
7
+ If an optional fracture runtime is driving the simulation, confirm that its world ownership and fragment inventory cover the entire intended assembly before choosing its bake operation. Do not fabricate ownership tags or discard a foreign world to bypass compatibility checks. For other native assemblies, preserve their world and use verified Blender controls to save its cache and record evaluated transforms for every relevant body.
8
+
9
+ In the tested Blender 5.2 workflow, a complete sequential native calculation was frozen through bpy.ops.ptcache.bake_from_cache without a second simulation. Verify operator availability, supply the intended scene and point-cache context, and confirm complete cache coverage and baked state before adopting this path elsewhere. Avoid redundant writes to PointCache.use_disk_cache after saving: the inspected runtime records a crash from assigning an already-false value in its tested 5.2 build. Change cache mode only when needed, before calculation, and verify the running version's behavior.
10
+
11
+ Stream evaluated transforms during large calculations, identify incomplete archives distinctly, and mark them complete only after the entire range succeeds. Keep only needed samples in memory for diagnosis. A transforms archive supports evidence and effects; it is not the solver cache. Do not claim external rigid-body cache files merely because a cache path was assigned.
12
+
13
+ For an already baked scene without an archive, recover baseline poses from its existing native cache before editing and label the record as recovered evidence. Do not recalculate solely to fit a helper. Record enough file identity and settings to associate later checks with the actual accepted calculation.
14
+
15
+ ## Presentation without physical changes
16
+
17
+ Add dust after accepting the motion. Derive its timing and location from measured masonry or concrete movement and deceleration, excluding glass and steel as dust emitters. These estimates are not native contact events. Distinguish authored cloud growth and drift from gas simulation, and replace owned effects without duplication.
18
+
19
+ Frame the actual breakup, exposed steel, flying shards, and landing area. Inspect intact, onset, collapse, and aftermath renders before committing to the full sequence. Keep dust from masking unresolved support or failed collapse. Compare physical settings, geometry identities, evaluated poses, and baked state before and after presentation edits.
20
+
21
+ Inspect glass in the selected renderer. Check material-level refraction and scene tracing capabilities instead of assuming a transmission value is sufficient. The tested Eevee configuration retained speckling even with more samples. A denoised Cycles render resolved it; disclosed alpha-blended glass without physical refraction was also usable for a fast preview. Treat that as a conditional rendering fallback, preserve the saved transmission material, and leave physics unchanged. Measure representative render times before committing to a renderer or parallel jobs.
22
+
23
+ ## Saved and encoded verification
24
+
25
+ Reopen the exact final project in a separate Blender process with automatic script execution disabled. Compare evaluated poses for all physical bodies against the matching archive after nonsequential frame visits. Confirm baked state, source preservation, body inventory, and absence of unintended transform animation or parenting. Associate reports with file hashes; historical checks from another revision do not validate the delivered file. Repeat affected verification after later changes.
26
+
27
+ When an animated preview is requested, render the complete range, encode it, and decode the finished movie fully. Check frame count, rate, dimensions, and duration, then inspect decoded images around onset, impact, and the ending. Encoding success alone is insufficient. Parallel jobs require disjoint frame ranges and separate progress records. Resume only frames known to belong to the same accepted project and render settings.
28
+
29
+ Deliver usable links to the editable project, requested preview, and actual cache or an embedded-cache explanation. State what was simulated, prescribed, or approximated, which checks passed, and material limitations such as continuing settling or simplified preview glass. Preserve provenance and license notices when distributing reused runtime source. Open the project without discarding another unsaved scene.