Skip to content

Prepare FutolStructure public launch#5

Merged
michaelfutol merged 11 commits into
mainfrom
recovery/fs-clean-reapply-offsets
Jul 12, 2026
Merged

Prepare FutolStructure public launch#5
michaelfutol merged 11 commits into
mainfrom
recovery/fs-clean-reapply-offsets

Conversation

@michaelfutol

@michaelfutol michaelfutol commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • publish the current FutolStructure workbench and portfolio-grade README
  • add Vercel deployment configuration, metadata, security headers, robots, and sitemap
  • add repository validation CI, contribution templates, security policy, and source license
  • preserve engineering-scope warnings and keep experimental browser API-key assistants disabled
  • merge the current main documentation update and resolve the former PR conflict

Validation

  • node v3/tools/check-fs.js --no-browser
  • full browser smoke: pass
  • GitHub Actions Static and engine smoke: pass
  • GitGuardian: pass
  • Vercel preview deployment: Ready
  • secret-pattern and tracked private-engineering-artifact scans: no matches

Deployment

claude and others added 9 commits April 12, 2026 19:26
…ve/load data loss

Phase 1 stabilization before modularization:

- Remove 8 duplicate function definitions (finishBeamDraw, toggleSlabVoid x2,
  getFloorCustomBeams, generateETABSContent, exportToETABS, generateIFCGUID,
  generateIFCContent, exportToIFC) — kept last (active) definition of each
- Remove misplaced IFC material code injected inside init3D() by upgrade script
  that caused ReferenceError on nid/ifc/ownerHistoryId, breaking 3D view entirely
- Fix save/load data loss: saveProject() now serializes per-floor cantilevers,
  customBeams, voidSlabs, deletedBeams, deletedColumns, lockedBeams, lockedSlabs;
  loadProject() initializes missing fields for backward compat with old saves
- Rename first ETABS/IFC generator blocks to _superseded_*_v1 (dead code, kept
  for reference until Phase 2 cleanup)

https://claude.ai/code/session_017DPBHvPnz7ubhZozZUn6Sx
- Add deletedColumns, lockedBeams, lockedSlabs to addFloor(),
  toggleGFSuspended(), and resetProject() floor creation paths
  to match authoritative floor shape in state init and save/load
- Eliminate temporary state.cantilevers swap-and-restore pattern
  from calculate() per-floor loop, display regeneration, and
  STAAD export by threading floor cantilevers explicitly through
  generateBeams() → generateCantileverBeams(floorCantilevers)
- This removes the failure mode where an exception inside the
  calculate loop would leave state.cantilevers permanently wrong

https://claude.ai/code/session_017DPBHvPnz7ubhZozZUn6Sx
Extract 9 pure structural calculation functions from the monolith into
engine/loads.js (IIFE pattern, zero DOM deps, zero state refs). Replace
all 10 inline call sites with thin delegating wrappers via getLoadParams().
Add createFloor() factory used at all 4 floor creation sites, fixing
missing wallLoad field in addFloor() and toggleGFSuspended(). Add
dumpStateSnapshot() for regression checking.

https://claude.ai/code/session_017DPBHvPnz7ubhZozZUn6Sx
@vercel

vercel Bot commented Jul 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
futolstructure Ready Ready Preview, Comment Jul 12, 2026 9:30pm

@michaelfutol michaelfutol changed the title [codex] publish FutolStructure v3 structural export baseline [codex] prepare FutolStructure web launch Jul 12, 2026
@michaelfutol michaelfutol changed the title [codex] prepare FutolStructure web launch Prepare FutolStructure public launch Jul 12, 2026
@michaelfutol
michaelfutol marked this pull request as ready for review July 12, 2026 21:31
@michaelfutol
michaelfutol merged commit 6e57202 into main Jul 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants