Adds OcclusionPolicy resource and wires it into IsometricFollowCamera. Each _process frame, iterative rays from the camera eye to the player focus detect bodies tagged "occluder"; their MeshInstance3D surfaces are overridden with a transparent StandardMaterial3D (fade_alpha=0.25, instant). Materials restore when the body clears the ray. Null-material surfaces (e.g. the prototype Obstacle with no material assigned) receive a plain transparent StandardMaterial3D so they fade correctly. - client/scripts/occlusion_policy.gd — new Resource (enabled, fade_alpha, occluder_group, occluder_collision_mask, max_occluder_cast_depth, occluder_count_log_threshold, is_valid) - client/resources/isometric_occlusion_policy.tres — default instance - client/scripts/isometric_follow_camera.gd — occlusion_policy export, _update_occlusion pipeline, _apply_occluder_fade/_restore_occluder helpers, static occlusion_policy_is_valid guard, _exit_tree cleanup - client/scenes/main.tscn — Obstacle tagged "occluder", policy assigned - client/test/occlusion_policy_test.gd — new GdUnit4 unit tests - client/test/isometric_follow_camera_test.gd — policy guard static tests - docs/decomposition/modules/E1_M2_IsometricCameraController.md — NEON-27 snapshot + readability demo gate note - docs/plans/NEON-27-implementation-plan.md — null-material decision recorded |
||
|---|---|---|
| .. | ||
| epics | ||
| milestones | ||
| modules | ||
| tooling | ||
| README.md | ||
README.md
Decomposition Workspace
This workspace contains detailed planning artifacts derived from the finalized master plan:
- Source of truth:
neon_sprawl_vision.plan.md— design axioms (fun + distinctly cyberpunk theme) live under Design axioms (governing) in that file. - Tech stack baseline:
docs/architecture/tech_stack.md - Scope here: executable decomposition (epics, modules, milestones)
Folder Layout
epics/- One file per player-facing epic (E1–E9) with implementation slices.tooling/- Cross-cutting operator tracks (e.g. content authoring) that are not numbered with the nine core epics; same slice style, separate CT.* module IDs.modules/- Contract definitions, client vs server authority, PvP × combat engine, quest scope × party, data reload × telemetry ops, docs vs implementation, full module dependency register (E1–E9 and CT modules), per-module docs, and interface notes.milestones/- Phase-gated implementation tracks and pass/fail checklists.
Working Rules
- Do not rewrite baseline vision in these files; link back to the master plan.
- Keep slices backlog-ready (clear owner, dependencies, acceptance criteria).
- Use stable IDs (
E1,E1.M1, etc.) for core game epics; useCT.M1-style IDs for content tooling so tooling stays out of the E1–E9 sequence. - Every new slice must reference telemetry and validation where applicable.
Jira alignment
Engineering work is tracked as Stories (or Tasks / Bugs when appropriate) under Epics. Do not create Jira Feature issues for module- or slice-level grouping—that middle tier is not used.
Express that grouping with labels on the story instead (for example the decomposition module id — E1.M1, CT.M2, etc. — or other labels the team maintains in Jira). The story still belongs to the Epic as today; labels carry what used to be “feature + labels on stories,” without a separate Feature work item.
Epic files (E1–E9, master plan)
| Epic | Document |
|---|---|
| 1 - Core Player Runtime | epics/epic_01_core_player_runtime.md |
| 2 - Skills and Progression Framework | epics/epic_02_skills_and_progression.md |
| 3 - Crafting Economy | epics/epic_03_crafting_economy.md |
| 4 - World Topology | epics/epic_04_world_topology.md |
| 5 - PvE Combat | epics/epic_05_pve_combat.md |
| 6 - PvP Security | epics/epic_06_pvp_security.md |
| 7 - Quest / Faction | epics/epic_07_quest_faction.md |
| 8 - Social / Guild | epics/epic_08_social_guild.md |
| 9 - LiveOps / Integrity | epics/epic_09_liveops_integrity.md |
Template for new epics or major revisions: epics/_epic_template.md
Cross-cutting tooling (not E1–E9)
| Track | Document | Modules (register) |
|---|---|---|
| Internal authoring & content pipeline | tooling/internal_authoring.md | CT.M1–M3 |
Next Actions
- Expand slices into stories under epics; tag module / slice scope with labels (not Jira Features). Keep module IDs aligned with the master plan.
- Populate
modules/module_dependency_register.mdas contracts stabilize. - Refine
milestones/phase_execution_plan.mdwith dates and owners when execution starts.