Skip to content

History / zone_painter_ui_stories

Revisions

  • zone_painter stories: one editable zone per .max is by design State M11b eligibility and footprint policy as intentional product model (material/special/continent), not an incomplete union of every RklPatch. Co-Authored-By: Grok 4.5 <noreply@x.ai>

    @kaetemi kaetemi committed Jul 23, 2026
  • zone_painter stories: footprint source of truth is the .max, not .ligozone Clarify that board masks are derived exporter-identically from the eligible paint zone (export product model), and that .ligozone is only an optional cross-check of a prior export — never a dependency for authoring. Co-Authored-By: Grok 4.5 <noreply@x.ai>

    @kaetemi kaetemi committed Jul 23, 2026
  • zone painter: locked/unlocked board cells in the eco story

    @kaetemi kaetemi committed Jul 22, 2026
  • zone painter: eco board story refined + M24a-d implementation status

    @kaetemi kaetemi committed Jul 22, 2026
  • zone painter: painterscript M23d surface, unit-drift context handling

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: painterscript implemented (M23a-c) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: painterscript — MaxScript-like Lua scripting Seven user stories (recorder-as-reference, TA batching, power-user board composition, deterministic fixtures, prototyping REPL, MaxScript familiarity in honest Lua, pump for long scripts) plus design pins: single op layer, recorder instruments the shared handlers, 100ms-gated pumpUI, headless CLI, byte-gate equivalences. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: rollout visibility is mode-gated Correction: non-applicable rollouts are fully hidden per mode, not collapsed-but-present; collapse state of visible rollouts is remembered. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: rollout panel via container tree Painter panel becomes a Max-style rollout column using the NLGUI container-tree idiom (sample Contacts window): collapsible per-section headers, scrollable parent, mode-driven default open states with free user override. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: Prop editing mode Fourth mode: Max-style zone selection (thin hover outline, thick silhouette on selection, editable zones only) with a panel section editing the per-zone export appdata (rotate/symmetry/passable/ use-bounding-box) plus live footprint re-derivation, dirty tracking, and unified undo/redo. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: neighbor hints are one offset-tracked appdata list Variable-length (dx,dy -> basename) pairs relative to the footprint origin in a single versioned appdata entry — multi-cell zones have more or fewer than 8 adjacent positions, so no fixed slot count. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: neighbor hints replace embedded boundary copies Board sessions never display the legacy embedded frozen neighbor copies (stale snapshots that clash with board-selected real files); they become name hints instead. New appdata stores the session's loaded-neighbor basenames on save, taking priority over the legacy copies — reopening a zone restores the working set it was painted against, including for ecosystem bricks. No reliance on build outputs anywhere. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: toolbar drags by a left-edge grip Ryzom client toolbar idiom (hands/gestem bar): slim vertical grip on the left edge instead of a top title bar. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: top toolbar layout decision 3ds-Max-style horizontal toolbar with square text buttons — board/save, undo/redo, mode switches, season with context-menu selection — moves the global actions out of the right panel; the panel keeps the current-mode editing functions. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: instance transforms pivot on the footprint block Rotation/mirror of a placed instance are relative to the whole W x H block of cells the brick occupies, not the geometry AABB center — a rotated non-square brick occupies the transposed block on grid-aligned cells. Current implementation pivots on the AABB center, which only coincides for square-filling bricks; fix queued. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: fringe cells are edge-adjacent only, no diagonals A diagonal contact alone doesn't decide a ligo border type, so the board's empty-fringe rule drops diagonal neighbors. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: board as session hub, exporter-faithful eligibility The grid board becomes the persistent working-set screen: viewer can return to it, cells carry live open/dirty state with per-zone save and close. Multi-zone .max files contribute only exporter-selected zones. Instancing moves onto the board with per-instance rotation/mirroring (assembling transformDesc/symVector); the fixed NxN self-tile layouts are retired as a stopgap. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 22, 2026
  • Zone painter stories: embedded .max thumbnails + grid browser design Verified the OLE SummaryInformation PIDSI_THUMBNAIL DIB in the .max containers; browsers read it for always-current previews and the painter writes a top-down render back on interactive saves (CLI stays byte- identical by default). Grid browser decided as a minesweeper-style board: square cells, both-axis scroll, used cells plus adjacent empty fringe. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 21, 2026
  • Zone painter artist user stories: current tool + immersive UI flow Design narrative complementing pipeline_max_design.md §14-paint: how the interim keyboard+HUD tool is used today, the reimagined in-engine editor flow (zero-arg startup, ecosystem/continent selection, season toggling, grid browsers, ligo multi-cell footprint model with self-instancing), and grounding of each capability against the existing paint core, including where the ligo footprint is stored (.ligozone size + mask). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZwWn4fzYVwLpcZpC8y37X

    @kaetemi kaetemi committed Jul 21, 2026